一、导入库
from sklearn.linear_model import LinearRegression
#from sklearn.model_selection import train_test_split_test_split
from sklearn.model_selection import train_test_split
from sklearn.datasets import fetch_california_housing
import pandas as pd
本实训使用加利福尼亚的 房屋价值数据
linear_model.LinearRegression 线性回归
linear_model.LogisticRegression 逻辑回归分类器
linear_model.Ridge 岭回归 增加L2正则化项的线性回归
linear_model.Lasso 拉索回归 增加L1正则化项的线性回归
二、数据查看
housevalue = fetch_california_housing()
X = pd.DataFrame(housevalue.data)
print(X.shape)
print(X.head())
X.columns = housevalue.feature_names #设置列名
Xtrain,Xtest,Ytrain,Ytest=train_test_split(housevalue.data,housevalue.target,test_size=0.25,random_state=None) #划分数据集
a=clf_reg.coef_
#回归系数
#截距项
b=clf_reg.intercept_
三、使用metrics计算相关指数
from sklearn import metrics
mse = metrics.mean_squared_error(Ytest,Ypred)
print(mse)
r2 = metrics.r2_score(Ytest,Ypred)
#利用metrics
#r2
#rr2 = clf_reg.score(Xtest,Ytest)
#rr2 两种方法
mae = metrics.mean_absolute_error(Ytest,Ypred) #MAE
'''
决定系数(coefficient ofdetermination),有的教材上翻译为判定系数,也称为拟合优度。
决定系数反应了y的波动有多少百分比能被x的波动所描述,即表征依变数Y的变异中有多少百分比,可由控制的自变数X来解释.
'''
四、绘制学习曲线
import matplotlib.pyplot as plt
plt.plot(range(len(Ytest)),sorted(Ytest),c="blue",label="Data")
plt.plot(range(len(Ypred)),sorted(Ypred),c="red",label="predict")
plt.legend()
plt.show()
(仅供参考)
可以通过下面方法查看索引值 在计算分数的时候我感觉挺好用 有的时候看图不好看出来
print(np.argmax(test_score_list)+1) # argmax找出最大值的索引值
#现在这里放着吧 方法就是这样
将特征名feature_name 和 回归系数放在表格里查看 我这里写了两种方法
import itertools
#aa = housevalue.feature_names
#bb = clf_reg.coef_
#cc= list(itertools.permutations(aa,bb)
aa=list(housevalue.feature_names)
bb=list(clf_reg.coef_)
list1=dict(zip(aa,bb))
print(aa)
print(bb)
print(list1)
a=list(list1.items())
a=sorted(a,key=lambda x:x[1],reverse=True)
b=pd.DataFrame(a,columns=['feature_names','回归系数'])
#b
如图 仅供参考
还有利用np_c[]
import numpy as np
c_ = np.c_[aa, bb]
#c_
data2=pd.DataFrame(c_,columns=['feature_names','回归系数'])
#data2
五、其他
回归平方和:SSR 残差平方和:SSE 总离差平方和:SST
决定系数sklearn.metrics.r2_score到底是什么?_→★佐佑思维★←-CSDN博客
系数参考可以看这个
然后来说 clf_reg.score()
输入的内容为Xtest和Ytest
是由Xtest利用回归函数计算出Ypred,后Ytest与Ypred计算R²。
以上便是实训与我的理解,恳请各位多加批评!
Original: https://blog.csdn.net/lllusionary/article/details/121296107
Author: lllusionary
Title: 【数据挖掘】回归分析学习
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/631072/
转载文章受原作者版权保护。转载请注明原作者出处!