首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >imblearn管道中的多个参数

imblearn管道中的多个参数
EN

Stack Overflow用户
提问于 2022-02-23 13:21:59
回答 1查看 62关注 0票数 0

我有一个强烈不平衡的数据集,我想尝试不同的形状模型,支持向量机分类和不同的烟雾“随机”和“打击”我做了这个,但有没有一个更紧凑的方法来做到这一点?

代码语言:javascript
复制
 DecisionShapeModel = ['ovo', 'ovr']
    Smoothing = [SMOTE(k_neighbors=3),RandomOverSampler()]
    ListParam = itertools.product(DecisionShapeModel, Smoothing)

    for DecisionShapeModel, Smoothing in ListParam:

        model = SVC(decision_function_shape=DecisionShapeModel, probability=True)

        PipelineIMB = Pipeline([
            ('smote', Smoothing),
            ('svm', model)
        ])

        """ Define search space """
        param_grid = {
            'svm__C': np.arange(1, 20, 1),
            'svm__kernel': ['linear', 'poly', 'rbf', 'sigmoid']
        }

        kf = KFold(n_splits=10, random_state=42, shuffle=True)

        grid_imba = GridSearchCV(PipelineIMB, param_grid, cv=kf, scoring='f1_macro',
                                 verbose=10, n_jobs=-1, error_score='raise')

        grid_imba.fit(X_train, y_train)
        y_pred = grid_imba.predict(X_test)
EN

回答 1

Stack Overflow用户

发布于 2022-03-07 20:09:02

如果您的目标是测试这些选项,并且只保留最好的修改模型,那么您可以将所有内容打包到GridSearchCV中,利用参数网格中替换整个步骤的功能。

代码语言:javascript
复制
model = SVC(probability=True)

PipelineIMB = Pipeline([
    ('sample', 'passthrough'),
    ('svm', model),
])

param_grid = {
    'sample': [
        SMOTE(k_neighbors=3),
        RandomOverSampler(),
    ],  # these replace the original definition of "passthrough"
    'svm__decision_function_shape': ['ovo', 'ovr'],
    'svm__C': np.arange(1, 20, 1),
    'svm__kernel': ['linear', 'poly', 'rbf', 'sigmoid'],
}

kf = KFold(n_splits=10, random_state=42, shuffle=True)

grid_imba = GridSearchCV(PipelineIMB, param_grid, cv=kf, scoring='f1_macro',
                         verbose=10, n_jobs=-1, error_score='raise')

grid_imba.fit(X_train, y_train)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71237726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档