kaggle——房价预测项⽬
Exploratory Data Analysis and Predictions
of Hou Price
作业完成⼯具与环境:win10+anaconda3+pycharm2018+jupyter notebook(Python3)
前⾔:
刚接触python不久,之前在国科⼤接触过模式识别,对⼀些机器学习知识有⼀个概念,现在回所后在做基于相关滤波的传统⽅法的⽬标跟踪,其中判别式的⼀个算法,也是我现在刚刚完成改进的⼀个算法,对于数据特征的处理中使⽤到了岭回归,PCA特征降维+QR分解,随机森林等知识,碰巧⽼师的作业与这些都有关系,相当于⽼师给我们提供了新的锻炼机会,看了Pedro Marcelino⼤神的思路与评论的交流,赶紧注册Kaggle下载了训练与验证数据,开始体验机器学习⽅法在房价预测中的使⽤,同时也是站在巨⼈的肩膀上⼀边学习⼀边思考这些数据处理筛选与模型建⽴训练过程中,机器学习⽅法的使⽤与融合处理,以及效果的提升。
虽然没有做过之类的练习,但是通过⽼师给的例程也⼤概了解到,机器学习的任务从开始到建模的⼀般流程是:获取数据 -> 数据预处理 ->训练建模 -> 模型评估 -> 预测,分类。我也是依据传统机器学习的
流程,看看在每⼀步流程中都有哪些常⽤的函数以及它们的⽤法是怎么样的,通过显⽰的图⽚效果,算法处理,Cross Validation等思想,来体会学习如何得到想要的结果。
下图简述⼀下本作业主要的思路:
代码+分析
1、数据理解与概览(可视化):
⾸先导⼊需要的模块与读路径找到需要的数据(训练集与测试集)
代码中显⽰⼀下前五个数据,⼤致浏览了解⼀下具体影响房价的因素,(可以看到有多少个因素影响房价,ID+Price is included,实际上79个),然后在操作前了解⼀下数据的size,
了解数据类型:(可以看到有object,float64,int64等类型)
了解数据的分布情况:
描述性数据总结直⽅图:
之前代码没有加,但是数据可视化⽐较有启发性,现在根据数据类型加个指令观察⼀下数据与sale price的关系:
上图是CentraAir,应该是中央空调的意思,看起来有⽆中央空调还是影响房价的;
上图是OverallQual,我感觉应该是整体Quality?,那么显然是与房价正相关的;
上图YearBuilt,显然修建时间也与房价有很⼤的关系;
把箱形图换成散点图观察⼀下:
数据观察起来就是这个样⼦,不赘述了。
2、数据清洗:
移除Id列以便于处理数据:
下⾯处理重要的数据特征,这⾥统计⼀下null数据的Frequency:
接下来整合数据以便下⼀步计算,把sale price拿出来,可以看到剩下的79个影响房价的因素,显⽰⼀部分观察⼀下: