1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性
机器学习的分类:
回归算法概括:
回归与分类的区别:
线性关系的概念:
一些常用到的方程或函数:
课堂示例的代码:
import random
import matplotlib.pyplot as plt
xs = [0.1*x for x in range(0,10)]
ys = [12*i+4 for i in xs]
print(xs)
print(ys)
w = random.random()
b = random.random()
a1=[]
b1=[]
for i in range(50):
for x,y in zip(xs,ys):
o = w*x + b
e = (o-y)
loss = e**2
dw = 2*e*x
db = 2*e*1
w = w - 0.1*dw
b = b - 0.1*db
print('loss={0}, w={1}, b={2}'.format(loss,w,b))
a1.append(i)
b1.append(loss)
plt.plot(a1,b1)
plt.pause(0.1)
plt.show()
2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)
(1)机场客流量分布预测
(2)音乐流行趋势预测
(3)需求预测与仓储规划方案
(4)货币基金资金流入流出预测
(5)电影票房预测
(6)农产品价格预测分析
(7)学生成绩排名预测
(8)中国人口增长分析
(9)收入增长预测
(10)股价走势预测
3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)
##加载所需函数
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
## 加载boston数据
boston = load_boston()
X = boston['data']
y = boston['target']
names = boston['feature_names']
## 将数据划分为训练集测试集
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2,random_state=125)
## 建立线性回归模型
clf = LinearRegression().fit(X_train,y_train)
print('建立的LinearRegression模型为:','
',clf)
## 预测训练集结果
y_pred = clf.predict(X_test)
print('预测前20个结果为:','
',y_pred[:20])
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['font.sans-serif'] = 'SimHei'
fig = plt.figure(figsize=(10,6)) ##设定空白画布,并制定大小
##用不同的颜色表示不同数据
plt.plot(range(y_test.shape[0]),y_test,color="blue", linewidth=1.5, linestyle="-")
plt.plot(range(y_test.shape[0]),y_pred,color="red", linewidth=1.5, linestyle="-.")
plt.legend(['真实值','预测值'])
plt.show() ##显示图片