问题
Found input variables with inconsistent numbers of samples: [745, 83]:
在计算accuracy时候遇到二者长度不匹配的问题
training_score = accuracy_score (act_train,pr_train)
原因:
accuracy = accuracy_score(y_true, y_pred)
其中,y_true表示真实的目标变量值(实际标签),y_pred表示模型的预测输出(预测标签)。函数会比较y_true和y_pred中对应位置的元素,并计算出预测正确的样本数。
在计算准确率时,使用accuracy_score函数第一个参数应为所划分的训练集y的真实值,第二个参数应为该训练集的预测输出。我搞混了,我将第一个参数写成了验证集的输出值,而我的训练集与验证集的划分是0.1,因此数据长度不匹配
解决:
- 查看accuracy_score函数里你放的两个参数长度,看是否是长度不匹配问题
act_train.shape,pr_train.shape
((745,), (83,))
- 检查之前的代码,比如说有没有在数据标准化时或者在用模型拟合数据时将数据的输出变量搞混,我就是在拟合模型时将变量搞混了
- 改正错误代码即可