【问题标题】:How to set a class_weight Dictionary for Random Forest?如何为随机森林设置 class_weight 字典?
【发布时间】:2021-02-01 12:05:12
【问题描述】:

我正在处理一个不平衡的数据集,所以我决定使用权重字典进行分类。

文档说必须定义权重字典,如下所示: https://imbalanced-learn.org/stable/generated/imblearn.ensemble.BalancedRandomForestClassifier.html

     weight_dict = [{0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}]

所以,因为我想预测位于最后一列的 12 个类。 我假设设置是这样的:

weight_dict = [{0: 1, 1: 5.77390289e-01}, {0: 1, 1: 6.48317326e-01}, 
               {0: 1, 1: 1.35324885e-01}, {0: 1, 1: 2.92665797e+00}, 
               {0: 1, 1: 5.77858906e+01}, {0: 1, 1: 1.73193507e+00},
               {0: 1, 1: 9.27828244e+00}, {0: 1, 1: 1.18766082e+01}, 
               {0: 1, 1: 8.99009985e+01}, {0: 1, 1: 6.39833279e+00}, 
               {0: 1, 1: 2.55347077e+01}, {0: 1, 1: 9.47015372e+02}]

老实说,我不太清楚第一个指标的符号,我的意思是:

      0:1 of {0: 1, 1: 1} 

或:

 1: value.

它们代表列位置、标签顺序吗?

正确的设置方法是什么?

我会很感激你的见解。

【问题讨论】:

    标签: classification random-forest imbalanced-data imblearn


    【解决方案1】:

    我不太清楚第一个指标的符号0:1 of {0: 1, 1: 1}

    符号是{<class label> : <count>}。类标签以其原始(即未转换)表示形式。

    例如,以下命令会生成一个包含 25 个“setosa”样本以及 50 个“versicolor”和“virginica”样本的 Iris 训练集:

    weight_dict = {"setosa" : 25, "versicolor" : 50, "virginica" : 50}
    

    【讨论】:

      猜你喜欢
      • 2018-04-10
      • 2018-05-20
      • 2015-08-28
      • 2017-09-10
      • 2013-06-12
      • 2014-11-21
      • 2018-05-27
      • 2018-09-21
      • 2020-02-05
      相关资源
      最近更新 更多