Python 使用sklearn Boston住房数据集:尝试为系数创建数据帧
我已经运行了以下代码行Python 使用sklearn Boston住房数据集:尝试为系数创建数据帧,python,scikit-learn,sklearn-pandas,Python,Scikit Learn,Sklearn Pandas,我已经运行了以下代码行 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline from sklearn.datasets import load_boston boston = load_boston() print(boston.data.shape) from sklearn.linear_model import L
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
from sklearn.datasets import load_boston
boston = load_boston()
print(boston.data.shape)
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
x = pd.DataFrame(boston.data)
x.columns = boston.feature_names
y=pd.DataFrame(boston.target)
y.columns=['TARGET']
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=101)
model = LinearRegression()
model.fit(x_train,y_train)
print('Coefficients: \n', model.coef_)
len(model.coef_)
Coefficients:
[[-8.74917163e-02 5.02793747e-02 2.06785359e-02 3.75457604e+00
-1.77933846e+01 3.24118660e+00 1.20902568e-02 -1.40965453e+00
2.63476633e-01 -1.03376395e-02 -9.52633123e-01 6.20783942e-03
-5.97955998e-01]]
1
coeffecients = pd.DataFrame(data=model.coef_,index=x.columns,columns=['Coefficient'])
错误消息:
传递值的形状为(13,1),索引暗示(1,13)
我认为问题在于系数数组的长度为1。但不确定。IMO,发生这种情况是因为您的
y\u序列是一个具有形状的2d数据帧(n\u示例,1)
系数:阵列、形状(n个特征)或(n个目标、n个特征)
线性回归问题的估计系数。如果多个
在拟合过程中传递目标(y 2D),这是形状的2D阵列
(n_目标,n_特征),而如果只传递了一个目标,则这是一个
长度n_特征的一维数组
通过np.ravel(y\u-train)
或者直接使用y=pd.Series(boston.target)
可以解决这个问题。您使用的是哪个版本的scikit learn?我无法在0.19.2
上重复该问题。它已经以下面的答案转换为的形式存在。