- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个类不平衡的数据集。类是“1”或“0”,其中“1”:“0”类的比率为 5:1。你如何计算每个类的预测误差和相应的重新平衡权重在带有随机森林的 sklearn 中,有点像下面的链接:http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm#balance
最佳答案
您可以将样本权重参数传递给随机森林 fit method
sample_weight : array-like, shape = [n_samples] or None
Sample weights. If None, then samples are equally weighted. Splits that would create child nodes with net zero or negative weight are ignored while searching for a split in each node. In the case of classification, splits are also ignored if they would result in any single class carrying a negative weight in either child node.
在旧版本中,有一个 preprocessing.balance_weights
方法可以为给定的样本生成平衡权重,从而使类变得均匀分布。它仍然存在,在内部但仍然可用preprocessing._weights模块,但已弃用,将在未来版本中删除。不知 Prop 体原因。
更新
一些澄清,因为你似乎很困惑。 sample_weight
的用法很简单,只要您记住它的目的是平衡训练数据集中的目标类。也就是说,如果您将 X
作为观察值并将 y
作为类(标签),那么 len(X) == len(y) == len(sample_wight )
,并且 sample witght
一维数组的每个元素表示相应 (observation, label)
对的权重。对于您的情况,如果 1
类被表示为 0
类的 5 次,并且您平衡了类分布,您可以使用简单的
sample_weight = np.array([5 if i == 0 else 1 for i in y])
将 5
的权重分配给所有 0
实例,将 1
的权重分配给所有 1
实例。有关更巧妙的 balance_weights
权重评估函数,请参见上面的链接。
关于python - 在 sklearn 中使用 RandomForestClassifier 进行不平衡分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082674/
由于某种原因,每当我运行 ensemble.RandomForestClassifier() 并使用 .predict_proba() 方法时,它都会返回一个形状为 [n_classes, n_sam
我正在测试这段代码。 df1 = df[['Group', 'Sector', 'Cat2', 'Cat3', 'Cat4', 'Cat5', 'Cat6', 'Industry', 'Market'
我正在使用一个在每次迭代时生成数据的环境。我想保留先前迭代中的模型并将新数据添加到现有模型中。 我想了解模型拟合的工作原理。它将使新数据与现有模型相匹配,还是会使用新数据创建新模型。 调用新数据的拟合
我编写了以下 Python 代码,用于在 UCI ML 存储库的 Forest CoverType 数据集上运行 RandomForestClassifier(使用默认参数设置)。然而,结果很差,准确
from sklearn.ensemble import RandomForestClassifier from sklearn import tree rf = RandomForestClassi
我正在尝试攻击我的随机森林分类器。 clf = RandomForestClassifier(max_features="sqrt", n_estimators=500, n_jobs=-1, ver
在 section 1.9.2.1 中的 scikit-learn 文档中(摘录如下),为什么随机森林的实现与 Breiman 的原始论文不同?据我所知,在聚合分类器的集合时,Breiman 选择了多
我使用以下代码可视化 RandomForestClassifier 的结果: X, y = make_blobs(n_samples=300, centers=4,
我是机器学习新手,我正在尝试使用 scikit RandomForestClassifier 对文本进行分类。我遇到的问题是我的测试数据结果与 sklearn 分类报告不匹配。训练集大约有 25k 个
我一直在使用 sklearn 的随机森林,并且尝试比较几个模型。然后我注意到即使使用相同的种子,随机森林也会给出不同的结果。我尝试了两种方法:random.seed(1234) 以及使用随机森林内置的
这是一个新手问题。 我想使用 sklearn 中的 RandomForestClassifier 训练一个 Random Forest。我有几个变量,但在这些变量中,我希望算法在它训练的每一棵树中确定
在机器学习方面,我是初学者,我无法解释我从第一个程序中获得的一些结果。这是设置: 我有一个书评数据集。这些书可以用大约 1600 本书中的任意数量的限定符来标记。评论这些书的人也可以用这些限定符来标记
我正在尝试用中等大小的 numpy float 组来填充森林 In [3]: data.shape Out[3]: (401125, 5) [...] forest = forest.fit(data
我正在 RandomForestClassifier 上进行网格搜索,我的代码一直在工作,直到我更改了功能,然后代码突然生成以下错误(在 classifier.fit 行) 我没有更改任何代码,只是将
我正在 RandomForestClassifier 上进行网格搜索,我的代码一直在工作,直到我更改了功能,然后代码突然生成以下错误(在 classifier.fit 行) 我没有更改任何代码,只是将
我使用 ml.classification.RandomForestClassifier 构建了随机森林模型。我试图从模型中提取预测概率,但我只看到了预测类而不是概率。根据这个issue link ,
我正在使用 Scikit RandomForestClassifier 对不平衡数据进行分类。目标类数据为“1”或“0”(99% 的值为 0)。 我想分配一个权重。我怎样才能做到这一点。 我在文档中发
如何访问单个树并保存/加载 RandomForestClassifier 对象? 我只想查看每棵树的结构以确定哪个特征是重要的。我想将经过训练的分类器对象保存在文件或数据库中。怎么做? 最佳答案 您基
我正在尝试训练一个决策树模型,保存它,然后在我以后需要时重新加载它。但是,我不断收到以下错误: This DecisionTreeClassifier instance is not fitted y
我一直在运行此 website 上显示的“平均降低精度”度量的实现: 在示例中,作者使用的是随机森林回归器 RandomForestRegressor,但我使用的是随机森林分类器 RandomFore
我是一名优秀的程序员,十分优秀!