我正在处理高度不平衡的数据集的分类问题。我正在尝试在网格搜索管道中使用.parent {
display: flex;
flex-wrap: wrap-reverse;
}
,但是我不断收到此ValueError:
SMOTEENN
我在网上发现,如果从imblearn导入了管道,SMOTEENN可以与GridSearchCV一起使用。我正在使用来自imblearn的管道,但它仍然给我这个错误。
该问题首先在我尝试使用ValueError: Invalid parameter randomforestclassifier for estimator Pipeline(memory=None,
steps=[('preprocessor_X',
ColumnTransformer(n_jobs=None, remainder='drop',
sparse_threshold=0.3,
transformer_weights=None,
transformers=[('num',
Pipeline(memory=None,
steps=[('scaler',
StandardScaler(copy=True,
with_mean=True,
with_std=True))],
verbose=False),
['number_of_participants',
'count_timely_submission',
'count_by_self',
'count_at_ra...
class_weight='balanced',
criterion='gini',
max_depth=None,
max_features='auto',
max_leaf_nodes=None,
max_samples=None,
min_impurity_decrease=0.0,
min_impurity_split=None,
min_samples_leaf=1,
min_samples_split=2,
min_weight_fraction_leaf=0.0,
n_estimators=100,
n_jobs=None,
oob_score=False,
random_state=0,
verbose=0,
warm_start=False))],
verbose=False))],
verbose=False). Check the list of available parameters with `estimator.get_params().keys()`.
并获取X和y变量时开始。我有一个SMOTEENN
函数,可将数据分解为X,y。我想在该函数中使用prepare_data()
并返回平衡数据。但是,我的功能之一是字符串类型-需要放在SMOTEENN
中。由于某些原因,OneHotEncoder
似乎没有处理字符串。因此,我需要在管道中使用它,以便SMOTEENN
将有效SMOTEENN
。
我在下面粘贴我的管道代码。任何帮助或解释将不胜感激!谢谢!
post-preprocessing
答案 0 :(得分:0)
您已将RandomForestClassifier
命名为classification
,并且该管道在下一个管道中被命名为model
。因此,您必须按照以下步骤更改param_grid
param_grid = {'model__classification__max_depth': [3,5,7,10],
'model__classification__min_samples_split': [10,25,40]}