sklearn中的ValueError:形状未对齐

时间:2019-10-23 14:18:10

标签: python scikit-learn regression

我正在尝试返回通过程序运行的测试成绩,但是无论我尝试什么,我都会不断收到错误信息

ValueError                                Traceback (most recent call last)
<ipython-input-19-4b49cb58c813> in <module>()
----> 1 print(model_final.score(X_train, y_train))
      2 print(model_final.score(X_test, y_test))

3 frames
/usr/local/lib/python3.6/dist-packages/sklearn/utils/extmath.py in safe_sparse_dot(a, b, dense_output)
    140         return ret
    141     else:
--> 142         return np.dot(a, b)
    143 
    144 

ValueError: shapes (353,10) and (172,) not aligned: 10 (dim 1) != 172 (dim 0)

完整代码可在here中找到。

我们将不胜感激,在此先感谢您。

1 个答案:

答案 0 :(得分:0)

问题出在行

model_final = model

此语句将不会创建model的副本,而只会创建shallow copy,因此当您更改model时,甚至model_final也会被更改。为避免这种情况,您需要将deepcopy设置为

from copy import deepcopy
model_final = deepcopy(model)

这将执行deep copy,并且您对model所做的任何更改都不会影响model_final

希望这会有所帮助!