gpt4 book ai didi

python - 如何应对类(class)不平衡?

转载 作者:行者123 更新时间:2023-11-30 09:58:14 25 4
gpt4 key购买 nike

我必须对具有六个类别且值不均匀分布的数据集(一阶定理)进行分类,如以下列表所示:

  1. 第一类:1089 条数据
  2. 第二类:486 条数据
  3. 第三类:748 条数据
  4. 第四类:617条数据
  5. 第五类:624条数据
  6. 第六类:2554条数据

总共 6118 个标记数据,涉及 51 个所有数字特征。有很多特征高度相关(相关性高于0.75或低于-0.75的特征有39对);出于这个原因,我尝试了基于高相关性的特征选择以及 PCA;我使用的模型是通过网格搜索优化的支持向量机:

    svm = SVC(kernel='rbf', decision_function_shape='ovr')
param_grid = {'C': [50, 30, 100, 60, 25, 80],
'gamma': [0.01, 0.1, 0.2, 0.3, 0.4, 0.5,0.001]}

grid = GridSearchCV(svm, param_grid, cv=10, scoring='f1_weighted',n_jobs=4,verbose=True)
grid.fit(all_train_data, train_target)
print(grid.best_params_)

我使用F1_weighted来评估结果。我的问题是:我做得还好吗,还是可能缺少一些与类不平衡相关的东西(比如 svm 中的参数 class_weight)?

最佳答案

直到最频繁的类别(第六类)和最不常见的类别(第二类)之间的差异比第二类大 5 倍,它可能会稍微影响您的分类。解决此类问题有很多方法,您可以在每次训练或使用数据增强或任何其他方法时使用每个类相同数量的批处理

关于python - 如何应对类(class)不平衡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60127704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com