对sklearn的随机森林使用权重



我想为sklearn的RandomForestClassifier使用权重。事实上,我有一个不平衡的数据集。类1包含600、类2 90、类3 60和类4 96样本数据!!!

我想使用权重来使数据集平衡。这是我生成错误的代码。

cfr = RandomForestClassifier(n_estimators=100,n_jobs =5,{1:1,2:3,3:3,4:3})
cfr.fit(XTrain,yTrain)
predictedTest=cfr.predict(XTest)

这就是错误。

SyntaxError: non-keyword arg after keyword arg

而且我在选择一个数字作为权重时也有问题。你能给我指路吗?

的前两个参数

cfr = RandomForestClassifier(n_estimators=100,n_jobs =5,{1:1,2:3,3:3,4:3})

是关键字实参,在这里您使用语法"arg=value"无序地指定实参。在参数列表中从左向右移动时,一旦开始提供关键字参数,就无法停止。之后的每个参数都必须是关键字参数。编辑:由于RandomForestClassifier的所有参数都有关键字,您只需要为最后一个添加关键字。

cfr = RandomForestClassifier(n_estimators=100,n_jobs=5,class_weight={1:1,2:3,3:3,4:3})

相关内容

  • 没有找到相关文章

最新更新