本文整理汇总了Python中imblearn.combine.SMOTETomek方法的典型用法代码示例。如果您正苦于以下问题:Python combine.SMOTETomek方法的具体用法?Python combine.SMOTETomek怎么用?Python combine.SMOTETomek使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类imblearn.combine
的用法示例。
在下文中一共展示了combine.SMOTETomek方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_objectmapper_combine
# 需要导入模块: from imblearn import combine [as 别名]
# 或者: from imblearn.combine import SMOTETomek [as 别名]
def test_objectmapper_combine(self):
import imblearn.combine as combine
df = pdml.ModelFrame([])
self.assertIs(df.imbalance.combine.SMOTEENN,
combine.SMOTEENN)
self.assertIs(df.imbalance.combine.SMOTETomek,
combine.SMOTETomek)
示例2: create_sampler
# 需要导入模块: from imblearn import combine [as 别名]
# 或者: from imblearn.combine import SMOTETomek [as 别名]
def create_sampler(sampler_name, random_state=None):
if sampler_name is None or sampler_name == 'None':
return None
if sampler_name.lower() == 'randomundersampler':
return RandomUnderSampler(random_state=random_state)
if sampler_name.lower() == 'tomeklinks':
return TomekLinks(random_state=random_state)
if sampler_name.lower() == 'enn':
return EditedNearestNeighbours(random_state=random_state)
if sampler_name.lower() == 'ncl':
return NeighbourhoodCleaningRule(random_state=random_state)
if sampler_name.lower() == 'randomoversampler':
return RandomOverSampler(random_state=random_state)
if sampler_name.lower() == 'smote':
return SMOTE(random_state=random_state)
if sampler_name.lower() == 'smotetomek':
return SMOTETomek(random_state=random_state)
if sampler_name.lower() == 'smoteenn':
return SMOTEENN(random_state=random_state)
else:
raise ValueError('Unsupported value \'%s\' for sampler' % sampler_name)
示例3: test_sample
# 需要导入模块: from imblearn import combine [as 别名]
# 或者: from imblearn.combine import SMOTETomek [as 别名]
def test_sample(self):
from imblearn.under_sampling import ClusterCentroids, OneSidedSelection
from imblearn.over_sampling import ADASYN, SMOTE
from imblearn.combine import SMOTEENN, SMOTETomek
models = [ClusterCentroids, OneSidedSelection, ADASYN, SMOTE,
SMOTEENN, SMOTETomek]
X = np.random.randn(100, 5)
y = np.array([0, 1]).repeat([80, 20])
df = pdml.ModelFrame(X, target=y, columns=list('ABCDE'))
for model in models:
mod1 = model(random_state=self.random_state)
mod2 = model(random_state=self.random_state)
df.fit(mod1)
mod2.fit(X, y)
result = df.fit_resample(mod1)
expected_X, expected_y = mod2.fit_resample(X, y)
self.assertIsInstance(result, pdml.ModelFrame)
tm.assert_numpy_array_equal(result.target.values, expected_y)
tm.assert_numpy_array_equal(result.data.values, expected_X)
tm.assert_index_equal(result.columns, df.columns)
mod1 = model(random_state=self.random_state)
mod2 = model(random_state=self.random_state)
result = df.fit_sample(mod1)
expected_X, expected_y = mod2.fit_sample(X, y)
self.assertIsInstance(result, pdml.ModelFrame)
tm.assert_numpy_array_equal(result.target.values, expected_y)
tm.assert_numpy_array_equal(result.data.values, expected_X)
tm.assert_index_equal(result.columns, df.columns)
示例4: __init__
# 需要导入模块: from imblearn import combine [as 别名]
# 或者: from imblearn.combine import SMOTETomek [as 别名]
def __init__(self, **kwargs):
super(SmoteTomekSampling, self).__init__(SMOTETomek(**kwargs, random_state=RANDOM_SEED[BALANCE_SMOTE_TOMEK]),
BALANCE_SMOTE_TOMEK)
示例5: resample_smote_tomek
# 需要导入模块: from imblearn import combine [as 别名]
# 或者: from imblearn.combine import SMOTETomek [as 别名]
def resample_smote_tomek(train_inputs, train_targets):
sampler = SMOTETomek(random_state=32)
train_inputs, train_targets = _sampler_helper(sampler, train_inputs, train_targets)
return train_inputs, train_targets
示例6: perform_oversampling
# 需要导入模块: from imblearn import combine [as 别名]
# 或者: from imblearn.combine import SMOTETomek [as 别名]
def perform_oversampling(oversamp_method, db_path, oversamp_features_name, tr_features, tr_labels):
start = time.time()
oversamp_features_pickle_name = db_path + oversamp_features_name + '_' + oversamp_method + '.p'
print(oversamp_features_pickle_name)
if True:
print("Oversampling method:\t" + oversamp_method + " ...")
# 1 SMOTE
if oversamp_method == 'SMOTE':
#kind={'borderline1', 'borderline2', 'svm'}
svm_model = svm.SVC(C=0.001, kernel='rbf', degree=3, gamma='auto', decision_function_shape='ovo')
oversamp = SMOTE(ratio='auto', random_state=None, k_neighbors=5, m_neighbors=10, out_step=0.5, kind='svm', svm_estimator=svm_model, n_jobs=1)
# PROBAR SMOTE CON OTRO KIND
elif oversamp_method == 'SMOTE_regular_min':
oversamp = SMOTE(ratio='minority', random_state=None, k_neighbors=5, m_neighbors=10, out_step=0.5, kind='regular', svm_estimator=None, n_jobs=1)
elif oversamp_method == 'SMOTE_regular':
oversamp = SMOTE(ratio='auto', random_state=None, k_neighbors=5, m_neighbors=10, out_step=0.5, kind='regular', svm_estimator=None, n_jobs=1)
elif oversamp_method == 'SMOTE_border':
oversamp = SMOTE(ratio='auto', random_state=None, k_neighbors=5, m_neighbors=10, out_step=0.5, kind='borderline1', svm_estimator=None, n_jobs=1)
# 2 SMOTEENN
elif oversamp_method == 'SMOTEENN':
oversamp = SMOTEENN()
# 3 SMOTE TOMEK
# NOTE: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.65.3904&rep=rep1&type=pdf
elif oversamp_method == 'SMOTETomek':
oversamp = SMOTETomek()
# 4 ADASYN
elif oversamp_method == 'ADASYN':
oversamp = ADASYN(ratio='auto', random_state=None, k=None, n_neighbors=5, n_jobs=cpu_threads)
tr_features_balanced, tr_labels_balanced = oversamp.fit_sample(tr_features, tr_labels)
# TODO Write data oversampled!
print("Writing oversampled data at: " + oversamp_features_pickle_name + " ...")
np.savetxt('mit_db/' + oversamp_features_name + '_DS1_labels.csv', tr_labels_balanced.astype(int), '%.0f')
f = open(oversamp_features_pickle_name, 'wb')
pickle.dump(tr_features_balanced, f, 2)
f.close
end = time.time()
count = collections.Counter(tr_labels_balanced)
print("Oversampling balance")
print(count)
print("Time required: " + str(format(end - start, '.2f')) + " sec" )
return tr_features_balanced, tr_labels_balanced