机器学习sklearn监督学习回归算法岭回归ridgeregression(代码片段)

404detective 404detective     2022-12-27     821

关键词:




from sklearn.linear_model import Ridge,LinearRegression
from sklearn.model_selection import train_test_split 
import matplotlib.pyplot as plt
import numpy as np

# 导入数据
data_x=[]
data_y=[] 
f=open('E:\\Desktop\\python_code\\sklearn\\课程数据\\回归\\prices.txt','r')
lines=f.readlines()
for line in lines:
    items=line.strip().split(',')  #line.去掉(空格).分割(',')
    data_x.append(int(items[0]))
    data_y.append(int(items[1]))
    
length=len(data_x)
data_x=np.array(data_x).reshape([length,1])
data_y=np.array(data_y)


# 划分训练集和测试集
X_train,X_test,y_train,y_test = train_test_split(data_x,data_y,random_state=0)
# 三个岭回归和一个线性回归模型
linear = LinearRegression().fit(X_train,y_train)
ridge1 = Ridge().fit(X_train,y_train)
ridge2 = Ridge(alpha=100,).fit(X_train,y_train)
ridge3 = Ridge(alpha=10000).fit(X_train,y_train)

# 打印3个岭回归的训练集、测试集得分,以及线性系数和与y轴坐标
print ("training set score::.2f".format(ridge1.score(X_train,y_train)))
print ("test set score::.2f".format(ridge1.score(X_test,y_test)))
print('Coefficients:',ridge1.coef_)   
print('intercept:',ridge1.intercept_)  

print ("training set score::.2f".format(ridge2.score(X_train,y_train)))
print ("test set score::.2f".format(ridge2.score(X_test,y_test)))
print('Coefficients:',ridge2.coef_)   
print('intercept:',ridge2.intercept_) 

print ("training set score::.2f".format(ridge3.score(X_train,y_train)))
print ("test set score::.2f".format(ridge3.score(X_test,y_test)))
print('Coefficients:',ridge3.coef_)   
print('intercept:',ridge3.intercept_)  

print ("training set score::.2f".format(linear.score(X_train,y_train)))
print ("test set score::.2f".format(linear.score(X_test,y_test)))
print('Coefficients:',linear.coef_)   
print('intercept:',linear.intercept_)  

从上往下依次为
3个岭回归
alpha=0
alpha=100
alpha=10000
1个线性回归

α越大,那么正则项惩罚的就越厉害,得到回归系数就越小。

α越小,即正则化项越小,那么回归系数就越来越接近于普通的线性回归系数。

应用


import numpy as np
import pandas as pd
from sklearn.linear_model import Ridge#加载岭回归方法
from sklearn import model_selection
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures #用于创建多项式特征,如ab、 a2、 b2

data=pd.read_csv('E:\\Desktop\\python_code\\sklearn\\课程数据\\回归\\岭回归.csv')
#绘制车流量信息
plt.plot(data['TRAFFIC_COUNT'])
plt.show()

X=data[data.columns[1:5]]#属性数据
y=data['TRAFFIC_COUNT']#车流量数据(即是要预测的数据)
poly=PolynomialFeatures(5)#测试后5是效果较好的一个参数
#X为创建的多项式特征
X=poly.fit_transform(X)
#将所有数据划分为训练集和测试集,test_size表示测试集的比例,random_state是随机数种子
train_set_X, test_set_X , train_set_y, test_set_y = model_selection.train_test_split(X,y,test_size=0.3,random_state=0)
#创建岭回归实例
clf=Ridge(alpha=1.0,fit_intercept = True)
#调用fit函数使用训练集训练回归器
clf.fit(train_set_X,train_set_y)
#利用测试集计算回归曲线的拟合优度,clf.score返回值为0.7375
#拟合优度,用于评价拟合好坏,最大为1,无最小值,当对所有输入都输出同一个值时,拟合优度为0。
clf.score(test_set_X,test_set_y)

start=200 #接下来我们画一段200到300范围内的拟合曲线
end=300
y_pre=clf.predict(X) #是调用predict函数的拟合值
time=np.arange(start,end)
plt.plot(time,y[start:end],'b', label="real")
plt.plot(time,y_pre[start:end],'r', label='predict')
#展示真实数据(蓝色)以及拟合的曲线(红色)
plt.legend(loc='upper left') #设置图例的位置
plt.show()

机器学习sklearn监督学习回归算法岭回归ridgeregression(代码片段)

fromsklearn.linear_modelimportRidge,LinearRegressionfromsklearn.model_selectionimporttrain_test_splitimportmatplotlib.pyplotaspltimportnumpyasnp#导入数据data_x=[]data_y=[]f=open('E:\\Desktop\\python_code\\sklearn\\课程数据\\回归\\prices.txt','r')lines=f.read... 查看详情

机器学习sklearn监督学习回归算法线性回归linearregression(代码片段)

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportlinear_model#设置中文字体plt.rcParams['font.sans-serif']='SimHei'plt.rcParams['axes.unicode_minus']=False#设置自变量和因变 查看详情

机器学习sklearn监督学习回归算法多项式回归polynomialregression(代码片段)

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportlinear_modelfromsklearn.preprocessingimportPolynomialFeaturesplt.rcParams['font.sans-serif']='SimHei'plt.rcParams['a 查看详情

机器学习sklearn监督学习回归算法多项式回归polynomialregression(代码片段)

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportlinear_modelfromsklearn.preprocessingimportPolynomialFeaturesplt.rcParams['font.sans-serif']='SimHei'plt.rcParams['a 查看详情

机器学习sklearn(77):算法实例(三十四)回归线性回归大家族多重共线性:岭回归与lasso岭回归(代码片段)

1最熟悉的陌生人:多重共线性逆矩阵存在的充分必要条件 行列式不为0的充分必要条件              矩阵满秩的充分必要条件           查看详情

机器学习sklearn(78):算法实例(三十五)回归线性回归大家族多重共线性:岭回归与lassolasso(代码片段)

3Lasso3.1Lasso与多重共线性      3.2Lasso的核心作用:特征选择  importnumpyasnpimportpandasaspdfromsklearn.linear_modelimportRidge,LinearRegression,Lassofromsklearn.model_selecti 查看详情

机器学习经典算法

函数名称均为sklearn库中的函数1.线性回归算法:LinearRegression:  其中常用的有:Ridge:岭回归算法,MultiTaskLasso:多任务LASSO回归算法,ElasticNet:弹性网眼算法,LassoLars:LARS套索算法,OrthogonalMatchingPursuit:正交匹配追踪(OMP)算法,... 查看详情

机器学习sklearn监督学习回归算法多项式回归polynomialregression(代码片段)

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportlinear_modelfromsklearn.preprocessingimportPolynomialFeaturesplt.rcParams['font.sans-serif']='SimHei'plt.rcParams['axes.unicode_minus']=Falsedata_x=[]data_y=[]f=open('E:\\Desktop\\python_code\... 查看详情

sklearn机器学习基础(day02基础入门篇)(代码片段)

文章目录基本算法使用(Sklearn)算子API调用分步曲数据分析分步曲分类算法KNN算法网格优化KNN案例(预测facebook签到位置)数据清洗KNN处理预测完整代码朴素贝叶斯算法决策树案例可视化决策树随机森林回归与聚类算... 查看详情

03_有监督学习--简单线性回归模型(调用sklearn库代码实现)(代码片段)

有监督学习--简单线性回归模型(调用sklearn库代码实现)0.引入依赖1.导入数据(data.csv)2.定义损失函数3.导入机器学习库sklearn4.测试:运行算法,从训练好的模型中提取出系数和截距5.画出拟合曲线6.附录-测试数据有监督学习--... 查看详情

机器学习3《数据集与k-近邻算法》

...么我们的数据怎么来呢?并且我们的数据是怎么训练呢?sklearn里面保存了许多的数据集scikitlearn数据集介绍sklearn.datasets加载获取流行数据集datasets.load_*()获取小规模数据集,数据包含在datasets里datasets.fetch_*(data_home=None)获取大规... 查看详情

正规方程,梯度下降,岭回归——机器学习(代码片段)

线性回归一.介绍1.1线性回归API介绍——LinearRegression二.线性回归的损失和优化2.1全梯度下降算法(FG)2.2随机梯度下降算法(SG)2.3小批量梯度下降算法(mini-batch)2.4随机平均梯度下降算法(SAG)三... 查看详情

郑捷《机器学习算法原理与编程实践》学习笔记(第七章预测技术与哲学)7.3岭回归

7.3岭回归7.3.1验证多重共线性7.3.2岭回归理论7.3.3岭际分析7.3.4k值的判断7.3.5辅助函数 (1)导入多维数据集:加载数据集defloadDataSet(filename):numFeat=len(open(filename).readline().split(‘ ‘))-1#getnumberoffieldsdataMat=[]labelMat=[]fr=ope 查看详情

机器学习基础概念笔记

...见算法:K-均值、最大期望算法、DBSCAN、Parzen窗设计 机器学习应用步骤:收集数据——准备输入数据——分析输入数据 查看详情

机器学习——分类和回归

1.机器学习的主要任务:一是将实例数据划分到合适的分类中,即分类问题。而是是回归,它主要用于预测数值型数据,典型的回归例子:数据拟合曲线。 2.监督学习和无监督学习:分类和回归属于监督学习,之所以称之为... 查看详情

机器学习

1.用于执行分类,回归,聚类和密度估计的机器学习方法:  a.监督学习的用途: k-近邻算法线性回归朴素贝叶斯算法局部加权线性回归支持向量机Ride回归决策树lasso最小回归系数估计    b.无监督学习的... 查看详情

0机器学习算法分类

1、机器学习算法分类:监督学习监督学习的训练数据包含了类别信息,在监督学习中,典型的问题是分类(Classification)和回归(Regression),典型的算法有LogisticsRegression、BP神经网络算法和相性回归算法。 监督学习流程:&n... 查看详情

sklearn|学习总结

1简介scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy,SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。 SKlearn官网:http://scikit-learn.org/stable... 查看详情