02-10 正则化线性回归(波士顿房价预测)
发布日期:2021-05-09 05:36:09 浏览次数:16 分类:博客文章

本文共 1257 字,大约阅读时间需要 4 分钟。

目录

人工智能从入门到放弃完整教程目录:

正则化线性回归(波士顿房价预测)

一、导入模块

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesfrom sklearn.linear_model import Lassofrom sklearn.linear_model import Ridgefrom sklearn.linear_model import ElasticNet%matplotlib inlinefont = FontProperties(fname='/Library/Fonts/Heiti.ttc')

二、获取数据

df = pd.read_csv('housing-data.txt', sep='\s+', header=0)X = df[['RM']].valuesy = df['MEDV'].values

三、训练模型

# Lasso(L1)正则回归lasso = Lasso(alpha=1.0)lasso.fit(X, y)lasso_predict = lasso.predict(X)# Ridge(L2)正则回归ridge = Ridge(alpha=1.0)ridge.fit(X, y)ridge_predict = ridge.predict(X)# ElasticNet(弹性网络)回归# l1_ratio=0时等同于Lasso(L1)回归elastic_net = ElasticNet(alpha=0.1, l1_ratio=0.5)elastic_net.fit(X, y)elastic_net_predict = elastic_net.predict(X)

四、可视化

plt.scatter(X, y, c='gray', edgecolor='white', marker='s', label='训练数据')plt.plot(X, lasso_predict, c='r',label='L1正则化',linestyle='--')plt.plot(X, ridge_predict, c='b',label='L2正则化',linestyle='-')plt.plot(X, elastic_net_predict, c='g',label='弹性网络',linestyle=':')plt.xlabel('平均房间数目[MEDV]', fontproperties=font)plt.ylabel('以1000美元为计价单位的房价[RM]', fontproperties=font)plt.title('波士顿房价预测', fontproperties=font, fontsize=20)plt.legend(prop=font)plt.show()

上一篇:08-03 细分构建机器学习应用程序的流程-流程简介
下一篇:08-04 细分构建机器学习应用程序的流程-数据收集

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月05日 03时06分49秒