简单线性回归
步骤:
1、读取数据
2、画出散点图,求x和y 的相关系数:plt.scatter(x,y),x和y是dataframe
3、估计参数模型,建立回归模型:lrModel=LinearRegression()
4、训练模型: lrModel.fit(x,y)
5、对回归模型进行检验: lrModel.score(x,y)
6、利用回归模型进行预测: lrModel.predict()
1 import numpy 2 from pandas import read_csv 3 from matplotlib import pyplot as plt 4 from sklearn.linear_model import LinearRegression 5 6 data=read_csv( 7 "C:\\Users\\Jw\\Desktop\\python_work\\Python数据挖掘实战课程课件\\4.1\\data.csv") 8 9 #第二步,画出散点图,求x和y 的相关系数 10 plt.scatter(data.广告投入,data.销售额) 11 12 data.corr() 13 14 #第三部,估计模型参数,建立回归模型 15 lrModel=LinearRegression() 16 17 x=data[["广告投入"]] #一个[]是series,两个是dataframe 18 y=data[["销售额"]] 19 20 21 #训练模型 22 lrModel.fit(x,y) 23 24 25 #第四步,对回归模型进行检验 26 lrModel.score(x,y) 27 28 #第五步,利用回归模型进行预测 29 lrModel.predict([[50],[40],[30]])
同时还可以看截距与斜率:
alpha=lrModel.intercept_[0]
beta=lrModel.coef_[0][0]
alpha+beta*numpy.array([50,40,30])
多重线性回归
步骤:
1、读取数据
2、建模
3、训练模型
4、评分
5、预测
1 import pandas; 2 import matplotlib; 3 from pandas.tools.plotting import scatter_matrix; 4 5 data = pandas.read_csv( 6 'D:\\PDM\\4.2\\data.csv' 7 ) 8 9 font = { 10 'family' : 'SimHei' 11 } 12 matplotlib.rc('font', **font) 13 14 scatter_matrix( 15 data[["店铺的面积", "距离最近的车站", "月营业额"]], 16 figsize=(10, 10), diagonal='kde' 17 ) 18 19 data[["店铺的面积", "距离最近的车站", "月营业额"]].corr() 20 21 x = data[["店铺的面积", "距离最近的车站"]] 22 y = data[["月营业额"]] 23 24 from sklearn.linear_model import LinearRegression 25 #建模 26 lrModel = LinearRegression() 27 #训练模型 28 lrModel.fit(x, y) 29 #评分 30 lrModel.score(x, y) 31 #预测 32 lrModel.predict([10, 110]) 33 34 lrModel.predict([[10, 110],[20, 110]]) 35 36 #查看参数 37 lrModel.coef_ 38 39 #查看截距 40 lrModel.intercept_