回答編集履歴
1
参考文献の追加
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
学習したモデルが変化するのは,学習時にランダムな要素が含まれているから
|
1
|
+
学習したモデルが変化するのは,学習時にランダムな要素が含まれているからだと思われます.
|
2
2
|
|
3
3
|
公式のdocument [sklearn.svm.LinearSVC](https://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html)を見ると,`random_state`と呼ばれるパラメータと,その説明があります.
|
4
4
|
|
@@ -10,4 +10,9 @@
|
|
10
10
|
説明の一文目に,dual coordiante descent (Platによる最適化のアルゴリズム)のために,dataをshuffleしており,shuffleのために擬似乱数生成をしていることが書いてあります.
|
11
11
|
|
12
12
|
つまり,学習データが毎回異なる順番になるため,学習したモデルは異なる挙動をするということです.
|
13
|
-
もしも,毎回同じモデルを生成したい場合,`LinearSVC`の引数に`random_state=0`(0ではなく適当な数字でいい) と指定することで実現できると思います.
|
13
|
+
もしも,毎回同じモデルを生成したい場合,`LinearSVC`の引数に`random_state=0`(0ではなく適当な数字でいい) と指定することで実現できると思います.
|
14
|
+
|
15
|
+
SVMの詳しいアルゴリズムについては以下の文献や書籍が詳しく書かれていて良いと思います!
|
16
|
+
(下の機械学習のエッセンスは,一般的な機械学習手法のアルゴリズムから実装までが,丁寧に書かれているので,非常におすすめです.上は英語に抵抗がなければ良いと思います.)
|
17
|
+
- [Support Vector Machines, CS229 Lecture notes, Andrew Ng](http://cs229.stanford.edu/notes/cs229-notes3.pdf)
|
18
|
+
- [機械学習のエッセンス](https://amzn.to/3akmcNz)
|