《Python机器学习》教学课件—09回归分析.pptx

上传人(卖家):三亚风情 文档编号:2527251 上传时间:2022-04-29 格式:PPTX 页数:36 大小:2.80MB
下载 相关 举报
《Python机器学习》教学课件—09回归分析.pptx_第1页
第1页 / 共36页
《Python机器学习》教学课件—09回归分析.pptx_第2页
第2页 / 共36页
《Python机器学习》教学课件—09回归分析.pptx_第3页
第3页 / 共36页
《Python机器学习》教学课件—09回归分析.pptx_第4页
第4页 / 共36页
《Python机器学习》教学课件—09回归分析.pptx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、Machine Learning with Python9.1目 录9.3回归分析原理多元线性回归不同回归算法的分析对比9.29.49.5正则化回归分析本章小结回归分析原理回归分析(Regression Analysis)是一个监督学习过程它是一个统计预测模型,用以描述和评估因变量与一个或多个自变量之间的关系9.13 9.1 回归分析原理 1.基本概念回归分析是处理多变量间相关关系的一种数学方法。相关关系不同于函数关系,后者反映变量间的严格依存性,而前者则表现出一定程度的波动性或随机性,对自变量的每一个取值,因变量可以有多个数值与之相对应。在统计学上,研究相关关系可以运用回归分析和相关分析(C

2、orrelation Analysis)。 2.可解决的问题通过回归分析,可以解决以下问题:1)建立变量间的数学表达式,通常称为经验公式。2)利用概率统计基础知识进行分析,从而判断所建立的经验公式的有效性。3)进行因素分析,确定影响某一变量的若干变量(因素)中,何者为主要,何者为次要,以及它们之间的关系。具有相关关系的变量之间虽然具有某种不确定性,但是通过对现象的不断观察可以探索出它们之间的统计规律,这类统计规律称为回归关系。有回归关系的理论、计算和分析称为回归分析。4 9.1 回归分析原理 3.回归分析的一般方法1)收集数据:采用任意方法收集数据。2)准备数据:回归需要数值型数据,标称型数据

3、将被转成二值型数据。3)分析数据:绘出数据的可视化二维图将有助于对数据做出理解和分析,在采用缩减法求得新回归系数之后,可以将新拟合线绘在图上作为对比。4)训练算法:找到回归系数。5)测试算法:使用预测值和数据的拟合度,来分析模型的效果。6)使用算法:使用回归,可以在给定输入的时候预测出一个数值,这是对分类方法的提升,因为这样可以预测连续型数据而不仅仅是离散的类别标签。多元线性回归本节主要介绍线性回归的算法,原理及参数9.26 9.2.1 多元线性回归算法其中,Y为因变量,a为截距,b为相关系数,X为自变量。7 9.2.1 多元线性回归算法由于只有一个预测变量X,预测变量和目标形成了一个二维空间

4、。在此空间中,模型需要拟合一条距离所有数据点最近的直线,接近度的测量方式为直线与所有数据点的垂直距离平方和,如图9-1所示。如果有两个预测变量和,则空间增长到三维,现在模型需要拟合最接近三维空间中所有点的平面,如图9-2所示。而当有了两个以上的特征,模型拟合的就变成了较为抽象的超平面。图9-1 2D空间模型图图9-2 3D空间模型图8 9.2.1 多元线性回归算法9 9.2.1 多元线性回归算法10 10 9.2.1 多元线性回归算法11 11 9.2.1 多元线性回归算法12 12 9.2.1 多元线性回归算法13 9.2.2 实现及参数14 9.2.2 实现及参数正则化回归分析本节主要介绍

5、岭回归,Lasso回归,ElasticNet回归,并将他们的算法进行对比9.316 9.3 正则化回归分析17 9.3.1 岭回归18 9.3.1 岭回归19 9.3.1 岭回归 5)copy_X:是否复制X。数据类型为布尔型,若不指定该参数值,则自动使用默认参数值True,会复制X。 6)solver:指定求解最优化问题的算法。数据类型为字符串型,若不指定该参数值,则自动使用默认参数值auto。其可选值如下: auto:根据数据集自动选择算法。 svd:使用奇异值分解来计算回归系数。 cholesky:使用scipy.linalg.solve函数来求解。 sparse_cg:使用scipy.

6、sparse.linalg.cg函数来求解。 1sqr:使用scipy.sparse.linalg.lsqr函数来求解。它运算速度最快,但是可能老版本的scipy不支持。 sag:使用Stochastic Average Gradient Descent算法,求解最优化问题。 7)tol:指定判断迭代收敛与否的阈值。数据类型为浮点型,若不指定该参数值,则自动使用默认参数值0.001。20 9.3.1 岭回归 8)random_state:用于设置随机数产生的方式。若不指定该参数值,则自动使用默认参数值None。其可选值如下: 整数:该值会被作为随机数发生器的种子。 RandomState实例:

7、指定随机数发生器。 None:使用默认的随机数发生器。 其主要属性如下: 1)coef_:权重向量。 2)intercept_:b值。 3)n_iter_:实际迭代次数。 其主要方法为: 1)fit(X,y, sample_weight):训练模型。 2)predict(X):用模型进行预测,返回预测值。 3)score(X,y,sample_weight):返回预测性能得分。21 9.3.2 Lasso回归22 9.3.2 Lasso回归23 9.3.2 Lasso回归 7)tol:指定判断迭代收敛与否的阈值。数据类型为浮点型,与岭回归相同。 8)random_state:用于设置随机数产生

8、的方式,与岭回归相同。 9)precompute:决定是否提前计算Gram矩阵来加速计算。数据类型为布尔型,若不指定该参数值,则自动使用默认参数值False,即不提前计算Gram矩阵来加速计算。 10)warm_start:是否使用前一次训练结果继续训练。数据类型为布尔型,若不指定该参数值,则自动使用默认参数值False,即重新开始训练。 11)positive:是否强制要求权重向量的分量都为正数。数据类型为布尔型,若不指定该参数值,则自动使用默认参数值False,即不要求权重向量的分量都为正数。 其主要属性如下: 1)coef_:权重向量。 2)intercept_:b值。 3)n_iter

9、_:实际迭代次数。其主要方法为:1)fit(X,y, sample_weight):训练模型。2)predict(X):用模型进行预测,返回预测值。3)score(X,y,sample_weight):返回预测性能得分。具体用法如下所示。24 9.3.3 ElasticNet回归25 9.3.3 ElasticNet回归26 9.3.3 ElasticNet回归 6)copy_X:是否复制X。数据类型为布尔型,与Lasso回归相同。 7)selection:指定每轮迭代时,选择权重向量的哪个分量来更新,与Lasso回归相同。 8)tol:指定判断迭代收敛与否的阈值。数据类型为浮点型,与Lass

10、o回归相同。 9)random_state:用于设置随机数产生的方式,与Lasso回归相同。 10)precompute:决定是否提前计算Gram矩阵来加速计算。数据类型为布尔型,与Lasso回归相同。 11)warm_start:是否使用前一次训练结果继续训练。数据类型为布尔型,与Lasso回归相同。 12)positive:是否强制要求权重向量的分量都为正数。数据类型为布尔型,与Lasso回归相同。 其主要属性为: 1)coef_:权重向量。 2)intercept_:b值。 3)n_iter_:实际迭代次数。其主要方法为:1)fit(X,y, sample_weight):训练模型。2)

11、predict(X):用模型进行预测,返回预测值。3)score(X,y, sample_weight):返回预测性能得分。不同回归算法的分析对比 9.4本案例使用4种回归方法对波士顿房价数据集进行分析,进一步加深对线性回归算法的认识。28 9.4 不同回归算法的分析对比参考程序如下: import matplotlib.pyplot as plt import numpy as np # 导入数据集模块 from sklearn import datasets # 导入sklearn中的线性模型类和模型验证类 from sklearn import linear_model, model_s

12、election # 读取波士顿房价数据集 boston = datasets.load_boston() # 使用train_test_split函数自动随机划分训练集与测试集,其中: # test_size为测试集所占比例, # random_state为随机数种子,相同的种子值在每次运行中的划分结果相同,如不设置则以系统当前时间为种子 x_train, x_test, y_train, y_test = model_selection.train_test_split(boston.data,boston.target, test_size=0.3,random_state=1)29 9

13、.4 不同回归算法的分析对比 # 定义各种线性回归对象 lr = linear_model.LinearRegression() rd = linear_model.Ridge() ls = linear_model.Lasso() en = linear_model.ElasticNet() models = lr, rd, ls, en names = Linear, Ridge, Lasso, Elastic Net # 分别训练模型并进行回归,计算残差平方和及准确率 for model, name in zip(models, names): model.fit(x_train, y_

14、train) y_predict = model.predict(x_test) score = model.score(x_test, y_test) print(Residual sum of squares of %s: %.2f %(name, np.mean(y_predict-y_test)*2) print(Accuracy of %s: %.2f %(name, score)30 9.4 不同回归算法的分析对比 # 测试alpha在不同取值下的回归效果 scores = Alphas=0.0001,0.0005,0.001,0.005,0.01,0.05,0.1,0.5,1,5

15、,10,50 for index, model in enumerate(models): scores.append() for alpha in alphas: if index0: model.alpha = alpha model.fit(x_train, y_train) scoresindex.append(model.score(x_test, y_test) # 绘制结果图 fig = plt.figure(figsize=(10,7) for i, name in enumerate(names): plt.subplot(2,2,i+1) plt.plot(range(le

16、n(alphas), scoresi) plt.title(name) print(Max accuracy of %s: %.2f %(name, max(scoresi) plt.show()31 9.4 不同回归算法的分析对比程序运行结果如下,绘制的结果如图9-6所示。 Residual sum of squares of Linear: 19.83 Accuracy of Linear: 0.78 Residual sum of squares of Ridge: 19.33 Accuracy of Ridge: 0.79 Residual sum of squares of Lass

17、o: 30.29 Accuracy of Lasso: 0.67 Residual sum of squares of Elastic Net: 27.51 Accuracy of Elastic Net: 0.70 Max accuracy of Linear: 0.78 Max accuracy of Ridge: 0.79 Max accuracy of Lasso: 0.79 Max accuracy of Elastic Net: 0.7932 9.4 不同回归算法的分析对比图9-6 不同算法在乳腺癌数据集的回归效果对比图33 9.4 不同回归算法的分析对比 在使用默认参数的情况下,4种回归算法的准确率在67%至79%之间,其中岭回归给出了最高的准确率79%。但在对3种正则化回归算法的alpha参数进行调整后,这3种算法最高均可达到79%的准确率,高于简单线性回归的78%。此外,可以观察到,较大的alpha参数会导致模型的复杂度下降,预测的准确度也随之下降。本章小结9.5 本章主要介绍了回归分析的基本概念。从简单多元线性回归出发,对原理进行了详细的讲解,并在简单线性回归的基础上了讲解了岭回归、Lasso回归与ElasticNet回归,并分别给出了具体实现案例。最后给出了多种回归算法在分析波士顿房价数据集时的效果比较。35 9.5 本章小结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《Python机器学习》教学课件—09回归分析.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|