1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性
线性回归是用一个直线描述数据之间的关系,然后再根据直线的趋势来进行预测,比如当我们知道x值的时候,就能够预测出他的y值。
2.思考线性回归算法可以用来做什么?
最近出了一款新游戏叫《集合啦!动物森友会》,游戏里面有一种农作物大头菜的售价每天都会发生变化,我们利用线性回归可以分析购入与售卖的关系,从而来预测大头菜的价格。(其实已经有玩家做出了许多预测工具了,下图是其中的一种)
3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)
还是跟上次作业一样,选择使用二手车价格和已行驶里程数这两个数据,先从网上爬下来的csv文档中选取数据:
下面列出具体代码:
import pandas as pd import matplotlib.pyplot as plt import numpy as np # 线性回归分析 car = pd.read_csv('./data/201706120189翟梓乐.csv') #获取二手车的价格行驶里程,转换Series为ndarray x = car['价格/万'].values y = car['行驶里程/万公里'].values x = x.reshape(len(x),1) y = y.reshape(len(y),1) #导入Sklearn机器学习扩展包中线性回归模型,然后进行训练和预测 from sklearn.linear_model import LinearRegression clf = LinearRegression() clf.fit(x,y)# 拟合分类器模型 pre = clf.predict(x)# 预测x的值 plt.scatter(x,y,s=100)# 绘制散点图 plt.plot(x,pre,'r-',linewidth=4)# 画出x预测值的直线 for idx, m in enumerate(x): plt.plot([m,m],[y[idx],pre[idx]], 'g-') plt.show() plt.savefig("xianxinghuigui.png") #对该算法进行评估 print(u"系数", clf.coef_)# 计出系数 print(u"截距", clf.intercept_)# 基础截距 print(np.mean(y-pre)**2) print(clf.predict([[60.0]]))# 根据价格x预测出行驶里程y
运行后得出线性回归图: