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

运行后得出线性回归图: