1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性

机器学习——回归

回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。这些模型被叫做线性模型。最常用的线性回归建模是给定X值的y的条件均值是X的仿射函数。不太一般的情况,线性回归模型可以是一个中位数或一些其他的给定X的条件下y的条件分布的分位数作为X的线性函数表示。像所有形式的回归分析一样,线性回归也把焦点放在给定X值的y的条件概率分布,而不是Xy的联合概率分布。

 

 

回归算法:

回归是统计学中最有力的工具之一,机器学习监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续形而定义的。回归算法用于连续型分布预测,针对的是数据类型的样本,使用回归,可以在给定输入的时候预测出一个数值,这是对分类方法的提升,因为这样可以预测连续型数据,而不仅仅是离散的类别标签。

线性回归

线性回归通过一个或多个自变量与因变量之间进行建模的回归方法,其中可以为一个或者多个自变量之间的线性组合。

 

 

 

 

 

 

 

线性回归模型经常用最小二乘逼近来拟合,但他们也可能用别的方法来拟合,比如用最小化拟合缺陷在一些其他规范里(比如最小绝对误差回归),或者在桥回归中最小化最小二乘损失函数的惩罚.相反,最小二乘逼近可以用来拟合那些非线性的模型.因此,尽管“最小二乘法线性模型是紧密相连的,但他们是不能划等号的。

 

 

 

 

 

 

 

 

2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)

     用身高预测体重、对房价的预测、判断信用评价、电影票房预估、瓜的好坏程度、预测学生成绩

 

 

3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)

import numpy as np

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression

from sklearn.metrics import mean_squared_error, r2_score

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 用来正常显示中文标签

plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

 

# 读取数据

data = np.loadtxt('ex1data1.txt', delimiter=',')

data_X = data[:, 0]

data_y = data[:, 1]

 

# 训练模型

model = LinearRegression()

model.fit(data_X.reshape([-1, 1]), data_y)

 

# 利用模型进行预测

y_predict = model.predict(data_X.reshape([-1, 1]))

 

# 结果可视化

plt.scatter(data_X, data_y, color='black')

plt.plot(data_X, y_predict, color='red', linewidth=3)

plt.xlabel('城市人口')

plt.ylabel('食品经销商利润')

plt.title('线性回归——城市人口与食品经销商利润的关系')

plt.show()