Python机器学习算法与实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 机器学习模型初探

针对待分析的数据集,利用机器学习算法进行建模和分析的步骤其实也很固定,下面先来看一个实际的机器学习应用案例。

假设房子的价格只跟面积有关,表1-1给出了一些房子的面积和价格之间的数据,请计算出40㎡的房屋价格。

表1-1 面积与价格数据

可以先将数据的分布情况利用散点图进行可视化,分析面积和价格之间的变化关系,如图1-20所示,两者之间可以使用一个线性关系进行表示,即y=ax+b

图1-20 房屋面积和价格关系图

针对该数据分布情况和所提出的问题,可以使用下面的程序进行建模和预测。

运行程序后,可获得当房子面积为40m2时,模型的预测值为79.59645966,即价格约为79.59万元。预测值在数据中的位置分布如图1-21所示。

图1-21 房屋价格的模型预测情况

以上是对一元线性回归的实现方法。但在现实中,房价的影响因素太多,不仅跟面积有关,还跟地理位置有关,跟小区容积率等也有关,这就要用到多元线性回归进行拟合。更复杂的机器学习案例,将会在后面的章节中一一介绍。

在机器学习中,常用的学习方法除了一元线性回归、多元线性回归模型,还有逻辑回归、聚类、决策树、随机向量、支持向量机、朴素贝叶斯等模型,这些模型的使用步骤基本类似,步骤如下:①数据预处理和探索;②数据特征工程:③建立模型;④训练模型;⑤模型预测;⑥评价模型。

如上面针对房屋价格预测的一元线性回归模型,就是经过了5个步骤。

(1)数据预处理和探索:即整理数据,将数据处理为适合模型使用的数据格式。

(2)建立模型:利用model=LinearRegression()建立线性回归模型。

(3)训练模型:model.fit(x,y)。

(4)模型预测:model.predict([[a]])。

(5)评价模型:利用可视化方式直观地评价模型的预测效果。

在实际的机器学习模型应用过程中,数据预处理和探索、数据特征工程这两部分是工作量最大的,所以在机器学习的模型使用过程中,将对数据进行充分理解、将数据整理为合适的数据格式,以及从数据中提取有用的特征,往往消耗大量的时间,最后就是对建立的模型进行有效评估。后面的章节都是围绕这些问题进行展开介绍的。