妊婦がプログラマーになるまで

プログラミング未経験ワーママが産休からPythonで機械学習を学ぶ記録を記します。

Pythonライブラリ「scikit-learn」とは?関数一覧(学習メモ)

Pythonライブラリ「scikit-learn」について学んだことをメモします。
f:id:damion_n:20210921130300p:plain

scikit-learn (サイキットラーン)

f:id:damion_n:20210921130902p:plain
Python機械学習をする際によく使われるライブラリ。
回帰分析、クラス分類、クラスタリングなどの機械学習を行うことができる。
scikit-learnはオープンソースBSD license)で公開されており、個人/商用問わず、誰でも無料で利用することができる。



scikit-learn添付のデータセット

scikit-learn には、機械学習を試してみるためのデータセットがあらかじめ用意されており、初心者の練習に向いている。
あらかじめ学習データと研修データにわけてある。

・ボストン市の住宅価格データ(Boston house prices dataset)
 ・回帰向き
・アヤメの品種データ(Iris plants dataset)
 ・分類向き
・糖尿病患者の診療データ(Diabetes dataset)
 ・回帰向き
・数字の手書き文字データ (Optical recognition of handwritten digits dataset)
 ・分類向き
・生理学的特徴と運動能力の関係についてのデータ(Linnerrud dataset)
 ・回帰向き
 ・目的変数が3つある
・ワインの品質データ(Wine recognition dataset)
 ・分類向き
乳がんデータ(Breast cancer wisconsin (diagnostic) dataset)
 ・分類向き



scikit-learnの6つの機能

scikit-learnの6つの具体的な機能は以下のとおり。

①回帰
二種類ある教師あり学習のうちの一つで、データセットを学習して新たな入力に対する出力の数値を予測する手法のこと。例えば、過去の気象データと位置情報を学習し、その地点の翌日の気温を予測する際には回帰を行う。

②分類
分類はもう一つの教師あり学習で、データを学習して、新たな入力に対する出力のラベルを予測する手法のこと。回帰と同様に気象に関して例えるならば、過去の気象データと位置情報を学習し、その地点の翌日の天気(晴れ、曇り、雨、雪)を予測するのは、分類。

以下、分類や回帰に用いることができるscikit-learnのアルゴリズムの例。
・線形モデル
サポートベクターマシン
確率的勾配降下法
・最近傍
ガウス過程
・決定木
・アンサンブル学習
ニューラルネットワーク

クラスタリング
データの特徴から関連の深いデータや似通ったデータを見つけ、クラスターに分ける(=グルーピングする)手法。例えば、企業の購買データの分析などに応用されていて、クラスタリングの結果に基づいて顧客に商品をレコメンドできる。scikit-learnでは、クラスタリングもK-meansをはじめ数多くのアルゴリズムで実行可能。

④次元削減
次元削減は教師なし学習の一種。データセットの特徴量同士の関係を学習し、より簡潔かつ効率的に特徴量の情報を表現することなどを目的に、新たな特徴量を計算で導出して特徴量の数を削減する手法。例えば、近年盛んに様々なメディアで取り上げられているビッグデータを処理する際に、データセットのあまりの大きさにコンピュータの処理性能が不足することがあります。そういった場合に、次元削減をすることでコンピュータの性能不足を補うことができる。scikit-learnでは、主成分分析や因子分析などで次元削減を行うことができる。

⑤データの前処理
データの前処理といっても、pandasで行うようなデータの整形ではなく、機械学習が正しく実行されるためのデータの数値変換を行う。適切な前処理を行うことで、特定の特徴量が学習結果に過大な影響を与えることなどを防ぐことができる。例えば、データの平均を0、標準偏差を1にする標準化などを行う。なお、scikit-learnでは他にも、非線型変換や正規化、離散化などの処理を行うことができる。

⑥モデルの評価と選択
様々な手法・モデルを用いて機械学習を実装できるため、モデルを正しく評価して、どのモデルを使うのか選択する必要がある。そのために、scikit-learnには、各種評価指標を簡単に算出したり、ハイパーパラメータをチューニングしたりするための機能が備わっている。



Google Colabでscikit-learnを使う場合

Google Colabにはscikit-learnが元から用意されているため、ノートブックを作成したらすぐに利用可能。








押していただけると励みになります!

にほんブログ村 資格ブログ スキルアップへ
にほんブログ村