机器学习中有一句名言:数据和特征决定了机器学习的上限,而模型和算法的应用只是让我们无限逼近这个上限。如果不能深刻了解数据特征,将无法建立更精准的机器学习模型或算法,也就不能帮助我们获取最优的学习结果。因此想要更好的了解数据特征,我们便需要在数据分析前期对数据进行大量的预处理和特征分析工作。本节我们将从数据预处理和可视化查看数据特性来重点介绍波士顿房价数据的特征,进而为接下来模型的设计建立基础。
从上一节使用Linear Regression方法对波士顿房价数据进行的预测,我们已经大概了解到房价数据的基本特征。
我们要直观了解该数集的规模和属性数目,需要借助.shape方式进行查看,将以元组形式直接返回数据集特征。并且查看其房价分布情况。(以美元为单位)
需要了解的是,在numpy中对于方差的计算公式如下是不同于数学中的计算方式。通过.var方式可以获得整个特征数据的方差矩阵,进而查看不同特征的分布情况。
从上述对房价数据的基本数据分析结果来看,这13个属性特征取值显然不在同一个范围中,比如黑人比例和房屋不动产比例都在300左右,而城市犯罪率和环保比例却很小。当某些特征的样本取值相差甚大时,会导致预测效果变差。因此在分析过程中就需要将数据进行归一化或标准化处理。
在具体操作中,可以忽略特征数据的分布形状,移除每个特征均值,划分离散特征的标准差,从而等级化,进而实现数据中心化。这样更有利于进行进一步分析。
为了更直观的了解每个特征是否与房价有直接相关关系,我们将借助可视化技术进行属性与房价的直观展示。
从可视化结果可以看出,第6个和第8个等属性与房价有明显的正相关性,而第1个、第7个、第13个等属性与房价有明显的负相关性,因此在具体建模中,可以重点抽取这几个特征,将能提高预测结果。
明确数据特性后,我们将在下次分享中,通过机器学习对于不同的特征增加不同的权重,尽可能解决多属性线性相关问题,而且将介绍其他相关模型。以第一个属性实现为例:
网友评论 ()条 查看