三种回归算法对模型训练测试

数据集abalone.txt,记录了鲍鱼(一种介壳类水生动物)的年龄,鲍鱼年龄可以从鲍鱼壳的层数推算得到。
前几列是样本点的特征数据,最后一列是鲍鱼的年龄。请分别使用标准线性回归(最小二乘)、
岭回归和lasso回归对模型训练,并求出三种模型的分值(分值即𝑹^𝟐(决定系数))
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import PolynomialFeatures
dataSet=np.genfromtxt('abalone.txt')
x_data=dataSet[:,:-1]
print(x_data)
y_data=dataSet[:,-1]
print(y_data)
print(len(y_data))

在这里插入图片描述

#线性回归
X_train,X_test,y_train,y_test=train_test_split(x_data,y_data,random_state=0)
standR=linear_model.LinearRegression()
standR.fit(X_train,y_train)
print('训练集上得分',standR.score(X_train,y_train))
print(standR.predict(x_data[1,np.newaxis]))
yHat=standR.predict(x_data)
print(yHat)
print('测试集上得分',standR.score(X_test,y_test))
print(np.corrcoef(y_data,yHat))

在这里插入图片描述

#岭回归
alphas_to_test=np.linspace(0.001,4)

Ridge=linear_model.RidgeCV(alphas=alphas_to_test,store_cv_values=True)
Ridge.fit(x_data,y_data)
print('岭系数',Ridge.alpha_)
print(Ridge.coef_)
print(Ridge.intercept_)
print('决定系数',Ridge.score(x_data,y_data))

在这里插入图片描述

#lasso回归
lasso=linear_model.Lasso(alpha=0.001)
lasso.fit(x_data,y_data)

print(lasso.coef_)
print(lasso.intercept_)
print('决定系数',lasso.score(x_data,y_data))

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侬本多情。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值