Sklearn训练数据和测试数据的大小不相同

问题描述 投票:0回答:1

我正在尝试在sklearn中建立线性模型,因此我想测试该模型,该模型是使用一些误差函数实现的。

首先,我为Xy轴选择了功能。

#Predict the average parking rates per month
X = df[['Number of weekly riders', 'Price per week',
       'Population of city', 'Monthly income of riders']]

y = df['Average parking rates per month']

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

 #only 20% test size because we are working with a small dataset 
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=101)

lm = LinearRegression()

lm.fit(X_train, y_train)


在我拟合模型之后,我尝试使用来自sklearn的metrics包中的某些错误函数

但是显然我不能使用任何功能,因为没有相等数量的测试和训练数据

print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_train))  
print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_train))  
print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(y_test, y_train)))

ValueError: Found input variables with inconsistent numbers of samples: [6, 21]

确实如此,为了运行错误功能,您需要相同大小的训练和测试数据吗?

python machine-learning scikit-learn linear-regression
1个回答
0
投票

您想比较y_testy_predict,它是通过回归器输出的x_test

© www.soinside.com 2019 - 2024. All rights reserved.