多次运行代码触发TypeError: 'numpy.ndarray' object is not callable问题求助
问题解决:TypeError: 'numpy.ndarray' object is not callable
问题根源
你把cross_val_score这个sklearn的函数名当成变量名来存储交叉验证结果,导致原函数被覆盖成了numpy数组。后续再调用cross_val_score()时,实际是在调用一个数组,自然会抛出类型错误。
修复步骤
- 修改变量名:把存储结果的变量改成和函数名不同的名称,比如
cv_scores:ridge = Ridge(alpha=2) cv_scores = cross_val_score(ridge, X.values, y.values, scoring="r2", cv=kf, n_jobs=-1) - 恢复原函数(若已覆盖):如果当前代码会话中已经把
cross_val_score覆盖成数组,需要重新导入该函数:
或者直接重启代码运行环境(比如Jupyter内核),重新执行所有导入和代码。from sklearn.model_selection import cross_val_score
额外提醒
写代码时避免使用和库函数、关键字同名的变量名,这类命名冲突很容易引发隐性错误。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

