sklearn.svm.SVCの使い方
公式ドキュメント
パラメータ
- C=1.0
- kernel=‘rbf’
- degree=3
- gamma=‘auto’
- coef0=0.0
- shrinking=True(調査中)
- probability=False
- tol=0.001
- cache_size=200(調査中)
- class_weight=None
- verbose=FalseC
- max_iter=-1
- decision_function_shape=None(調査中)
- random_state=None
パラメータを変えて様子をみる。
サンプルデータ
デフォルトのまま
- accuracy: 0.635
- std: 0.362
C
- Cの意味を表した式はこちらを参照
- Cは学習データに対する分類の正しさとモデルの複雑さのトレードオフをコントロールする。
- Cが大きいと分類の正しさを優先し、モデルが複雑になる(モデルパラメータのノルム-2が大きくなる)。
- 分類(C=10, kernel=‘rbf’)
- 分類(C=1000)
kernel
取りうる値:
- ‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’ or a callable
分類(kernel=‘linear’)
分類(kernel=‘poly’)
分類(kernel=‘rbf’)
分類(kernel=‘sigmoid’)
rbf以外上手く分類できなかった。原因を調査中。
degree
- kernel=‘poly'のときのみ使用できる。
- polynomialの次数を指定する。
gamma
- kernel=‘rbf’, ‘poly’, ‘sigmoid’のとき使用できる。
- gammaの意味を表した式はこちらを参照
- 分類(kernel=‘rbf’, gamma=0.1)
- 分類(kernel=‘rbf’, gamma=2.0)
coef0
- kernelのindependent term。kernel=‘poly’, ‘sigmoid'のとき重要。