首页 > 解决方案 > 在 python 中对数据集的不同特征运行交叉验证时具有相同的准确性

问题描述

我正在对 csv 文件的 6 个功能进行 10 折交叉验证。前 3 个特征的准确率分别为 82,76 和 80。但是在其余 3 个功能上运行 CV 会返回与第二个功能完全相同的值 (76)。我在每次运行期间为随机状态设置了不同的值,但它没有改变任何东西。这是我的代码:

from sklearn.model_selection import KFold

kfold=KFold(n_splits=10, shuffle=True, random_state=0)

rbf_svc=SVC(kernel='rbf')

linear_scores = cross_val_score(rbf_svc, X, y, cv=kfold)

print(linear_scores)

print('Mean Absolute Error %2f' %(1 * linear_scores.mean())) 

标签: python-3.xsvmcross-validation

解决方案


首先 X 和 y 的大小是多少?如果数据集非常大,有更多的折叠是好的!所以尝试将 kfold 设为 5。SVC 内核固定为 rbf。所以尝试用不同的内核和不同的参数进行网格搜索。


推荐阅读