什么是行业网站?,主流的网站建设的软件有哪些,房产网站推广方法,京津冀协同发展英语机器学习之线性回归算法预测数据 目录 机器学习之线性回归算法预测数据线性回归算法概念理解算法导入线性回归模型参数理解误差项分析 LinearRegression理解参数理解返回值方法基本格式 预测一元线性回归数据问题及理解可视化数据理解数据预测 预测二元线性回归数据问题及理解数…机器学习之线性回归算法预测数据 目录 机器学习之线性回归算法预测数据线性回归算法概念理解算法导入线性回归模型参数理解误差项分析 LinearRegression理解参数理解返回值方法基本格式 预测一元线性回归数据问题及理解可视化数据理解数据预测 预测二元线性回归数据问题及理解数据测试 预测多元线性回归数据问题及理解数据测试 线性回归算法 概念
线性回归线性回归是利用数理统计中回归分析 来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
理解
有n个特征数据与数据结果有关根据历史数据训练出线性回归模型给定数据预测结果。自变量为特征数据因变量为数据结构。
算法导入
from sklearn.linear_model import LinearRegression线性回归模型 一元线性回归 公式 多元线性回归 公式
参数理解 x可以理解为特征数据y为要求的结果数据线性回归只能求回归值只能是数字结果。
误差项分析
误差项可以省略吗? 误差项不可省略误差是必然产生的。并且由于产生了误差项我们便可以基于误差的特点来进行对线性回归的参数估计的。误差项有什么特点? 独立同分布。 每个样本点都是独立的在同一个分布函数下。 例贷款每个人与每个间是没有联系的贷多少钱完全基于你的工资和其他情况是独立的同分布就是我的这套估计体系是我人民银行的估机体系也就是说每个样本点是在同一个分布函数下。
LinearRegression理解
查看LinearRegression参数定义
def __init__(self,*,fit_interceptTrue,normalizedeprecated,copy_XTrue,n_jobsNone,positiveFalse,)参数理解
fit_intercept是否有截距是否过原点normalize是否归一化归一化就是每个数据特征占比相同copy_X是否复制x数据n_jobs任务个数占比CPU-1代表所有
一般不用设置默认就可。
返回值
intercept截距β0 (l.intercept_[0],2) coef系数也就是β (l.coef_[0][0],2),如果有多个系数更改第二个[0],为相应顺序索引从0开始第二个为(l.coef_[0][1],2),。 方法
fit(x,y)训练模型x为特征数据y为结果 score(x,y)拟合度x,y为已知的数据及结果计算fit()模型与数据的拟合度在[0,1]间趋于1优趋于0劣predict([[]数据])预测数据结果括号内为二维数组corr()数据相关系数判断,若特征数据与数据结果的相关系数的绝对值为r则 r0.8高度相关0.5r0.8中度相关0.3r0.5低度相关r0.3相关度极弱可以视为不相关
基本格式
** l LinearRegression() x特征数据 y数据结果 l.fit(x,y) result l.predict(x1)** 先引用LinearRegression函数根据历史特征数据和数据结果训练fit()模型然后预测x1的回归结果result
预测一元线性回归数据 问题及理解
问题给广告投入和销售额数据预测其他广告投入的销售额
特征数据广告投入 类别标签销售额 给定的数据
可视化数据理解
代码展示
import pandas as pd
from matplotlib import pyplot as plt
from sklearn.linear_model import LinearRegressiondata pd.read_csv(data.csv)
co data.corr()plt.scatter(data.广告投入,data.销售额)
plt.show()运行结果
数据预测
代码展示
import pandas as pd
from matplotlib import pyplot as plt
from sklearn.linear_model import LinearRegressiondata pd.read_csv(data.csv)
co data.corr()plt.scatter(data.广告投入,data.销售额)
plt.show()l LinearRegression()
# 特征标签
x data[[广告投入]]
# 回归结果
y data[[销售额]]
# # 训练模型
l.fit(x,y)
# 拟合度
corr data.corr()
re l.predict(x)
sc l.score(x,y)
# 截距
inte round(l.intercept_[0],2)
# 系数
coef round(l.coef_[0][0],2)
res l.predict([[34]])
print(inte,coef)
print(f一元线性回归y{inte}{coef}*x)
print(f工资:34,预测{res})运行结果 相关系数调试查看
预测二元线性回归数据
问题及理解
问题给体重、年龄和血压数据预测其他体重、年龄的血压
特征数据体重、年龄 类别标签血压 给定的数据 数据测试
代码展示
import pandas as pd
from sklearn.linear_model import LinearRegression
data_2 pd.read_csv(data2.csv, encodinggbk)
# print(data_2)
co_2 data_2.corr()
x_2 data_2[[体重,年龄]]
y_2 data_2[[血压收缩]]
ll LinearRegression()
ll.fit(x_2,y_2)
# 预测结果
re_2 ll.predict(x_2)
# 拟合度
sc_2 ll.score(x_2,y_2)
# 截距
in_2 round(ll.intercept_[0],2)
# 系数
coef_2 round(ll.coef_[0][0],2)
coef_2_2 round(ll.coef_[0][1],2)
print(in_2,coef_2,coef_2_2)
print(f二元线性回归y{in_2}{coef_2}*x{coef_2_2}*x2)
# 测试
result ll.predict([[76,50]])
print(f体重70年龄50血压预测{result})
运行结果
预测多元线性回归数据
问题及理解
问题给age,sex,bmi,bp,s1,s2,s3,s4,s5,s6和target数据预测其他age,sex,bmi,bp,s1,s2,s3,s4,s5,s6的target
特征数据age,sex,bmi,bp,s1,s2,s3,s4,s5,s6 类别标签target 给定的数据
数据测试
代码展示
import pandas as pd
from sklearn.linear_model import LinearRegression
tdata pd.read_csv(tnb.csv)
# age,sex,bmi,bp,s1,s2,s3,s4,s5,s6,target
# 拟合度
corr tdata.corr()
l LinearRegression()# 特征数据
x tdata[[age,sex,bmi,bp,s1,s2,s3,s4,s5,s6]]
y tdata[[target]]
l.fit(x,y)
sc l.score(x,y) #0.51,0.49
print(sc)
inte round(l.intercept_[0],2)
# 系数
coef1 round(l.coef_[0][0],2)
coef2 round(l.coef_[0][1],2)
coef3 round(l.coef_[0][2],2)
coef4 round(l.coef_[0][3],2)
coef5 round(l.coef_[0][4],2)
coef6 round(l.coef_[0][5],2)
coef7 round(l.coef_[0][6],2)
coef8 round(l.coef_[0][7],2)
coef9 round(l.coef_[0][8],2)
coef10 round(l.coef_[0][9],2)
#0.0380759064334241,0.0506801187398187,0.0616962065186885,0.0218723549949558,-0.0442234984244464,-0.0348207628376986,-0.0434008456520269,-0.00259226199818282,0.0199084208763183,-0.0176461251598052
re l.predict([[0.0380759064334241,0.0506801187398187,0.0616962065186885,0.0218723549949558,-0.0442234984244464,-0.0348207628376986,-0.0434008456520269,-0.00259226199818282,0.0199084208763183,-0.0176461251598052]])
print(f预测{re})
print(f线性回归y{inte}{coef1}*x1{coef2}*x2{coef3}*x3{coef4}*x4{coef5}*x5{coef6}*x6{coef7}*x7{coef8}*x8{coef9}*x9{coef10}*x10)运行结果