【发布时间】:2020-11-25 20:58:04
【问题描述】:
我正在使用 PyCaret,但出现错误。
AttributeError: 'SimpleImputer' object has no attribute '_validate_data'
尝试创建一个基本实例。
# Create a basic PyCaret instance
import pycaret
from pycaret.regression import *
mlb_pycaret = setup(data = pycaret_df, target = 'pts', train_size = 0.8, numeric_features = ['home',
'first_time_pitcher'], session_id = 123)
我所有的变量都是数字的(我强制了其中的两个,它们是布尔值)。我的目标变量是label,这是默认值。
我也安装了PyCaret,导入了它的regression,重新安装了scikit learn,导入了SimpleImputer为from sklearn.impute import SimpleImputer
OBP_avg Numeric
SLG_avg Numeric
SB_avg Numeric
RBI_avg Numeric
R_avg Numeric
home Numeric
first_time_pitcher Numeric
park_ratio_OBP Numeric
park_ratio_SLG Numeric
SO_avg_p Numeric
pts_500_parkadj_p Numeric
pts_500_parkadj Numeric
SLG_avg_parkadj Numeric
OPS_avg_parkadj Numeric
SLG_avg_parkadj_p Numeric
OPS_avg_parkadj_p Numeric
pts_BxP Numeric
SLG_BxP Numeric
OPS_BxP Numeric
whip_SO_BxP Numeric
whip_SO_B Numeric
whip_SO_B_parkadj Numeric
order Numeric
ops x pts_500 order15 Numeric
ops x pts_500 parkadj Numeric
ops23 x pts_500 Numeric
ops x pts_500 orderadj Numeric
whip_p Numeric
whip_SO_p Numeric
whip_SO_parkadj_p Numeric
whip_parkadj_p Numeric
pts Label
我的回溯如下:
【问题讨论】:
-
为什么要先导入
pycaret,环境使用的是什么版本的scikit-learn?您是否尝试过跳过numeric_features参数?试试numeric_iterative_imputer和numeric_imputation参数怎么样? -
@MarkMoretto,我试图跳过
numeric_features。它没有帮助。我有同样的错误,但有更长的回溯。我故意在代码上方导入pycaret及其回归,因为过去的顺序也很重要。如果我跳过数字特征,home将被视为分类变量,并且第二个变量根本没有类。我不确定为什么pts是label,因为我没有做分类(也许没问题)。您提到的参数在 PyCaret 的clustering中,我不确定它在这里会有所帮助。 -
@MarkMoretto,我删除了一半具有高相关性的变量,一切都很完美。发生了什么?没有线索。
-
甜蜜!我很好奇这是否是版本问题,因为我的安装也没有该功能。但是,我很高兴听到您成功了!
-
sklearn 版本可能错误。现在应该是 0.23.2 而不是 0.24 (6/2021)。
标签: python scikit-learn pycaret