Python与数据挖掘(一)——线性回归
线性回归模型公式.png权重W和常数项b是待确定的。这意味着将输入的自变量按一定比例加权求和,得到预测值输出。
零、知识补充
1、Python有强大的第三方扩展模块sklearn,实现了绝大部分的数据挖掘基础算法
2、在sklearn已包含了本问题需要的数据集
一、算法推导
假设X(m*n)代表m个样本,n维特征的数据对应的矩阵。通常我们会在其最后一列添加一列全为1的向量,以对应上述公式中提到截距。
算法推导.png二、算法实现(波士顿房价预测问题)
import numpy as np #以np的名字导入nump模块,处理矩阵
import matplotlib.pyplot as plt #此模块用于绘图
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
boston=load_boston()
print(boston.keys()) #result:dict_keys(['data', 'target', 'feature_names', 'DESCR'])
print(boston.feature_names)
#result:['CRIM' 'ZN' 'INDUS' 'CHAS' 'NOX' 'RM' 'AGE' 'DIS' 'RAD' 'TAX' 'PTRATIO' 'B' 'LSTAT']
x=boston.data[:,np.newaxis,5] #添加新维度
y=boston.target
lm=LinearRegression()#声明并初始化一个线性回归模型的对象
lm.fit(x,y) #拟合模型或称为训练模型
plt.scatter(x,y,color='green') #显示数据点
plt.plot(x,lm.predict(x),color='blue',linewidth=3) #画出回归直线
plt.xlabel('Average number of Rooms per Dwelling(RM)')
plt.ylabel('Housing Price')
plt.show()
网友评论