我必须对数据集进行分类(一阶定理),其中包括六个类和值的不均匀分布,如下表所示:
H 19第五类: 624 dataH 210H 111六级: 2554个数据<代码>H 212G 213
总共有6118个标记数据,全部为51个数字特征。有许多特征高度相关(有39对相关系数大于0.75或低于-0.75);为此,我尝试了基于高相关性的特征选择和PCA;我使用的模型是经过网格搜索优化的svm:
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 )?
发布于 2020-02-08 15:21:48
除非最频繁的类(第六类)和最不频繁的类(第二类)之间的差异比第二类大5倍,否则它可能会对你的分类产生一定的影响。解决这类问题有很多方法,每次训练或使用数据增强或任何其他方法时,您都可以使用每个类数量相同的批处理。
https://stackoverflow.com/questions/60127704
复制相似问题