【机器学习】岭回归

在这里插入图片描述

import numpy as npimport matplotlib.pyplot as plt
%matplotlib inlinefrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import mean_squared_error,r2_score
from sklearn import datasets# CV crosss validation :交叉验证
from sklearn.linear_model import LinearRegression,Ridge,Lasso,ElasticNet,ElasticNetCV,LassoCV
diabetes = datasets.load_diabetes()
X = diabetes['data']
y = diabetes['target'] 
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.15) 
lr = LinearRegression()lr.fit(X_train,y_train)# 回归问题的得分,不是准确率
lr.score(X_test,y_test)

0.508409427784998

'''The coefficient R^2 is defined as (1 - u/v), where u is the residual
sum of squares ((y_true - y_pred) ** 2).sum() and v is the total
sum of squares ((y_true - y_true.mean()) ** 2).sum().'''
u = ((y_test - y_)**2).sum()
v = ((y_test - y_test.mean())**2).sum()
r2 = 1 - u/v
r2

0.508409427784998

y_ = lr.predict(X_test)
display(y_.round(0),y_test)

array([192., 85., 134., 138., 264., 191., 142., 141., 291., 91., 253.,
174., 164., 153., 167., 83., 229., 169., 92., 206., 174., 78.,
197., 53., 163., 157., 104., 139., 211., 106., 77., 125., 117.,
170., 82., 183., 162., 164., 218., 228., 181., 126., 169., 100.,
120., 69., 211., 168., 111., 169., 187., 204., 163., 133., 154.,
157., 165., 76., 153., 82., 114., 115., 97., 148., 71., 186.,
165.])

array([164., 181., 124., 142., 308., 122., 185., 168., 270., 74., 281.,
52., 109., 246., 181., 92., 99., 122., 91., 265., 143., 59.,
131., 48., 216., 55., 65., 93., 288., 118., 77., 97., 61.,
258., 51., 163., 144., 185., 296., 281., 141., 135., 171., 69.,
177., 83., 220., 235., 109., 138., 257., 297., 151., 170., 210.,
259., 110., 55., 185., 42., 87., 96., 84., 97., 134., 129.,
131.])

r2_score(y_test,y_)

0.508409427784998

mean_squared_error(y_test,y_)

2684.848466337077

使用岭回归

lr = LinearRegression()lr.fit(X_train,y_train)print(lr.score(X_test,y_test))y_ = lr.predict(X_test)mean_squared_error(y_test,y_)

0.508409427784998

2684.848466337077

rigde = Ridge(alpha=0.001)rigde.fit(X_train,y_train)print(rigde.score(X_test,y_test))y_ = rigde.predict(X_test)mean_squared_error(y_test,y_)

0.5077536734066447

2688.429904298921

在划分较小数的时候使用np.logspace(-5,1,50),精准效率优于np.linspace(0.01,5,50)

在这里插入图片描述在这里插入图片描述

from sklearn.linear_model import RidgeCV ridgeCV = RidgeCV(alphas=np.logspace(-5,1,50),scoring='r2',cv = 6)ridgeCV.fit(X_train,y_train)y_ = ridgeCV.predict(X_test)
r2_score(y_test,y_)

0.5021580806301859

ridgeCV = RidgeCV(alphas=np.linspace(0.01,5,50),scoring='r2',cv = 6)ridgeCV.fit(X_train,y_train)y_ = ridgeCV.predict(X_test)
r2_score(y_test,y_)

0.5006336933433428

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Keepalived 添加脚本配置监控haproxy方案

作者:风过无痕-唐出处:http://www.cnblogs.com/tangyanbo/ 上一篇文章已经讲到了keepalived实现双机热备,且遗留了一个问题 master的网络不通的时候,可以立即切换到slave,但是如果只是master上的应用出现问题的时候&am…

H.264编解码标准的核心技术(提供相关流程图)

最近在学习H.264编解码知识,上网搜了不少资料看,发现大多数中文资料中都缺少相应的图片,例如编解码流程图、编码模板等,这对加深理解是很有帮助 的。木有办法,只好回去潜心阅读《H.264_MPEG-4_Part_10_White_Paper》&a…

【机器学习】总结:线性回归求解中梯度下降法与最小二乘法的比较

在线性回归算法求解中,常用的是最小二乘法与梯度下降法,其中梯度下降法是最小二乘法求解方法的优化,但这并不说明梯度下降法好于最小二乘法,实际应用过程中,二者各有特点,需结合实际案例具体分析。 最后有…

struts2学习(3)struts2核心知识II

一、struts.xml配置:                                                   1.分模块配置方法: 比如某个系统多个模块,我们把资产管理模块和车辆管理模块,分开,在总…

【机器学习】逻辑斯蒂回归概率计算和手动计算对比

二分类,逻辑斯蒂回归概率计算 import numpy as np from sklearn import datasets from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_splitX,y datasets.load_iris(True)cond y!2X X[cond] y y[cond]resul…

【机器学习】六种算法在人脸补全中的应用比较(K紧邻,线性,决策树,岭回归,套索回归,ElasticNet)

需求: 根据人的上半边脸预测下半边脸,用各种算法取得的结果与原图比较 思考: 这是一个回归问题,不是分类问题(人脸数据不固定) 数据集一共包含40个人,每一个人10张照片,分布规律 每…

QuickTime文件格式解析

QuickTime文件格式解析Peter Lee 2008-06-14 一、简介 QuickTime是Apple公司开发的一套完整的多媒体平台架构,可以用来进行多种媒体的创建,生产,和分发,并为这一过程提供端到端的支持:包括媒体的实时捕捉,…

python的数据类型转换

数据类型转换 将数据由当前类型变化为其他类型的操作就是数据类型转换。数据类型转换分为两类,分别是自动数据类型转换 和 强制数据类型转换。 自动转换(隐式转换) 自动转换时程序根据运算要求进行的转换,不许要人工干预。 1.自动类型转换不需要人工干…

Linux文件属性及如何修改文件属性

ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性 dr-xr-x---. 7 root root 4096 Apr3 12:31 . 权限 连接 所有者 用户组 文件容量 修改日期 文件名 第一个字符代表这个文件是“目录,文件&#x…

SyntaxError:identifier starts immediately after numeric literal

1、错误描写叙述2、错误原因因为在改动方法传參的过程,须要传个id,可是这个id是字符串类型,传入的是数值型3、解决的方法在传參时,须要加入“”,变成字符串类型User.modify("id");

【数据分析】reshape(-1,1)和numpy的广播机制

在创建DataFrame的时候常常使用reshape来更改数据的列数和行数。 reshape可以用于numpy库里的ndarray和array结构以及pandas库里面的DataFrame和Series结构。 源数据 reshape函数 reshape(行,列)可以根据指定的数值将数据转换为特定的行数和…

AVI文件规范

AVI文件规范PeterLee 2007-10-14 一、AVI文件简介 AVI的英文全称为Audio Video Interleaved,即音频视频交错格式,是将语音和影像同步组合在一起的文件格式。AVI于1992年被Microsoft公司推出,随Windows3.1一起被人们所认识和熟知。AVI文件格式…

tomcat jdbc SlowQueryReport的实现解读

为什么80%的码农都做不了架构师?>>> ##序 tomcat提供了JdbcInterceptor可以用来监控jdbc的执行情况,默认提供了好几个现成的interceptor可以用,SlowQueryReport以及SlowQueryReportJmx就是其中的两个。 ##JdbcInterceptor的基本原…

【机器学习】Bagging和Boosting的区别(面试准备)

Baggging 和Boosting都是模型融合的方法,可以将弱分类器融合之后形成一个强分类器,而且融合之后的效果会比最好的弱分类器更好。 Bagging: 先介绍Bagging方法: Bagging即套袋法,其算法过程如下: 从原始样本集中抽取训…

线性判别结合源码分析LDA原理

1. LDA的思想 LDA线性判别分析也是一种经典的降维方法,LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方…

RIFF文件规范

RIFF文件规范Peter Lee 2007-10-02 摘要:RIFF全称为资源互换文件格式(Resources Interchange File Format),RIFF文件是windows环境下大部分多媒体文件遵循的一种文件结构,常见的如WAV文件、AVI文件等。RIFF可以看成一种…

【机器学习】feature_importances_ 参数源码解析

在用sklearn的时候经常用到feature_importances_ 来做特征筛选,那这个属性到底是啥呢。 分析源码发现来源于每个base_estimator的决策树的 feature_importances_ 由此发现计算逻辑来源于cython文件,这个文件可以在其github上查看源代码 而在DecisionTree…

【机器学习】 关联规则Apriori和mlxtend——推荐算法

引入: 啤酒与尿布的故事 关联规律挖掘:从交易数据中发现:买了X 还会买Y 的规则 关联规律挖掘‘购物篮分析’Market Basket Analysis(MBA) 关联规律->应用于推荐系统 1. 关联规则代码演示 使用的是mlxtend.frequent…

python中的内部函数和闭包函数

内部函数 在函数内部声明的函数就是内部函数。 格式: def 函数名():局部变量...def 内部函数名():Python功能代码...示例: def funName():name dragon#定义一个内部函数def inner():print(我是内部函数)‘’‘注释: 1.内部函数的本质就是局…

【机器学习】K-Means(非监督学习)学习及实例使用其将图片压缩

非监督学习之k-means K-means通常被称为劳埃德算法,这在数据聚类中是最经典的,也是相对容易理解的模型。算法执行的过程分为4个阶段。 1、从数据中选择k个对象作为初始聚类中心; 2、计算每个聚类对象到聚类中心的距离来划分; 3、再次计算…