モデルを選ぶ

モデルを選ぶ

タスクやデータセットによって使うべきモデルは変わってきます。 scikit-learnではどの推論器を選べばいいかのガイドラインを以下で提供しています。

Choosing the right estimator

NLPクックブックでは以下のモデルのレシピをまとめています。 学習計算量の \(m\) は学習データ数を、 \(n\) は特徴量の数を表しています。

クラス

学習計算量

スケーリング

大規模データの学習

SGDClassifier

\(O(m \times n)\)

必要

可能

LinearSVC

\(O(m \times n)\)

必要

不可

LogisticRegression

\(O(m \times n)\)

必要

不可

DecisionTree

\(O(m \times n \times \log_2(m))\)

不要

不可

初めて学習するモデルとして、学習データ量が多い場合には SGDClassifier を、 そうでない場合には LinearSVC, LogisticRegression, または DecisionTree のアンサンブルである RandomForest のうちからいくつか試してみるのがよいでしょう。