Pythonによるデータ分析の教科書(その7)

4.4 scikit=learn
scikit=learnは、機械学習を含むデータマイニング(統計学や機械学習等を用いてデータから知識を抽出する技術分野)やデータ分析のライブラリ、Pythonで深層学習以外の機械学習を実行するツールキットとしてデファクトスタンダートとなっている
・前処理
欠陥値への対応、カテゴリ変数のエンコーディング、特徴量の正規化がある

・欠陥値への対応
df.isnull()            #各要素が欠陥値かどうかを確かめる、dropnaメソッドで除去可能
from sklern.preprocessing import Imputer
imp = SimpleImputer(strategy=’mean’)      #平均値で欠陥値を補完するインスタンスを作成(scikit learn 0.22以降)
imp.fit(df)              #欠陥値を補完
imp.transform(df)

・One-Hotエンコーディング:カテゴリ変数に対して行う符号化の処理、テーブル形式のデータのカテゴリ変数の列について、取りうる値の分だけ列を増やして、各行の該当する値のれるのイに1、それ以外に0を入力

・特徴量の正規化:特徴量の大きさを揃える処理
分散正規化:特徴量の平均が0、標準偏差が1となるように特徴量を変換する処理、標準化、z変換とも呼ばれる
最小最大正規化:特徴量の最小値が0、最大値が1をとるように特徴量を正規化する処理

・分類:データの「クラス」を予測してわっけるタスク、教師あり学習の典型的なタスク

・分類モデル構築の流れ:
手元のデータを学習用(学習用データセット)とテスト用(テスト用データセット)に分割
学習セットを用いて分類モデルを構築(学習)
構築したモデルのテストデータセットに対する予測を実施、未知のデータに対する対応能力(般化能力)を評価

・サポートベクタマシン:分類・回帰だけでなく、外れ値検出にも使えるアルゴリズム
分類に用いるサポートベクタマシン:直線や平面などで分離できない(線形分離できない)データを高次元の空間に写して線系分離するこことにより分離を行うアルゴリズム

・決定木:データを分割するルールを次々と作成していくことにより、分類を実行するアルゴリズム
どの特徴量の土の値(情報利得)で分割するかを決める
不純度:どれだけクラスが混在しているかの指標、ジニ不純度、エントロピー、分類誤差など

・回帰:目的関数を別の単一または複数の値(説明変数)(機械学習では特に特徴量と呼ばれる)で説明するタスク
線形回帰:目的変数がそれぞれの説明変数の値の一次式の和で表される
単回帰:説明変数が1つ
十回帰:説明変数が2変数以上

・次元削減:データが持っている情報をなるべく損ねることなく次元を削減してデータを圧縮するタスク
主成分分析:高次元のデータに対して分散が大きくなる方向を探して、元の次元と同じかそれよりも低い次元にデータを変化する手法(decompositionモジュールのPCAクラスを使用)

・モデルの評価
カテゴリの分類精度
適合率、再現立、F値、正解率など、混同行列(予測と実績のクラスラベルの組み合せを集計した表)

・ハイパーパラメータの最適化
ハイパーパラメータ(学習とは別にユーザが値を指定する)を最適化する方法にグリッドサーチ、ランダムサーチがある

・クラスタリング:ある基準を設定してで^た官の類似性を計算し、データをクラスタ(グループ)にまとめるタスク、教師なし学習の典型的なタスク
k-means:
階層的クラスタリング:凝集型は似ているデータをまとめて小さなクラスタを作り、次にそのクラスタと似ているデータをまとめて小さなクラスタをさらにまとめ、最終的にデータが1つのクラスタにまとめられるまで処理を繰り返すクラスタリング方法
分散型は、最初にすべてのデータが1つのクラスタに所属していると考え、順次クラスタを分割していくアプローチ

 

参考にした書籍
タイトル:Pythontによるデータ分析の教科書
著者:寺田学、辻真吾、鈴木たかのり、福島真太朗
発行所:株式会社 翔泳社

以上

以上