解决sklearn 随机森林数据不平衡的方法

Handle Imbalanced Classes In Random Forest

Preliminaries

# Load libraries
from sklearn.ensemble import RandomForestClassifier
import numpy as np
from sklearn import datasets

Load Iris Flower Dataset

# Load data
iris = datasets.load_iris()
X = iris.data
y = iris.target

Adjust Iris Dataset To Make Classes Imbalanced

# Make class highly imbalanced by removing first 40 observations
X = X[40:,:]
y = y[40:]

# Create target vector indicating if class 0, otherwise 1
y = np.where((y == 0), 0, 1)

Train Random Forest While Balancing Classes

When using RandomForestClassifier a useful setting is class_weight=balanced wherein classes are automatically weighted inversely proportional to how frequently they appear in the data. Specifically:

wj=n/knj

where wj is the weight to class j, nn is the number of observations, nj is the number of observations in class j, and k is the total number of classes.

# Create decision tree classifer object
clf = RandomForestClassifier(random_state=0, n_jobs=-1, class_weight="balanced")

# Train model
model = clf.fit(X, y)

https://chrisalbon.com/machine_learning/trees_and_forests/handle_imbalanced_classes_in_random_forests/

类别不平衡处理方法:https://segmentfault.com/a/1190000015248984

原文地址:https://www.cnblogs.com/Allen-rg/p/10441792.html

时间: 2024-10-09 19:31:41

解决sklearn 随机森林数据不平衡的方法的相关文章

sklearn 随机森林方法

Notes The default values for the parameters controlling the size of the trees (e.g. max_depth, min_samples_leaf, etc.) lead to fully grown and unpruned trees which can potentially be very large on some data sets. To reduce memory consumption, the com

【机器学习】解决数据不平衡问题

在机器学习的实践中,我们通常会遇到实际数据中正负样本比例不平衡的情况,也叫数据倾斜.对于数据倾斜的情况,如果选取的算法不合适,或者评价指标不合适,那么对于实际应用线上时效果往往会不尽人意,所以如何解决数据不平衡问题是实际生产中非常常见且重要的问题. 什么是类别不平衡问题 我们拿到一份数据时,如果是二分类问题,通常会判断一下正负样本的比例,在机器学习中,通常会遇到正负样本极不均衡的情况,如垃圾邮件的分类等:在目标检测SSD中,也经常遇到数据不平衡的情况,检测器需要在每张图像中评价一万个到十万个候选

R语言基于树的方法:决策树,随机森林,套袋Bagging,增强树

原文链接:http://tecdat.cn/?p=9859 概观 本文是有关  基于树的  回归和分类方法的.用于分割预测变量空间的分割规则可以汇总在树中,因此通常称为  决策树  方法. 树方法简单易懂,但对于解释却非常有用,但就预测准确性而言,它们通常无法与最佳监督学习方法竞争.因此,我们还介绍了装袋,随机森林和增强.这些示例中的每一个都涉及产生多个树,然后将其合并以产生单个共识预测.我们看到,合并大量的树可以大大提高预测准确性,但代价是损失解释能力. 决策树可以应用于回归和分类问题.我们将

MySQL随机获取数据的方法,支持大数据量

最近做项目,需要做一个从mysql数据库中随机取几条数据出来. 总所周知,order by rand 会死人的..因为本人对大数据量方面的只是了解的很少,无解,去找百度老师..搜索结果千篇一律.特发到这里来,供大家学习. 在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋友都会直接使用,如果几百条数据肯定没事,如果几万或百万时你会发现,直接使用是错误的.下面我来介绍随机取数据一些优化方法. SELECT * FROM table_name ORDER BY ran

基于随机森林的煤与瓦斯突出预测方法研究

1引言 煤炭在我国一次能源中的主导地位短期内不会发生根本性改变.随着煤炭产量的增长,近年来我国煤矿生产事故频繁发生,安全形势非常严峻.煤矿事故已经成为社会各界关注的焦点.而煤与瓦斯突出是煤矿生产过程中的一种严重自然灾害.长期以来,煤与瓦斯突出事故严重制约着我国煤矿生产和煤炭企业经济效益的提高,给煤矿安全生产和井下作业人员的生命财产安全带来了极大威胁.因此,正确预测矿井煤与瓦斯突出的规模,对于煤炭企业安全生产具有重要的现实意义. 目前关于煤与瓦斯突出的预测方法主要有:单项指标法.瓦斯地质统计法.D

Bagging(Bootstrap aggregating)、随机森林(random forests)、AdaBoost

引言 在这篇文章中,我会详细地介绍Bagging.随机森林和AdaBoost算法的实现,并比较它们之间的优缺点,并用scikit-learn分别实现了这3种算法来拟合Wine数据集.全篇文章伴随着实例,由浅入深,看过这篇文章以后,相信大家一定对ensemble的这些方法有了很清晰地了解. Bagging bagging能提升机器学习算法的稳定性和准确性,它可以减少模型的方差从而避免overfitting.它通常应用在决策树方法中,其实它可以应用到任何其它机器学习算法中.如果大家对决策树的算法不太

随机森林-笔录

决策树有些与生俱来的缺点: 1:分类规则复杂 决策树算法在产生规则的时候采用局部贪婪法.每次都只选择一个属性进行分析构造决策树,所以再产生的分类规则往往相当复杂. 2:收敛到非全局的局部最优解 ID3算法每次在树的某个层次进行属性选择时,它不再回溯重新考虑这个选择,所以它容易产生盲人登山中常见的风险,仅仅收敛到非全局的局部最优解. 3:过度拟合 在决策树学习中,由于分类器过于复杂,它可能会过于适应噪声,从而导致过度拟合问题. 为了克服以上的缺点,引入了另外一个预测模型-----随机森林. 一:森

机器学习:随机森林

? ? 引言 ? ? 随机森林在机器学习实战中没有讲到,我是从伯克利大学的一个叫breiman的主页中看到相关的资料,这个breiman好像是随机森林算法的提出者,网址如下 ? ? http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm ? ? 随机森林算法简介 ? ? 随机森林说白了就是很多个决策树组成在一起,就形成了森林,关键在于如何创建森林里的每一棵树,随机森林用到的方法bootstrap法,通俗的讲就是有放回的抽取样

【Kaggle】用随机森林分类算法解决Biologial Response问题

Kaggle搞起来 Kaggle比赛多依靠机器来自动处理,机器学习几乎是必须要的技能.开始搞Kaggle需要的机器学习技能并不深入,只是需要对于机器学习的常见几个方法有基本了解即可,比如说对于一个问题,你可以认识到它是个classification的问题啊还是regression的问题啊,为什么机器可以根据你输入的一个矩阵来算出来分类结果啊. 其实有时候真的在于是不是愿意踏出那一步,一旦踏出了那一步,做与不做真的是天壤之别. hacker的方式就是通过不断的尝试来学习,所以,搞机器学习,不实践,