【scikit-learn】ドキュメントトップ解説【Python】

本ページでは以下のページを和訳するとともに、個人的な解説も記載しています。

参考ページ
scikit-learn: Python での機械学習 — scikit-learn 1.1.2 ドキュメント
https://scikit-learn.org/stable/

scikit-learnで解決する6つのタスク

分類 (Classification)

解説:データがどのグループの属するのかを分類します。
具体的なタスク:スパムメールの識別、画像分類
アルゴリズム:SVM、k-最近傍法、ランダムフォレストなど

回帰(Regression)

解説:連続した値の予測を行います。
具体的なタスク:薬物反応、株価分析
※ここの例が直訳だとわかりにくいです。もう少しわかりやすいタスクの例とすると、「家賃予測」が挙げられます。薬物反応が何を指すかは不明です。
アルゴリズム:SVR、k-最近傍法、ランダムフォレストなど
※分類と同じアルゴリズムが挙げられますが、こちらは分類でも回帰でも使用できるからです。

クラスタリング(Clustering)

解説:似たデータ同士をグループ化
※分類と似ていますが、分類は訓練データが予めどのグループに属するかを指定する必要があります。クラスタリングはデータ同士の関係を見て、近い関係にあるデータ同士を自動的にグループ化するためのタスクです。
具体的なタスク:顧客のグループ分け、実験結果のグループ分け
※顧客であれば、年齢性別住む地域学歴など様々なデータを持ちます。そのようなデータを分析して、どのようなグループに分けられるのかを分析しマーケティングなどに利用します。
アルゴリズム:k-means法、スペクトラルクラスタリング、MeanShiftなど

次元削減(Dimensionality reduction)

解説:データの情報量をできるだけ減らさず次元を削減します。
具体的なタスク:可視化、学習効率の向上
※訓練データに使用するデータというのは基本的に10次元100次元、、、など大量の次元を持っています。相関関係を持つデータをそのまま使って学習してしまうと、データ量が多く学習に時間がかかってしまうだけでなく相関関係があるデータを使用すると推論が上手くいきません。次元に減らすことによって、そのようなことをなくすとともに、3次元データにすることによって可視化をできるという利点があります。
アルゴリズム:PCA、NMFなど

ハイパーパラメータチューニング(Model selection)

※直訳はモデル選択ですが、モデル選択もハイパーパラメータとして表現しています。
解説:パラメータとモデルの比較、検証、および選択。
具体的なタスク:パラメータとモデルの比較、検証、および選択。
アルゴリズム:グリッドサーチ、交差検証など

前処理(Preprocessing)

解説:学習データの加工
具体的なタスク:テキストなどの入力データを機械学習アルゴリズムで使用するための変換
アルゴリズム:特徴抽出
※ 次元削減の「特徴選択」と前処理の「特徴抽出」は似ている日本語ですが、行う作業は全く違います。詳細は今後記事にしていきます。