Re_Lasso

2024-05-10 03:36
文章标签 re lasso

本文主要是介绍Re_Lasso,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

from sklearn.linear_model import LassoCV, Lasso
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
from sklearn.model_selection import GridSearchCV# 读取数据
df_stars = pd.read_excel('C:/Users/galax/Desktop/Final_Result.xls')
data_stars = df_stars# 属性矩阵和预测目标
X = data_stars.iloc[:, 1:14]
y = data_stars.iloc[:, 1]# 特征名称和目标名称
feature_names = ['KNN_derta_V', 'MOID', 'e', 'a', 'q', 'i', 'node', 'peri', 'M', 'tp','period', 'n', 'Price']target_name = ['Profit_numeric']# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=19)# 创建Lasso模型
lasso_0 = Lasso(max_iter=60000)
# 拟合Lasso模型
lasso_0.fit(X_train, y_train)# 定义参数网格
param_grid = {'alpha': [0.0001, 0.0005, 0.001, 0.005, 0.01, 0.1, 1, 10, 100, 1000]
}# 使用GridSearchCV调整参数
lasso_cv = GridSearchCV(lasso_0, param_grid, cv=7, n_jobs=-1)
lasso_cv.fit(X_train, y_train)
#第三个lasso模型
lasso_cv1=Lasso(alpha=0.0001,max_iter=10000)
lasso_cv1.fit(X_train,y_train)lasso_cv2=Lasso(alpha=0.001,max_iter=10000)
lasso_cv2.fit(X_train,y_train)
lasso_cv3=Lasso(alpha=0.01,max_iter=10000)
lasso_cv3.fit(X_train,y_train)
lasso_cv4=Lasso(alpha=0.1,max_iter=10000)
lasso_cv4.fit(X_train,y_train)
lasso_cv5=Lasso(alpha=1,max_iter=10000)
lasso_cv5.fit(X_train,y_train)# 用调整后的模型做预测
y_pred_cv = lasso_cv.predict(X_test)
y_pred_cv1 = lasso_cv1.predict(X_test)
y_pred_cv2 = lasso_cv2.predict(X_test)
y_pred_cv3= lasso_cv3.predict(X_test)
y_pred_cv4 = lasso_cv4.predict(X_test)
y_pred_cv5= lasso_cv5.predict(X_test)
print("调参后,LassoCV模型的预测值为:", y_pred_cv)
print("调参后,LassoCV1模型的预测值为:", y_pred_cv1)#用3个衡量指标查看调参后的模型性能
print("平均绝对误差MAE2=",mean_absolute_error(y_test,y_pred_cv))
print("均方误差MSE2=",mean_squared_error(y_test,y_pred_cv))
print("R平方值2=",r2_score(y_test,y_pred_cv))
print("最佳的alpha=",lasso_cv.best_params_)#alpha=0.0001#用3个衡量指标查看调参后的模型性能
print("平均绝对误差MAE2=",mean_absolute_error(y_test,y_pred_cv1))
print("均方误差MSE2=",mean_squared_error(y_test,y_pred_cv1))
print("R平方值2=",r2_score(y_test,y_pred_cv1))
print("最佳的alpha=",lasso_cv.best_params_)#alpha=0.0001import matplotlib.pyplot as plt
# 绘制两个lasso模型的R^2对比曲线
plt.figure(figsize=(10, 6))
plt.plot(['Lasso_cv', 'Lasso_cv1','Lasso_cv2','Lasso_cv3','Lasso_cv4','Lasso_cv5'], [r2_score(y_test, y_pred_cv), r2_score(y_test, y_pred_cv1),r2_score(y_test, y_pred_cv2),r2_score(y_test, y_pred_cv3),r2_score(y_test, y_pred_cv4),r2_score(y_test, y_pred_cv5)], marker='o', label='R^2')
plt.xlabel('Models')
plt.ylabel('R^2 Score')
plt.title('Comparison of Model Performance - R^2 Score')
plt.legend()
plt.grid(True)
plt.show()

 

import numpy as np
from sklearn.linear_model import LassoCV, Lasso
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
from sklearn.model_selection import GridSearchCV# 读取数据
df_stars = pd.read_excel('C:/Users/galax/Desktop/Final_Result.xls')
data_stars = df_stars# 属性矩阵和预测目标
X = data_stars.iloc[:, 1:14]
y = data_stars.iloc[:, 0]# 特征名称和目标名称
feature_names = ['KNN_derta_V', 'MOID', 'e', 'a', 'q', 'i', 'node', 'peri', 'M', 'tp','period', 'n', 'Price']target_name = ['Profit']# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=19)# 创建Lasso模型
lasso_0 = Lasso(max_iter=60000)
# 拟合Lasso模型
lasso_0.fit(X_train, y_train)# 定义参数网格
param_grid = {'alpha': [0.0001, 0.0005, 0.001, 0.005, 0.01, 0.1, 1, 10, 100, 1000]
}# 使用GridSearchCV调整参数
lasso_cv = GridSearchCV(lasso_0, param_grid, cv=7, n_jobs=-1)
lasso_cv.fit(X_train, y_train)
#第三个lasso模型
lasso_cv1=Lasso(alpha=0.0001,max_iter=10000)
lasso_cv1.fit(X_train,y_train)lasso_cv2=Lasso(alpha=0.001,max_iter=10000)
lasso_cv2.fit(X_train,y_train)
lasso_cv3=Lasso(alpha=0.01,max_iter=10000)
lasso_cv3.fit(X_train,y_train)
lasso_cv4=Lasso(alpha=0.1,max_iter=10000)
lasso_cv4.fit(X_train,y_train)
lasso_cv5=Lasso(alpha=1,max_iter=10000)
lasso_cv5.fit(X_train,y_train)# 用调整后的模型做预测
y_pred_cv = lasso_cv.predict(X_test)
y_pred_cv1 = lasso_cv1.predict(X_test)
y_pred_cv2 = lasso_cv2.predict(X_test)
y_pred_cv3= lasso_cv3.predict(X_test)
y_pred_cv4 = lasso_cv4.predict(X_test)
y_pred_cv5= lasso_cv5.predict(X_test)
print("调参后,LassoCV模型的预测值为:", y_pred_cv)
print("调参后,LassoCV1模型的预测值为:", y_pred_cv1)#用3个衡量指标查看调参后的模型性能
print("平均绝对误差MAE2=",mean_absolute_error(y_test,y_pred_cv))
print("均方误差MSE2=",mean_squared_error(y_test,y_pred_cv))
print("R平方值2=",r2_score(y_test,y_pred_cv))
print("最佳的alpha=",lasso_cv.best_params_)#alpha=0.0001#用3个衡量指标查看调参后的模型性能
print("平均绝对误差MAE2=",mean_absolute_error(y_test,y_pred_cv1))
print("均方误差MSE2=",mean_squared_error(y_test,y_pred_cv1))
print("R平方值2=",r2_score(y_test,y_pred_cv1))
print("最佳的alpha=",lasso_cv.best_params_)#alpha=0.0001import matplotlib.pyplot as plt
# 绘制两个lasso模型的R^2对比曲线
plt.figure(figsize=(10, 6))
plt.plot(['Lasso_cv', 'Lasso_cv1','Lasso_cv2','Lasso_cv3','Lasso_cv4','Lasso_cv5'], [r2_score(y_test, y_pred_cv), r2_score(y_test, y_pred_cv1),r2_score(y_test, y_pred_cv2),r2_score(y_test, y_pred_cv3),r2_score(y_test, y_pred_cv4),r2_score(y_test, y_pred_cv5)], marker='o', label='R^2')
plt.xlabel('Models')
plt.ylabel('R^2 Score')
plt.title('Comparison of Model Performance - R^2 Score')
plt.legend()
plt.grid(True)
plt.show()lasso_x=Lasso(alpha=0.1)
#计算Lasso回归路径
alphas=np.logspace(-3,0,100)
coefs=[]
for a in alphas:lasso_x.set_params(alpha=a)lasso_x.fit(X_train, y_train)coefs.append(lasso_x.coef_)
#绘制lasso回归路径图
plt.figure(figsize=(10, 6))
ax=plt.gca()
ax.plot(alphas, coefs, marker='o', label='Lasso_x')
ax.set_xscale('log')
ax.set_xlim(ax.get_xlim()[::-1])
plt.xlabel('alpha')
plt.ylabel('weights')
plt.axis('tight')
plt.show()#绘制LASSO系数图
plt.bar(range(len(lasso_x.coef_)), lasso_x.coef_)
plt.xticks(range(len(lasso_x.coef_)), feature_names)
plt.show()

这篇关于Re_Lasso的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975321

相关文章

013.Python爬虫系列_re正则解析

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优

【机器学习 sklearn】模型正则化L1-Lasso,L2-Ridge

#coding:utf-8from __future__ import divisionimport sysreload(sys)sys.setdefaultencoding('utf-8')import timestart_time = time.time()import pandas as pd# 输入训练样本的特征以及目标值,分别存储在变量X_train与y_train之中。

Login failed:make sure your username and password are correct and that you’re an admin or moderator

Login failed:make sure your username and password are correct and that you’re an admin or moderator   1.使用MySql查看工具进入数据库,进入表“ofuser”,把字段 plainPassword 改成 123,然后在你的控制台上输入该表的   username跟plainPa

解决Re-download dependencies and sync project

解决Re-download dependencies and sync project 问题描述 新建一个工程,报错 Error:Failed to open zip file.Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)<a hr

Lasso回归的坐标下降法推导

Lasso回归的坐标下降法推导 目标函数 Lasso相当于带有L1正则化项的线性回归。先看下目标函数: 这个问题由于正则化项在零点处不可求导,所以使用非梯度下降法进行求解,如坐标下降法或最小角回归法。 坐标下降法 本文介绍坐标下降法。  坐标下降算法每次选择一个维度进行参数更新,维度的选择可以是随机的或者是按顺序。  当一轮更新结束后

正则 re中要转义的特殊字符

如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\。ls \*.txt。正则表达式有以下特殊字符。需要转义  特别字符 说明 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用

零基础入门转录组数据分析——预后模型之lasso模型

零基础入门转录组数据分析——预后模型之lasso模型 目录 零基础入门转录组数据分析——预后模型之lasso模型1. 预后模型和lasso模型基础知识2. lasso预后模型(Rstudio)——代码实操2. 1 数据处理2. 2 构建lasso预后模型2. 3 提取Lasso预后基因2. 4 计算风险评分 1. 预后模型和lasso模型基础知识 1.1 预后模型是

正则表达式模块re及其应用

正则表达式是一种强大的文本处理工具,能够用来匹配、查找、替换复杂的文本模式。Python中的正则表达式由re模块提供。 以下是一些常用的方法及示例: 一. 常用方法 re.match() 从头开始匹配re.search() 搜索第一个匹配串re.findall() 查找所有匹配项re.finditer() 遍历所有匹配re.sub() 替换字符串中匹配的模式re.split() 将字符串分割

【机器学习】特征工程的基本概念以及LASSO回归和主成分分析优化方法

引言 特征工程是机器学习中的一个关键步骤,它涉及到从原始数据中提取和构造新的特征,以提高模型的性能和预测能力LASSO(Least Absolute Shrinkage and Selection Operator)回归是一种用于回归分析的线性模型,它通过引入L1正则化(Lasso正则化)来简化模型并减少过拟合的风险主成分分析(Principal Component Analysis,PCA)

Layer-refined Graph Convolutional Networks for Recommendation【ICDE2023】

Layer-refined Graph Convolutional Networks for Recommendation 论文:https://arxiv.org/abs/2207.11088 源码:https://github.com/enoche/MMRec/blob/master/README.md 摘要 基于图卷积网络(GCN)的抽象推荐模型综合了用户-项目交互图的节点信息和拓