回归重抽样策略
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}$先决条件
- Python3
- Numpy公司
- 神经质的
- 熊猫
- Scikit学习
使用
回归数据集(X,y)可以通过六种策略中的任何一种进行重采样,以减轻分布中的不平衡:随机过采样、随机欠采样、SMOTER、高斯噪声、WERCS或Rebagg。在
- 随机过采样(RO):用户通过相关函数选择的稀有值随机过采样。在
- 随机欠采样(RU):随机欠采样丰富值。在
- SMOTER:随机少采样丰富值;通过最近邻之间的插值过度采样稀有值。在
- 高斯噪声(GN):随机欠采样丰富值;通过添加高斯噪声对稀有值进行过采样。在
- WERCS:通过使用用户指定的相关性值作为权重选择实例,对数据集进行重新采样。在
- 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)
- 项目
标签: