在处理不平衡数据集中的多类分类问题时,可以采用以下方法:
from imblearn.under_sampling import RandomUnderSampler
from imblearn.over_sampling import RandomOverSampler
# 欠采样
undersampler = RandomUnderSampler()
X_resampled, y_resampled = undersampler.fit_resample(X, y)
# 过采样
oversampler = RandomOverSampler()
X_resampled, y_resampled = oversampler.fit_resample(X, y)
from sklearn.svm import SVC
# 设置类别权重
class_weights = {0: 1, 1: 1, 2: 10}
model = SVC(class_weight=class_weights)
model.fit(X, y)
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X, y)
from imblearn.over_sampling import SMOTE
smote = SMOTE()
X_resampled, y_resampled = smote.fit_resample(X, y)
需要注意的是,以上方法可能需要调整参数来适应具体的数据集和模型。另外,还可以结合多种方法来提高分类性能。