如何为随机森林设置class_weight字典?

问题描述

我正在处理不平衡的数据集,因此我决定使用权重字典进行分类

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

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

因此,由于我想预测最后一列中的12个类。 我认为设置是这样的:

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

老实说,我不清楚第一批指标的含义,我的意思是:

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

或:

 1: value.

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

设置它的正确方法是什么?

感谢您的见解。

解决方法

我不清楚前几个指标0:1 of {0: 1,1: 1}

的含义

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

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

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