线性回归代码优化:修正特征名称和截距获取
在您提供的线性回归代码中,有几个需要修改的地方。以下是修改后的代码:
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
data_shaoshui = pd.read_excel('D:\M_hua\shaoshui.xlsx', index_col=0)
data_shaoshui.head()
X = data_shaoshui.iloc[:, :19]
Y = data_shaoshui.iloc[:, 19:]
X_tra, X_tes, Y_tra, Y_test = train_test_split(X, Y, random_state=8)
lr = LinearRegression()
lr_fit = lr.fit(X_tra, Y_tra)
print('{:.3f}'.format(lr_fit.score(X_tra, Y_tra)))
lr_coef = pd.DataFrame(lr_fit.coef_, columns=X_tra.columns, index=['coef'])
lr_coef['INTERCEPT'] = lr_fit.intercept_
lr_coef
在修改后的代码中,主要修改了以下几个地方:
- 将
feature_names_in_修改为X_tra.columns,以获取特征的列名。 - 将
lr_fit.intercept_.tolist修改为lr_fit.intercept_,以获取截距的值。 - 修正了
lr_coef的构建方式,确保特征名称和截距值正确对应。
请注意检查数据路径是否正确,并确保shaoshui.xlsx文件中的数据与代码中的索引和列名对应正确。如果还有其他问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/dihB 著作权归作者所有。请勿转载和采集!