モデルを選ぶ
モデルを選ぶ¶
タスクやデータセットによって使うべきモデルは変わってきます。 scikit-learnではどの推論器を選べばいいかのガイドラインを以下で提供しています。
NLPクックブックでは以下のモデルのレシピをまとめています。 学習計算量の \(m\) は学習データ数を、 \(n\) は特徴量の数を表しています。
クラス |
学習計算量 |
スケーリング |
大規模データの学習 |
---|---|---|---|
|
\(O(m \times n)\) |
必要 |
可能 |
|
\(O(m \times n)\) |
必要 |
不可 |
|
\(O(m \times n)\) |
必要 |
不可 |
|
\(O(m \times n \times \log_2(m))\) |
不要 |
不可 |
初めて学習するモデルとして、学習データ量が多い場合には SGDClassifier
を、
そうでない場合には LinearSVC
, LogisticRegression
, または DecisionTree
のアンサンブルである RandomForest
のうちからいくつか試してみるのがよいでしょう。