python解决数据不均衡,上采样方法解决

使用imblearn这个库:

from imblearn.over_sampling import SVMSMOTE, SMOTE, ADASYN, KMeansSMOTE
import pandas as pd
import numpy as np

# 首先生成dataframe
df = pd.DataFrame(np.random.randint(0, 100, size=(100, 5)))
df.loc[:90, 'label'] = 1
df.loc[90:, 'label'] = 0
# 使用SMOTE算法生成数据
smote = SMOTE(random_state=0)
x_train, y_train = smote.fit_resample(df.drop(['label'], axis=1), df['label'])
# 最后的 y_train 里1与0是一样多的

你可能感兴趣的:(数据处理,pandas)