小编Spe*_*edo的帖子

使用加权类处理 GradientBoostingClassifier 中的不平衡数据?

我有一个非常不平衡的数据集,我需要在此基础上构建一个模型来解决分类问题。该数据集有大约 30000 个样本,其中大约 1000 个样本被标记为\xe2\x80\x941\xe2\x80\x94,其余为 0。我通过以下几行构建模型:

\n\n
X_train=training_set\ny_train=target_value\nmy_classifier=GradientBoostingClassifier(loss=\'deviance\',learning_rate=0.005)\nmy_model = my_classifier.fit(X_train, y_train)\n
Run Code Online (Sandbox Code Playgroud)\n\n

由于这是一个不平衡的数据,因此像上面的代码一样简单地构建模型是不正确的,所以我尝试使用类权重,如下所示:

\n\n
class_weights = compute_class_weight(\'balanced\',np.unique(y_train), y_train)\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在,我不知道如何使用 class_weights(基本上包括 0.5 和 9.10 值)来训练和构建模型GradientBoostingClassifier

\n\n

任何想法?我如何使用加权类或其他技术处理这些不平衡的数据?

\n

python machine-learning training-data scikit-learn boosting

5
推荐指数
1
解决办法
5063
查看次数