私は libsvm に Python インターフェイスを使用しています。グリッド検索を使用して最適なパラメーター (RBF カーネル) を選択した後、モデルをトレーニングしてクロス検証 (関連する場合は 5 倍) を行っていることに気付きましC
たgamma
。受け取る精度は、トレーニング データ セットのラベルの比率と同じです。
3947 個のサンプルがあり、そのうち 2898 個はラベル -1 で、残りはラベル 1 です。つまり、サンプルの 73.4229% です。
そして、モデルをトレーニングして 5 つのフォールドを交差検証すると、次のようになります。
optimization finished, #iter = 1529
nu = 0.531517 obj = -209.738688,
rho = 0.997250 nSV = 1847, nBSV = 1534
Total nSV = 1847
Cross Validation Accuracy = 73.4229%
これは、SVM が機能を考慮していないということですか? それとも、ここでデータに問題があるのでしょうか? それらは両方ともまったく関連していますか?73.4229 の番号を超えることができません。また、サポート ベクターの数はデータセットのサイズよりもはるかに少ないはずですが、この場合はそうではないようです。
一般に、相互検証の精度がデータセット内のラベルの比率と同じであるとはどういう意味ですか?