
深入浅出python机器学习_4.3.1_岭回归的原理 4.3.2_岭回归的参数调节
发布日期:2021-05-10 09:17:28
浏览次数:12
分类:精选文章
本文共 3030 字,大约阅读时间需要 10 分钟。
���������������������
������������������������������������������������������������������������������������������������
import matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import train_test_splitfrom sklearn.datasets import load_diabetes
���������������������������������������������������������������������������
X, y = load_diabetes().data, load_diabetes().targetX_train, X_test, y_train, y_test = train_test_split(X, y, random_state=8)
���������������������������������������������������
lr = LinearRegression().fit(X_train, y_train)
������������������������������������
print('������������������������������������{:.2f}'.format(lr.score(X_train, y_train)))print('������������������������������������{:.2f}'.format(lr.score(X_test, y_test)))
��������������������=1���������������������
ridge = Ridge(alpha=1).fit(X_train, y_train)print('���������������������������������{:.2f}'.format(ridge.score(X_train, y_train)))print('���������������������������������{:.2f}'.format(ridge.score(X_test, y_test)))
��������������������������������������������
ridge10 = Ridge(alpha=10).fit(X_train, y_train)print('�����������������������������������=10������{:.2f}'.format(ridge10.score(X_train, y_train)))print('�����������������������������������=10������{:.2f}'.format(ridge10.score(X_test, y_test)))
��������������������������������������������
ridge01 = Ridge(alpha=0.1).fit(X_train, y_train)print('�����������������������������������=0.1������{:.2f}'.format(ridge01.score(X_train, y_train)))print('�����������������������������������=0.1������{:.2f}'.format(ridge01.score(X_test, y_test)))
��������������������������������������������������������������������
ridge01_2 = Ridge(alpha=0.1).fit(X_train, y_train)print('���������������{} {}'.format(round(ridge01_2.score(X_train, y_train), 4), round(ridge01_2.score(X_test, y_test), 4)))i = 0.1while round(ridge01_2.score(X_train, y_train), 4) > round(ridge01_2.score(X_test, y_test), 4): i += 0.01 ridge01_2 = Ridge(alpha=i).fit(X_train, y_train) if round(ridge01_2.score(X_train, y_train), 100) <= round(ridge01_2.score(X_test, y_test), 100): print(i) print('�����������������={:.3f}������'.format(i), end='') print('{:.4f} {:.4f}'.format(ridge01_2.score(X_train, y_train), ridge01_2.score(X_test, y_test))) break
������������������������������������
plt.plot(ridge.coef_, 's', label='Ridge alpha=1')plt.plot(ridge10.coef_, '^', label='Ridge alpha=10')plt.plot(ridge01.coef_, 'v', label='Ridge alpha=0.1')plt.plot(lr.coef_, 'o', label='Linear Regression')plt.hlines(0, 0, len(lr.coef_))plt.xlabel('Coefficient Index')plt.ylabel('Coefficient Magnitude')plt.legend()plt.show()
���������������������
������������������������������������0.43������ ������������������������������0.47���������������������������������0.52���������������������������������0.47...
���������������������������������������������������������������������������������������������������������
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月24日 07时01分39秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JavaSE总结
2021-05-09
Consul安装使用
2021-05-09
手动造轮子——基于.NetCore的RPC框架DotNetCoreRpc
2021-05-09
Python IO编程
2021-05-09
CSS入门总结
2021-05-09
Django内置的响应类
2021-05-09
使用 TortoiseGit 时,报 Access denied 错误
2021-05-09
创建Silverlight 5浏览器内受信应用
2021-05-09
基于 HTML5 WebGL 的污水处理厂泵站自控系统
2021-05-09
java _this关键字的用法
2021-05-09
代码荣辱观-以运用风格为荣,以随意编码为耻
2021-05-09
SpringBoot启动原理
2021-05-09
[系列] Go gRPC 调试工具
2021-05-09
django-表单之模型表单渲染(六)
2021-05-09
c++之程序流程控制
2021-05-09
一位年轻而优秀的.NET开发者的成长点滴
2021-05-09
如何使用ABP进行软件开发(1) 基础概览
2021-05-09
第三周总结
2021-05-09
Spark学习之SparkStreaming
2021-05-09
AlwaysOn配置时在连接步骤时报错(35250)
2021-05-09