发布历史#
版本 0.12.4#
2024年10月4日
更新日志#
兼容性#
与NumPy 2.0+的兼容性 #1097 由 Guillaume Lemaitre.
版本 0.12.3#
2024年5月28日
更新日志#
兼容性#
与scikit-learn 1.5的兼容性 #1074 和 #1084 由 Guillaume Lemaitre.
版本 0.12.2#
2024年3月31日
更新日志#
错误修复#
修复我们在测试套件中检查特定Python版本的方式。 #1075 由 Guillaume Lemaitre。
版本 0.12.1#
2024年3月31日
更新日志#
错误修复#
修复了
InstanceHardnessThreshold中的一个错误,其中estimator不能是Pipeline对象。 #1049 由 Gonenc Mogol 提交。
兼容性#
不要在测试中使用
distutils,因为它已被弃用。 #1065 由 Michael R. Crusoe.修复测试中的scikit-learn导入以兼容版本1.4.1.post1。 #1073 由 Guillaume Lemaitre。
修复测试以兼容Python 3.13。 #1073 由 Guillaume Lemaitre。
版本 0.12.0#
2024年1月24日
更新日志#
错误修复#
修复了
SMOTENC中的一个错误,其中独热编码的条目应该被sqrt(2)而不是2除,考虑到它们被插入到欧几里得距离计算中。 #1014 由 Guillaume Lemaitre 提交。当所有支持向量都被标记为噪声时,在
SVMSMOTE中引发一个信息丰富的错误消息。 #1016 由 Guillaume Lemaitre 提交。修复了
SMOTENC中的一个错误,其中连续特征的标准差的中位数仅在少数类上计算。现在,我们为每个被上采样的类计算这个统计量。 #1015 由 Guillaume Lemaitre 提交。修复了
SMOTENC中的一个错误,使得在多类情况下也能处理连续特征的标准差中位数为空的情况。 #1015 由 Guillaume Lemaitre 提交。修复了
BorderlineSMOTE版本2中的一个错误,其中样本应从整个数据集生成,而不仅仅是从少数类生成。 #1023 由 Guillaume Lemaitre 提交。修复了
NeighbourhoodCleaningRule中的一个错误,其中kind_sel="all"未按文献中所述工作。#1012由Guillaume Lemaitre提交。修复了
NeighbourhoodCleaningRule中的一个错误,其中threshold_cleaning比率被乘以总样本数而不是少数类样本数。#1012由Guillaume Lemaitre提交。修复了
RandomUnderSampler和RandomOverSampler中的一个错误,该错误导致包含仅 NaT的列未被正确处理。 #1059 由 Guillaume Lemaitre 提交。
兼容性#
BalancedRandomForestClassifier现在支持缺失值和单调约束,如果安装了 scikit-learn >= 1.4。Pipeline支持元数据路由,如果安装了 scikit-learn >= 1.4。与scikit-learn 1.4的兼容性。 #1058 由 Guillaume Lemaitre.
弃用#
弃用
estimator_参数,推荐使用estimators_参数,适用于类CondensedNearestNeighbour和OneSidedSelection。estimator_将在 0.14 版本中移除。 #1011 由 Guillaume Lemaitre 提交。在
:pr:`1012中弃用kind_sel,由 Guillaume Lemaitre 完成。
增强功能#
版本 0.11.0#
2023年7月8日
更新日志#
错误修复#
修复了
classification_report_imbalanced中的一个错误,当output_dict=True时,参数target_names未被考虑。 #989 由 AYY7 提交。SMOTENC现在可以处理混合数据类型,例如bool和pd.category,通过将转换委托给 scikit-learn 编码器。 #1002 由 Guillaume Lemaitre 贡献。在
SMOTEN中处理稀疏矩阵并发出警告,因为它需要转换为密集矩阵。 #1003 由 Guillaume Lemaitre 提交。当少数类被过度采样超过多数类样本数量时,移除引发的虚假警告。 #1007 由 Guillaume Lemaitre 提交。
兼容性#
为了兼容scikit-learn >= 1.3.0的维护版本。 #999 由 Guillaume Lemaitre.
弃用#
在
SMOTENC中的拟合属性ohe_已被弃用,并将在0.13版本中移除。请改用categorical_encoder_。 #1000 由 Guillaume Lemaitre 提供。参数
sampling_strategy、bootstrap和replacement的默认值将在BalancedRandomForestClassifier中更改,以遵循 原始论文的实现。这些更改将在 0.13 版本中生效。 #1006 由 Guillaume Lemaitre 提交。
增强功能#
SMOTENC现在接受一个参数categorical_encoder,允许指定一个带有自定义参数的OneHotEncoder。 #1000 由 Guillaume Lemaitre 提供。SMOTEN现在接受一个参数categorical_encoder,允许指定一个带有自定义参数的OrdinalEncoder。一个新的拟合参数categorical_encoder_被暴露出来,以访问拟合的编码器。 #1001 由 Guillaume Lemaitre 提供。RandomUnderSampler和RandomOverSampler(当shrinkage is not None时)现在接受任何数据类型,并且不会尝试任何数据转换。 #1004 由 Guillaume Lemaitre 贡献。SMOTENC现在支持在传递categorical_features参数时传递类似数组的str。 #1008 由 :user`Guillaume Lemaitre`。 SMOTENC现在支持自动分类推断 当categorical_features设置为"auto"时。 #1009 由 :user`Guillaume Lemaitre`.
版本 0.10.1#
2022年12月28日
更新日志#
错误修复#
修复了在过采样器中字符串
minority被拒绝作为无效采样策略的回归问题。 #964 由 Prakhyath Bhandary 提交。
版本 0.10.0#
2022年12月9日
更新日志#
错误修复#
确保
Substitution在使用python -OO时能够正常工作,该选项会将__doc__替换为None。 #953 由 Guillaume Lemaitre。
兼容性#
维护版本以兼容 scikit-learn >= 1.0.2。 #946, #947, #949 由 Guillaume Lemaitre.
添加对自动参数验证的支持,如 scikit-learn >= 1.2 中的功能。 #955 由 Guillaume Lemaitre 提供。
为所有采样器添加对
feature_names_in_以及get_feature_names_out的支持。 #959 由 Guillaume Lemaitre贡献。
弃用#
参数
n_jobs已从类ADASYN,BorderlineSMOTE,SMOTE,SMOTENC,SMOTEN, 和SVMSMOTE中弃用。相反,传递一个设置了n_jobs的最近邻估计器。 #887 由 Guillaume Lemaitre 提供。参数
base_estimator已被弃用,并将在版本 0.12 中移除。它影响了以下类:BalancedBaggingClassifier,EasyEnsembleClassifier,RUSBoostClassifier. #946 由 Guillaume Lemaitre 提交。
增强功能#
添加支持以仅通过鸭子类型接受兼容的
NearestNeighbors对象。例如,它允许接受cuML实例。 #858 由 NV-jpt 和 Guillaume Lemaitre。
版本 0.9.1#
2022年5月16日
更新日志#
此版本提供了修复,使imbalanced-learn能够与最新发布的scikit-learn(1.1.0)一起工作。
版本 0.9.0#
2022年1月11日
更新日志#
此版本主要提供了一些修复,使imbalanced-learn能够与最新版本的scikit-learn(1.0.2)兼容。
版本 0.8.1#
2020年9月29日
更新日志#
维护#
使
imbalanced-learn与scikit-learn1.0兼容。 #864 由 Guillaume Lemaitre。
版本 0.8.0#
2021年2月18日
更新日志#
新功能#
添加函数
imblearn.metrics.macro_averaged_mean_absolute_error返回 MAE的类别平均值。此指标用于序数分类。 #780 由 Aurélien Massiot 提供。添加类
imblearn.metrics.pairwise.ValueDifferenceMetric来计算仅包含分类值的样本之间的成对距离。 #796 由 Guillaume Lemaitre 提供。添加类
imblearn.over_sampling.SMOTEN以对仅包含分类特征的数据进行过采样。 #802 由 Guillaume Lemaitre 提供。增加了在
imblearn.ensemble.BalancedBaggingClassifier中传递任何类型采样器的可能性,解锁了基于重采样装袋的方法的实现。 #808 由 Guillaume Lemaitre 提供。
增强功能#
在
imblearn.metrics.classification_report_imbalanced中添加选项output_dict以返回字典而不是字符串。 #770 由 Guillaume Lemaitre 提供。添加了一个选项以在
imblearn.over_sampling.RandomOverSampler中生成平滑的bootstrap。它由参数shrinkage控制。此方法也被称为随机过采样示例(ROSE)。 #754 由 Andrea Lorenzon 和 Guillaume Lemaitre 提供。
错误修复#
修复了
imblearn.under_sampling.ClusterCentroids中的一个错误,其中voting="hard"可能导致从任何类别中选择样本,而不是目标类别。 #769 由 Guillaume Lemaitre 提交。修复了在
imblearn.FunctionSampler中的一个错误,即在调用fit时,即使validate=False,仍然执行了验证。 #790 由 Guillaume Lemaitre 提交。
维护#
移除需求文件,改为在
setup.py文件中的extras_require中添加包。 #816 由 Guillaume Lemaitre 提交。将网站模板更改为使用
pydata-sphinx-theme。 #801 由 Guillaume Lemaitre。
弃用#
上下文管理器
imblearn.utils.testing.warns在0.8版本中已被弃用,并将在1.0版本中移除。 #815 由 Guillaume Lemaitre 提交。
版本 0.7.0#
2020年6月9日
更新日志#
维护#
确保当
memory被激活且joblib==0.11时,imblearn.pipeline.Pipeline正常工作。 #687 由 Christos Aridas 提供。重构通用测试以使用来自
scikit-learn0.23的开发工具。 #710 由 Guillaume Lemaitre。移除由
scikit-learn0.23发出的FutureWarning。 #710 由 Guillaume Lemaitre。仅在
scikit-learn中强制使用关键字参数。 #721 由 Guillaume Lemaitre 提交。
更改的模型#
由于更改,以下模型可能会给出一些不同的结果:
错误修复#
将默认值
min_samples_leaf更改为与 scikit-learn 一致。 #711 由 zerolfx 提交。修复由于
imblearn.metrics.make_index_balanced_accuracy中scikit-learn0.23的更改导致的bug。该函数无法使用。 #710 由 Guillaume Lemaitre 提交。当在
imblearn.over_sampling.SMOTENC中只提供数值或分类特征时,引发适当的错误消息。 #720 由 Guillaume Lemaitre 提交。修复了当标准差的中位数为空时的错误,在
imblearn.over_sampling.SMOTENC中。 #675 由 bganglia。
增强功能#
在imbalanced-learn中实现的分类器,
imblearn.ensemble.BalancedBaggingClassifier,imblearn.ensemble.BalancedRandomForestClassifier,imblearn.ensemble.EasyEnsembleClassifier, 和imblearn.ensemble.RUSBoostClassifier, 接受与y中相同的sampling_strategy键,而无需预先编码y。 #718 由 Guillaume Lemaitre。在导入
imblearn.keras时延迟导入keras模块 #719 由 Guillaume Lemaitre 提交。
弃用#
弃用参数
n_jobs在imblearn.under_sampling.ClusterCentroids中,因为它被sklearn.cluster.KMeans使用,而后者已弃用它。 #710 由 Guillaume Lemaitre 提交。弃用通过位置传递关键字参数,类似于
scikit-learn。 #721 由 Guillaume lemaitre。
版本 0.6.2#
2020年2月16日
这是一个错误修复版本,旨在解决一些关于处理数组输入和输出格式的问题。
更新日志#
允许将列向量作为目标传递。 #673 由 Christos Aridas。
为pandas、numpy和普通列表提供更好的输入/输出处理。 #681 由 Christos Aridas。
版本 0.6.1#
2019年12月7日
这是一个主要解决0.6.0版本中一些打包问题的错误修复版本。它还包括一些文档的改进和一些错误修复。
更新日志#
错误修复#
修复了
imblearn.ensemble.BalancedRandomForestClassifier中的一个错误,该错误导致由于max_samples而在拟合过程中使用了错误的样本数量,从而导致OOB分数的计算错误。 #656 由 Guillaume Lemaitre 提交。
版本 0.6.0#
2019年12月5日
更新日志#
更改的模型#
由于scikit-learn的变化,以下模型可能会给出一些不同的采样结果:
由于与随机状态内部使用相关的更改,以下采样器将给出不同的结果:
错误修复#
imblearn.under_sampling.InstanceHardnessThreshold现在考虑了random_state并将给出确定性的结果。此外,cross_val_predict被用来利用并行性。#599 由 Shihab Shahriar Khan 提供。修复了
imblearn.ensemble.BalancedRandomForestClassifier中的一个错误,该错误导致OOB分数的计算错误。 #656 由 Guillaume Lemaitre 提交。
维护#
在scikit-learn中的一些模块被私有化后,更新了导入。 以下导入已被更改:
sklearn.ensemble._base._set_random_states,sklearn.ensemble._forest._parallel_build_trees,sklearn.metrics._classification._check_targets,sklearn.metrics._classification._prf_divide,sklearn.utils.Bunch,sklearn.utils._safe_indexing,sklearn.utils._testing.assert_allclose,sklearn.utils._testing.assert_array_equal,sklearn.utils._testing.SkipTest. #617 by Guillaume Lemaitre.同步
imblearn.pipeline与sklearn.pipeline。 #620 由 Guillaume Lemaitre。同步
imblearn.ensemble.BalancedRandomForestClassifier并添加 参数max_samples和ccp_alpha。 #621 由 Guillaume Lemaitre。
增强功能#
imblearn.under_sampling.RandomUnderSampling,imblearn.over_sampling.RandomOverSampling,imblearn.datasets.make_imbalance接受 Pandas DataFrame 作为输入, 并将输出 Pandas DataFrame。同样,它也接受 Pandas Series 作为输入, 并将输出 Pandas Series。 #636 由 Guillaume Lemaitre 提供。imblearn.FunctionSampler接受一个参数validate,允许 检查或不检查输入X和y。 #637 由 Guillaume Lemaitre 提供。imblearn.under_sampling.RandomUnderSampler,imblearn.over_sampling.RandomOverSampler可以在X中存在非有限值时进行重采样。 #643 由 Guillaume Lemaitre 提供。如果输入的是Pandas DataFrame,所有采样器都会输出一个Pandas DataFrame。 #644 由 Guillaume Lemaitre.
在
imblearn.over_sampling.ADASYN,imblearn.over_sampling.SMOTE,imblearn.over_sampling.BorderlineSMOTE,imblearn.over_sampling.SVMSMOTE,imblearn.over_sampling.KMeansSMOTE,imblearn.over_sampling.SMOTENC中的样本生成现在已向量化,当X为稀疏时,提供了额外的加速。 #596 和 #649 由 Matt Eding 提供。
弃用#
以下类别在2个弃用周期后已被移除:
ensemble.BalanceCascade和ensemble.EasyEnsemble。 #617 由 Guillaume Lemaitre。以下函数在2个弃用周期后已被移除:
utils.check_ratio. #617 由 Guillaume Lemaitre.参数
ratio和return_indices已从所有采样器中移除。 #617 由 Guillaume Lemaitre 提交。参数
m_neighbors,out_step,kind,svm_estimator已从imblearn.over_sampling.SMOTE中移除。 #617 由 Guillaume Lemaitre 提交。
版本 0.5.0#
2019年6月28日
更新日志#
更改的模型#
即使相同的数据 X 和 y 相同,以下模型或函数可能会给出不同的结果。
imblearn.ensemble.RUSBoostClassifier默认的估计器从具有完整深度的sklearn.tree.DecisionTreeClassifier更改为决策树桩(即,树的最大深度为max_depth=1)。
文档#
在使用
float进行过采样和欠采样的采样策略时,修正比例的定义。 #525 由 Ariel Rossanigo.在API文档中添加
imblearn.over_sampling.BorderlineSMOTE和imblearn.over_sampling.SVMSMOTE。 #530由Guillaume Lemaitre贡献。
增强功能#
为SMOTEENN和SMOTETomek添加并行化。 #547 由 Michael Hsieh.
添加了
imblearn.utils._show_versions。更新了贡献指南和问题模板,展示了如何从命令行打印系统和依赖信息。#557 由 Alexander L. Hayes。添加
imblearn.over_sampling.KMeansSMOTE,这是一个在应用SMOTE之前对聚类点进行过采样的工具。 #435 由 Stephan Heijl 提供。
维护#
使得可以
import imblearn并访问子模块。 #500 由 Guillaume Lemaitre.移除对Python 2的支持,移除来自scikit-learn 0.21的弃用警告。 #576 由 Guillaume Lemaitre.
错误#
修复了在
keras.layers.BatchNormalization的错误使用,在porto_seguro_keras_under_sampling.py示例中。批归一化 被移到了激活函数之前,并且从密集层中移除了偏置。 #531 由 Guillaume Lemaitre。修复了在将矩阵堆叠时转换为COO格式稀疏矩阵时的错误,该错误仅存在于旧版本的scipy中。
imblearn.over_sampling.SMOTENC。此错误仅存在于旧版本的scipy中。 #539 由 Guillaume Lemaitre 提交。修复了
imblearn.pipeline.Pipeline中的一个错误,其中None可能是最终的估计器。 #554 由 Oliver Rausch 提交。修复了
imblearn.over_sampling.SVMSMOTE和imblearn.over_sampling.BorderlineSMOTE中的错误,其中默认参数n_neighbors未正确设置。 #578 由 Guillaume Lemaitre 提交。通过更改
imblearn.ensemble.RUSBoostClassifier中的默认深度来修复错误,以获取如原始论文中的决策树桩作为弱学习器。 #545 由 Christos Aridas 提交。允许直接从
tensorflow导入keras在imblearn.keras中。 #531 由 Guillaume Lemaitre贡献。
版本 0.4.2#
2018年10月21日
更新日志#
错误修复#
修复了
imblearn.over_sampling.SMOTENC中的一个错误,该错误使用了标准差的中位数而不是标准差中位数的一半。 由Guillaume Lemaitre在#491中修复。当传递不支持的目标时引发错误,即回归目标或多标签目标。Imbalanced-learn 不支持这种情况。 由 Guillaume Lemaitre 在 #490 中提出。
修复了
imblearn.over_sampling.SMOTENC中的一个错误,该错误在inverse_transform期间将稀疏矩阵密集化。 由Guillaume Lemaitre在#495中修复。修复了
imblearn.over_sampling.SMOTE_NC中的一个错误,其中平局打破错误地进行了采样。 由Guillaume Lemaitre在#497中修复。
版本 0.4#
2018年10月12日
警告
版本0.4是imbalanced-learn支持Python 2.7和Python 3.4的最后一个版本。Imbalanced-learn 0.5将需要Python 3.5或更高版本。
亮点#
此版本带来了一系列新功能以及一些API更改,以加强imbalanced-learn的基础。
作为新功能,新增了两个模块 imblearn.keras 和
imblearn.tensorflow,在这些模块中可以使用不平衡学习采样器来生成平衡的小批量数据。
模块 imblearn.ensemble 已经与新分类器整合:
imblearn.ensemble.BalancedRandomForestClassifier,
imblearn.ensemble.EasyEnsembleClassifier,
imblearn.ensemble.RUSBoostClassifier.
在
imblearn.over_sampling.RandomOverSampler 和
imblearn.under_sampling.RandomUnderSampler 中添加了对字符串的支持。此外,一个新的类
imblearn.over_sampling.SMOTENC 允许生成包含连续和分类特征的数据集的样本。
imblearn.over_sampling.SMOTE 已经被简化并分解为两个额外的类:
imblearn.over_sampling.SVMSMOTE 和
imblearn.over_sampling.BorderlineSMOTE。
关于API也有一些变化:
引入了参数sampling_strategy来替换ratio参数。此外,return_indices参数已被弃用,所有采样器在可能的情况下都会暴露一个sample_indices_。
更新日志#
API#
将参数
ratio替换为sampling_strategy。 #411 由 Guillaume Lemaitre 提交。启用使用
float进行二分类的sampling_strategy。#411 由 Guillaume Lemaitre。启用使用
list作为清理方法,以指定采样的类。#411 由 Guillaume Lemaitre。将
fit_sample替换为fit_resample。为了向后兼容,仍然可以使用别名。此外,sample已被移除,以避免在不同数据集上进行重采样。 #462 由 Guillaume Lemaitre 提供。
新功能#
添加一个
keras和tensorflow模块来创建平衡的小批量生成器。 #409 由 Guillaume Lemaitre。添加
imblearn.ensemble.EasyEnsembleClassifier,它创建了一个在平衡的引导样本上训练的AdaBoost分类器的集合。 #455 由 Guillaume Lemaitre 提供。添加
imblearn.ensemble.BalancedRandomForestClassifier,它平衡了提供给森林中每棵树的每个引导样本。 #459 由 Guillaume Lemaitre 提供。添加
imblearn.ensemble.RUSBoostClassifier,它在 AdaBoost 的每次提升迭代之前应用随机欠采样阶段。 #469 由 Guillaume Lemaitre 提供。添加
imblern.over_sampling.SMOTENC,它在具有异构数据类型(连续和分类特征)的数据集上生成合成样本。 #412 由 Denis Dudnik 和 Guillaume Lemaitre。
增强功能#
添加一个文档节点,以从平衡的袋装分类器创建平衡的随机森林。#372 由 Guillaume Lemaitre 提供。
记录用于评估不平衡数据集上模型的指标。#367 由Guillaume Lemaitre。
添加对一对一编码目标的支持以支持keras。#409 由 Guillaume Lemaitre。
为使用
BorderlineSMOTE和SVMSMOTE的边界线和SVM SMOTE添加特定类。 #440由Guillaume Lemaitre贡献。允许
imblearn.over_sampling.RandomOverSampler可以使用属性return_indices返回索引。 #439 由 Hugo Gascon 和 Guillaume Lemaitre 提供。允许
imblearn.under_sampling.RandomUnderSampler和imblearn.over_sampling.RandomOverSampler对包含字符串的对象数组进行采样。 #451 由 Guillaume Lemaitre 提供。
错误修复#
修复了
metrics.classification_report_imbalanced中的错误,其中y_pred和y_true被反转了。#394 由 @Ole Silvig. 修复ADASYN中的错误,仅在生成新样本时考虑当前类别的样本。#354 由 Guillaume Lemaitre。
修复了允许
sampling_strategy字典排序行为的错误,从而在使用相同的随机状态时获得确定性结果。 #447 由 Guillaume Lemaitre 提交。强制克隆作为属性传递给采样器的scikit-learn估计器。 #446 由 Guillaume Lemaitre。
修复了在生成样本时未保留X和y的dtype的错误。 #450 由 Guillaume Lemaitre。
添加将
Memory对象传递给make_pipeline的选项,如pipeline.Pipeline类中所示。 #458 由 Christos Aridas贡献。
维护#
在0.2版本中移除已弃用的参数 - #331 由 Guillaume Lemaitre.
将一些模块设为私有。 #452 由 Guillaume Lemaitre.
升级要求至scikit-learn 0.20。 #379 由 Guillaume Lemaitre。
在测试中捕获弃用警告。 #441 由 Guillaume Lemaitre.
重构并实施
pytest风格的测试。 #470 由 Guillaume Lemaitre。
文档#
移除一些不必要的文档字符串。 #454 由 Guillaume Lemaitre.
修复了当
sampling_strategy参数用作浮点数时的文档。 #480 由 Guillaume Lemaitre.
弃用#
弃用
ratio,改用sampling_strategy。#411 由 Guillaume Lemaitre 提出。弃用
dict用于清理方法。应使用list。#411由Guillaume Lemaitre。弃用
random_state在imblearn.under_sampling.NearMiss,imblearn.under_sampling.EditedNearestNeighbors,imblearn.under_sampling.RepeatedEditedNearestNeighbors,imblearn.under_sampling.AllKNN,imblearn.under_sampling.NeighbourhoodCleaningRule,imblearn.under_sampling.InstanceHardnessThreshold,imblearn.under_sampling.CondensedNearestNeighbours.弃用
kind,out_step,svm_estimator,m_neighbors在imblearn.over_sampling.SMOTE中。用户应使用imblearn.over_sampling.SVMSMOTE和imblearn.over_sampling.BorderlineSMOTE。 #440 由 Guillaume Lemaitre。弃用
imblearn.ensemble.EasyEnsemble,转而使用元估计器imblearn.ensemble.EasyEnsembleClassifier,它遵循文献中描述的精确算法。 #455 由 Guillaume Lemaitre 提出。弃用
imblearn.ensemble.BalanceCascade。 #472 由 Guillaume Lemaitre。弃用所有采样器中的
return_indices。相反,当采样器选择原始样本的子集时,会创建一个属性sample_indices_。 #474 由 @Guillaume Lemaitre。
版本 0.3#
2018年2月22日
更新日志#
Pytest 被用来替代 nosetests。#321 由 Joan Massich 提供。
添加了用户指南并扩展了一些示例。#295 由 Guillaume Lemaitre。
修复了
utils.check_ratio中的一个错误,当所需样本数量为负数时会引发错误。#312 由 Guillaume Lemaitre。修复了
under_sampling.NearMiss版本3中的一个错误。返回的索引是错误的。#312由Guillaume Lemaitre提交。修复了
ensemble.BalanceCascade和combine.SMOTEENN以及SMOTETomek的bug。#295由Guillaume Lemaitre修复。修复了
check_ratio的bug,使其在ratio为可调用对象时能够传递参数。#307 由 Guillaume Lemaitre。
在
pipeline.Pipeline中使用None对象关闭步骤。由Christos Aridas提供。添加一个获取函数
datasets.fetch_datasets以便获取一些用于基准测试的不平衡数据集。#249 由 Guillaume Lemaitre 提供。
所有采样器默认接受CSR类型的稀疏矩阵。#316 由 Guillaume Lemaitre 提供。
datasets.make_imbalance像其他采样器一样采用比例。它支持多类别。#312 由 Guillaume Lemaitre 提供。所有的单元测试都已经被分解,并且从scikit-learn中派生出了一个
utils.check_estimators。由Guillaume Lemaitre完成。用于自动构建conda包并上传的脚本。#242 由 Guillaume Lemaitre
移除seaborn依赖并改进示例。#264 由 Guillaume Lemaitre贡献。
将所有类调整为多类重采样。#290 由 Guillaume Lemaitre
__init__已从base.SamplerMixin中移除,以创建一个真正的混合类。#242 由 Guillaume Lemaitre 提供。创建一个模块
exceptions来处理一致的错误抛出。#242 由 Guillaume Lemaitre 完成。创建了一个模块
utils.validation用于检查重复模式。#242 由 Guillaume Lemaitre 完成。将
prototype_selection和prototype_generation子模块中的欠采样方法移动,以更清晰地区分。#277由Guillaume Lemaitre。更改
ratio,使其能够适应多类问题。#290 由 Guillaume Lemaitre。
弃用在
datasets.make_imbalance中使用min_c_的做法。#312 由 Guillaume Lemaitre 提出弃用在
datasets.make_imbalance中使用float作为ratio参数。#290由Guillaume Lemaitre提出。弃用浮点数作为比例,推荐使用字典、字符串或可调用对象。#290 由 Guillaume Lemaitre 提出。
版本 0.2#
2017年1月1日
更新日志#
修复了
under_sampling.NearMiss中的一个错误,该错误在方法3的下采样过程中没有选择正确的样本。由Guillaume Lemaitre修复。修复了
ensemble.EasyEnsemble中的一个错误,更正了random_state的生成。由Guillaume Lemaitre和Christos Aridas完成。修复了
under_sampling.RepeatedEditedNearestNeighbours中的一个错误,添加了额外的停止标准,以避免少数类变成多数类或某个类消失。由Guillaume Lemaitre贡献。修复了
under_sampling.AllKNN中的一个错误,添加了停止标准以避免少数类变成多数类或某个类消失。由Guillaume Lemaitre完成。修复了
under_sampling.CondensedNeareastNeigbour中的一个错误,更正了返回的索引列表。由Guillaume Lemaitre完成。修复了
ensemble.BalanceCascade中的一个错误,解决了如果需要获取单个数组的问题。由Guillaume Lemaitre贡献。修复了
pipeline.Pipeline中的一个错误,解决了将Pipeline嵌入到其他Pipeline中的问题。#231由Christos Aridas贡献。修复了
pipeline.Pipeline中的一个错误,解决了将采样器放入同一个Pipeline中的问题。#188 由 Christos Aridas 提交。修复了
under_sampling.CondensedNeareastNeigbour中的一个错误,当只选择一个样本时,修正了sel_x的形状。由Aliaksei Halachkin完成。修复了
under_sampling.NeighbourhoodCleaningRule中的一个错误,选择邻居而不是少数类被错误分类的样本。#230 由 Aleksandr Loskutov贡献。修复了
over_sampling.ADASYN中的一个错误,修正了新样本的创建方式,使得新样本位于少数样本和最近邻之间。#235 由 Rafael Wampfler 提交。
添加了AllKNN欠采样技术。由Dayvid Oliveira贡献。
添加了一个模块
metrics,实现了用于平衡问题的一些特定评分函数。#204 由 Guillaume Lemaitre 和 Christos Aridas 贡献。
增加了对bumpversion的支持。由Guillaume Lemaitre提供。
验证二元采样器中目标的类型。目前会发出警告。由Guillaume Lemaitre和Christos Aridas提供。
由于
sklearn的弃用周期,从cross_validation模块更改为model_selection模块。由Dayvid Oliveira和Christos Aridas完成。
size_ngh在combine.SMOTEENN中已被弃用。请使用n_neighbors代替。由 Guillaume Lemaitre, Christos Aridas, 和 Dayvid Oliveira 提供。size_ngh已在under_sampling.EditedNearestNeighbors中弃用。请改用n_neighbors。由 Guillaume Lemaitre, Christos Aridas, 和 Dayvid Oliveira 提供。size_ngh已在under_sampling.CondensedNeareastNeigbour中弃用。请使用n_neighbors代替。由 Guillaume Lemaitre, Christos Aridas, 和 Dayvid Oliveira 提供。size_ngh已在under_sampling.OneSidedSelection中弃用。请改用n_neighbors。由 Guillaume Lemaitre, Christos Aridas, 和 Dayvid Oliveira 提供。size_ngh已在under_sampling.NeighbourhoodCleaningRule中弃用。请改用n_neighbors。 由 Guillaume Lemaitre、 Christos Aridas 和 Dayvid Oliveira 提供。size_ngh已在under_sampling.RepeatedEditedNearestNeighbours中弃用。请使用n_neighbors代替。由 Guillaume Lemaitre, Christos Aridas, 和 Dayvid Oliveira 提供。size_ngh在under_sampling.AllKNN中已被弃用。请使用n_neighbors代替。由 Guillaume Lemaitre, Christos Aridas, 和 Dayvid Oliveira 提供。已经创建了两个基类
BaseBinaryclassSampler和BaseMulticlassSampler来处理目标类型 并在出现异常时发出警告。 由 Guillaume Lemaitre 和 Christos Aridas 创建。将
random_state移动到SamplerMixin初始化时分配。由Guillaume Lemaitre完成。在
combine.SMOTEENN和combine.SMOTETomek中提供估计器而不是参数。因此,参数列表已被弃用。由Guillaume Lemaitre和 Christos Aridas提供。k在over_sampling.ADASYN中已被弃用。请改用n_neighbors。 #183 由 Guillaume Lemaitre 提供。k和m在over_sampling.SMOTE中已被弃用。请使用k_neighbors和m_neighbors代替。 #182 由 Guillaume Lemaitre 提供。n_neighbors接受基于KNeighborsMixin的对象,用于under_sampling.EditedNearestNeighbors,under_sampling.CondensedNeareastNeigbour,under_sampling.NeighbourhoodCleaningRule,under_sampling.RepeatedEditedNearestNeighbours, 和under_sampling.AllKNN。 #109 由 Guillaume Lemaitre。
替换一些剩余的
UnbalancedDataset出现。 由 Francois Magimel 提供。在文档中添加了doctest。由Guillaume Lemaitre贡献。
版本 0.1#
2016年12月26日
更新日志#
稳定API的首次发布。由 :user;`Fernando Nogueira
`, Guillaume Lemaitre, Christos Aridas, 和 Dayvid Oliveira.
- Under-sampling
随机多数欠采样与替换
提取多数-少数Tomek链接
使用聚类中心进行欠采样
NearMiss-(1 & 2 & 3)
浓缩最近邻
单边选择
邻域清理规则
编辑最近邻
实例硬度阈值
重复编辑最近邻
- Over-sampling
随机少数类过采样替换
SMOTE - 合成少数类过采样技术
bSMOTE(1 & 2) - 类型1和2的边界SMOTE
SVM SMOTE - 支持向量SMOTE
ADASYN - 用于不平衡学习的自适应合成采样方法
- Over-sampling followed by under-sampling
SMOTE + Tomek 链接
SMOTE + ENN
- Ensemble sampling
EasyEnsemble
平衡级联