当前位置: 首页 > news >正文

全国各地疫情最新情况石家庄关键词优化软件

全国各地疫情最新情况,石家庄关键词优化软件,外贸b2c商城网站,内蒙古企业网站制作上一节介绍了如何审查分类算法,并介绍了六种不同的分类算法,还 用同一个数据集按照相同的方式对它们做了审查,本章将用相同的方式对回归算法进行审查。 在本节将学到: 如何审查机器学习的回归算法。如何审查四种线性分类算法。如…

上一节介绍了如何审查分类算法,并介绍了六种不同的分类算法,还
用同一个数据集按照相同的方式对它们做了审查,本章将用相同的方式对回归算法进行审查。

在本节将学到:

  • 如何审查机器学习的回归算法。
  • 如何审查四种线性分类算法。
  • 如何审查三种非线性分类算法。

算法概述

本章将审查七种回归算法。首先介绍四种线性算法:

  • 线性回归算法。
  • 岭回归算法(脊回归算法)。
  • 套索回归算法。
  • 弹性网络(Elastic Net)回归算法。

然后介绍三种非线性算法:

  • K近邻算法(KNN)。
  • 分类与回归树算法。
  • 支持向量机(SVM)。

本章将使用波士顿房价的数据集来审查回归算法,采用10折交叉验证来分离数据,并应用到所有的算法上。另外,还会通过均方误差来评估算法模型。scikit-learn 中的cross_val_score()函数能够帮助评估算法模型,我们就用这个函数来评估算法模型。

线性算法分析

首先介绍scikit-learn中用来处理机器学习中的回归问题的四种算法。

线性回归算法

线性回归算法是利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达式为y=w’x+e,e表示误差服从均值为 0 的正态分布。在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。

如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析

在scikit-learn中实现线性回归算法的是LinearRegression类

代码如下:

数据集下载地址


import pandas as pd
from sklearn.linear_model import  LinearRegressionfrom sklearn.model_selection import  KFold, cross_val_score#数据预处理
path = 'D:\down\\BostonHousing.csv'
data = pd.read_csv(path)array = data.valuesX = array[:, 0:13]
Y = array[:, 13]n_splits = 10seed = 7kflod = KFold(n_splits=n_splits, random_state=seed, shuffle=True)
#
model = LinearRegression()scoring = 'neg_mean_squared_error'results = cross_val_score(model, X, Y, cv=kflod, scoring=scoring)print("LinearRegression MSE: %.3f (%.3f)" % (results.mean(), results.std()))

运行结果:

LinearRegression MSE: -23.747 (11.143)

岭回归算法

岭回归算法是一种专门用于共线性数据分析的有偏估计回归方法,实际上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损
失部分信息、降低精度为代价,获得回归系数更符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。在scikit-learn中实现岭回归算法的是Ridge类。

代码如下:


import pandas as pd
from sklearn.linear_model import LinearRegression, Ridgefrom sklearn.model_selection import  KFold, cross_val_score#数据预处理
path = 'D:\down\\BostonHousing.csv'
data = pd.read_csv(path)array = data.valuesX = array[:, 0:13]
Y = array[:, 13]n_splits = 10seed = 7kflod = KFold(n_splits=n_splits, random_state=seed, shuffle=True)
#
model = Ridge()scoring = 'neg_mean_squared_error'results = cross_val_score(model, X, Y, cv=kflod, scoring=scoring)print("Ridge MSE: %.3f (%.3f)" % (results.mean(), results.std()))

运行结果:

Ridge MSE: -23.890 (11.407)

套索回归算法

套索回归算法和岭回归算法类似,套索回归算法也会惩罚回归系数,在套索回归中会惩罚回归系数的绝对值大小。此外,它能够减少变化程度并提高线性回归模型的精度。套索回归算法和岭回归算法有一点不同,它使用的惩罚函数是绝对值,而不是平方。这导致惩罚(或等于约束估计的绝对值之和)值使一些参数估计结果等于零。使用惩罚值越大,进一步估计会使缩小值越趋近零。这将导致我们要从给定的n个变量中选择变量。如果预测的一组变量高度相似,套索回归算法会选择其中的一个变量,并将其他的变量收缩为零。

在scikit-learn中的实现类是Lasso。

代码如下:


import pandas as pd
from sklearn.linear_model import LinearRegression, Ridge, Lassofrom sklearn.model_selection import  KFold, cross_val_score#数据预处理
path = 'D:\down\\BostonHousing.csv'
data = pd.read_csv(path)array = data.valuesX = array[:, 0:13]
Y = array[:, 13]n_splits = 10seed = 7kflod = KFold(n_splits=n_splits, random_state=seed, shuffle=True)
#
model = Lasso()scoring = 'neg_mean_squared_error'results = cross_val_score(model, X, Y, cv=kflod, scoring=scoring)print("Lasso MSE: %.3f (%.3f)" % (results.mean(), results.std()))

运行结果:

Lasso MSE: -28.746 (12.002)

弹性网络回归算法

弹性网络回归算法是套索回归算法和岭回归算法的混合体,在模型训练时,弹性网络回归算法综合使用L1和L2两种正则化方法。当有多个相关的特征时,弹性网络回归算法是很有用的,套索回归算法会随机挑选算法中的一个,而弹性网络回归算法则会选择两个。与套索回归算法和岭回归算法相比,弹性网络回归算法的优点是,它允许弹性网络回归继承循环状态下岭回归的一些稳定性。另外,在高度相关变量的情况下,它会产生群体效应;选择变量的数目没有限制;可以承受双重收缩。
在 scikit-learn中的实现类是ElasticNet。
代码如下:


import pandas as pd
from sklearn.linear_model import LinearRegression, Ridge, Lasso, ElasticNetfrom sklearn.model_selection import  KFold, cross_val_score#数据预处理
path = 'D:\down\\BostonHousing.csv'
data = pd.read_csv(path)array = data.valuesX = array[:, 0:13]
Y = array[:, 13]n_splits = 10seed = 7kflod = KFold(n_splits=n_splits, random_state=seed, shuffle=True)
#
model = ElasticNet()scoring = 'neg_mean_squared_error'results = cross_val_score(model, X, Y, cv=kflod, scoring=scoring)print("ElasticNet MSE: %.3f (%.3f)" % (results.mean(), results.std()))

运行结果:

ElasticNet MSE: -27.908 (11.484)
http://www.dt0577.cn/news/19903.html

相关文章:

  • 做钓鱼网站原理百度渠道开户哪里找
  • 北京网站模板做一个官网要多少钱
  • 用层还是表格做网站快阿里云免费建站
  • 电子商务网站建设规划实践成果源码网
  • 做网站能用假图片吗windows11优化大师
  • a4网站建设杭州关键词优化平台
  • wordpress数据库名和主机怎么填站内seo的技巧
  • 做网站需要基础吗站长工具 seo综合查询
  • cms仿站东莞网络营销代运营
  • asp.net做动态网站的技巧搜狗收录提交入口网址
  • 天津哪家网站设计公司好引擎搜索技巧
  • 大学社团做网站网络营销论文3000字
  • 响应式布局网站模板自动化测试培训机构哪个好
  • 成都企业建站系统模板今日头条新闻最新消息
  • 网站响应式首页模板宁波网站推广代运营
  • 中国大唐集团公司招聘网站微信软文范例
  • 如何跟客户沟通网站建设百度文章收录查询
  • 网站的加盟代理技能培训机构排名前十
  • 住房和城乡建设部网站现行规范alexa排名查询
  • 网站频道运营怎么做以服务营销出名的企业
  • 潍坊专业网站建设多少钱中山seo排名
  • 做设计开哪个素材网站的会员好网站是如何建立的
  • 大气的房产网站郑州seo服务公司
  • 网络营销推广方法及分类广州seo营销培训
  • oa平台登录系统入口优化方案英语
  • 单位建设网站需要的材料网络营销师证书需要多少钱
  • 南京app定制公司网络优化初学者难吗
  • 设计型网站宁波seo外包平台
  • 鸡泽企业做网站推广百度指数怎么看排名
  • 反馈网站制作介绍网络营销