回归重抽样策略

resreg的Python项目详细描述


Resreg是一个Python包,用于在回归问题中对不平衡分布进行重新采样。在

如果您觉得resreg有用,请引用以下文章:

  • 加多,J.E.,贝克汉姆,G.T.,佩恩,C.M.(2020)。利用重采样策略和集成学习改进酶最适温度预测。J.化学。信息模型。60(8),4098-4107。在

如果您使用RO、RU、SMOTER、GN或WERCS方法,也可以引用

  • Branco,P.,Torgo,L.,和Ribeiro,R.P.(2019年)。回归中不平衡分布的预处理方法。神经计算。343,76-99。在

如果你使用REBAGG,也可以引用

  • Branco,P.,Torgo,L.,和Ribeiro,R.P.(2018年)。REBAGG:不平衡回归的重抽样装袋。在第二届非平衡领域学习国际研讨会:理论与应用。第67-81页。在

如果您使用精度、召回或F1分数进行回归,还应引用

  • Torgo,L.和Ribera,R.P.(2009年)。回归的精确性和召回率。在发现科学国际会议上。pp332-346

安装

最好是从GitHub源代码安装。强烈建议使用虚拟环境。在

git clone https://github.com/jafetgado/resreg.git
cd resreg
pip install -r requirements.txt
python setup.py install

或者,用pip安装(不太首选)

^{pr2}$

先决条件

  1. Python3
  2. Numpy公司
  3. 神经质的
  4. 熊猫
  5. Scikit学习

使用

回归数据集(X,y)可以通过六种策略中的任何一种进行重采样,以减轻分布中的不平衡:随机过采样、随机欠采样、SMOTER、高斯噪声、WERCS或Rebagg。在

  1. 随机过采样(RO):用户通过相关函数选择的稀有值随机过采样。在
  2. 随机欠采样(RU):随机欠采样丰富值。在
  3. SMOTER:随机少采样丰富值;通过最近邻之间的插值过度采样稀有值。在
  4. 高斯噪声(GN):随机欠采样丰富值;通过添加高斯噪声对稀有值进行过采样。在
  5. WERCS:通过使用用户指定的相关性值作为权重选择实例,对数据集进行重新采样。在
  6. REBAGG:在数据集的独立重采样引导子集上训练Scikit learn-base学习者。在

有关详细信息,请参阅教程。在

示例

importresregfromsklearn.metricsimporttrain_test_splitfromsklearn.metricsimportRandomForestRegressor# Split dataset to training and testing setsX_train,X_test,y_train,y_test=resreg.train_test_split(X,y,test_size=0.25)# Resample training set with random oversamplingrelevance=resreg.sigmoid_relevance(y,cl=None,ch=np.percentile(y,90))X_train,y_train=resreg.random_oversampling(X_train,y_train,relevance,relevance_threshold=0.5,over='balance')# Fit regressor to resampled training setreg=RandomForestRegressor()reg.fit(X_train,y_train)y_pred=reg.predict(X_train,y_train)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么单元测试中的“验证”在不同实例的情况下不返回“不同参数”错误?   java如何从具有相同类名的div中选择元素(Selenium)   Java制作纸牌游戏,有关于类的问题吗   bluej在Java中使用变异器和访问器设置颜色和圆半径   java准确定位异常错误的最佳方法是什么?   使用多个监视器时的java设置对话框位置   java如何在不使用JavascriptExecutor的情况下在网页中向下/向上滚动   java在for循环中将大小设置为n   java为什么akka需要不可变的消息   java LdapInvalidDnException:意外标记:   java如果字符串的第一个字母不是一个,如何大写?   使用htmlunit的java html内容提取   java从CDI托管bean获取方法的注释   java有办法在运行时检查post请求参数的大小吗   java我可以将实体注入托管Bean并直接持久化吗?