2016-08-17 34 views
1

UCIデータセットを使用して乳がんを予測するための分類器を構築しようとしています。サポートベクターマシンを使用しています。クラシファイアの精度を向上させるための私の最も誠実な努力にもかかわらず、私は97.062%を超えることはできません。私は以下を試しました:SVM分類器の精度向上のテクニック

1. Finding the most optimal C and gamma using grid search. 
2. Finding the most discriminative feature using F-score. 

誰かが私に精度を向上させる手法を提案できますか?私は少なくとも99%を目指しています。 SVMは、それはすべての機能に同じスケーリングを持つことが重要だと、通常、それが各値をスケーリングを介して行われます(コラム)については

1.Data are already normalized to the ranger of [0,10]. Will normalizing it to [0,1] help? 

2. Some other method to find the best C and gamma? 
+0

私の知る限りでは、あなたの質問に対する答えは、「いいえ、いいえ」です。 –

+0

これはクラスの練習ですか? –

+0

いいえ、そうではありません。私はSVMで手を汚しているだけです。 –

答えて

2

機能平均が0、分散が1もう一つの方法であるようにあります最小値と最大値が例えば0と1となるようにスケールする。ただし、[0,1]と[0,10]との間には差異はない。両方とも同じパフォーマンスを示します。

SVMを分類に使用することを強くお勧めする場合、改善の可能性がある別の方法は、複数のSVMをまとめることです。 Pythonを使用している場合は、BaggingClassifiersklearn.ensembleから試してみてください。

また、実際のトレーニングデータのセットからパフォーマンスを得ることは期待できません。私は97%が非常に良いパフォーマンスだと思います。あなたがこれ以上に上がるとデータをオーバーフィットする可能性があります。

+0

実際、私は著者と同じ方法を使って99.51%の精度と精度を達成した論文を読んでいました。私は少なくとも99%を打つことは良い考えだと思った。 –

+0

同じデータセットを使用しましたか? データによって異なります。しかし、通常、精度とオーバーフィットの間にはトレードオフが必要です。 反対側から、データセットを慎重に訓練とテストに分割することで過大な訓練を防ぐことができます。クロスバリデーションも使用する必要があります。一般的なタイプの1つは、10倍の階層化されたクロスバリデーションです。 –

関連する問題