我正在尝试在sklearn中建立线性模型,因此我想测试该模型,该模型是使用一些误差函数实现的。
首先,我为X
和y
轴选择了功能。
#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]
确实如此,为了运行错误功能,您需要相同大小的训练和测试数据吗?
您想比较y_test
和y_predict
,它是通过回归器输出的x_test
。