はじめに
機械学習初心者で知らない単語だったり、聞いたことはあるけど具体的な意味を知らない単語、意味はわかるけど機械学習の観点で説明するとなった時にわからない単語などを集めてまとめてみました。
今回はscikit learn中心にまとめました。
単語まとめ
- SVM (サポートベクターマシン)とは、データを分類して境界線を引くためのアルゴリズムです。「教師あり学習」**と呼ばれる手法を用い、正解データを「教師からの助言」として学習し、学習結果を元に境界線を定めた「分類器」を作成する。
- clf = class ficationの略語。翻訳すると分類。predictで予測させたいデータを指定して結果を出力するという流れになっている。
- LabelEncoderr : 文字を数値に変換 OneHotEncoder : 数値をダミー変数に変換
- カテゴリカル変数 : 計数データをカテゴリカルデータと呼び、性別やカテゴリーを**カテゴリカル変数(categorical variable)**と呼ぶ。(例 性別(男、女)、血液型(A,B,O,AB)やアンケート調査票の中の質問における選択肢などを集計したデータは、いずれも計数データと呼ぶ。)
- ダミー変数 : 「あるかなしか」、「ある状態をとるか取らないか」と言ったような、2つに1つとなる状況を、数値化して「1」か「0」かで表すこと。元々数字でないデータを数字に変換できるということ。
- train_test_splitでは、 x_train(トレーニングデータ:特徴), x_test(テストデータ:ラベル), y_train(トレーニングデータ:特徴), y_test(テストデータ:ラベル)のように書いてxに訓練用・トレーニングデータ、yに学習用・テスト用データが入る
- random_stateを利用する場合はシード値によってランダム値が決められており、シード値を同じ数字にすると毎回同じ疑似乱数が生成されるもの。
- 特徴データ : 特徴が数値化されたもの。(例 身長や体重、年齢、性別)
- ラベルデータ : 各データがグラフで何を表しているのかを示すための情報。グラフに表示される値や割合などを示す数値のこと。
- シード値 : コンピュータで乱数を生成する場合、ある数値をシード値(seed)として用い、その値を基にして特定の演算により乱数を生成していく。このため同じシード値を使用した場合、発生する乱数は全く同じものとなる。
- 疑似乱数 : **乱数の代わりに用いられる数字の列。**疑似数。コンピュータでは、サイコロを振って出る目のような無秩序(予測不可能)な数列は生成できないため、計算によってそれに似た数列を作り、乱数の代用とする。電子データの暗号化などに用いられる。
- トレーニングデータ・テストデータ : 教師あり学習によるモデルを作成するには、準備したデータセットを**トレーニングデータ(訓練用データ、学習用データとも呼ばれる)とテストデータ(検証用データ、評価用データとも呼ばれる)の2つに分割して予測モデルの作成、評価を行うことが一般的。このように一定の割合でトレーニングデータとテストデータに分割することをホールドアウト(hpld-out)**と呼ぶ。
- 交差検証 : 汎化性能を評価する統計的な手法で、分類でも回帰でも用いることができる。機械学習を行うとき、学習を行うための学習データと未知のデータに適用した時のモデルを評価するためのテストデータがある。トレーニングデータでの性能がとてもいいのにも関わらず、テストデータでの性能が悪くなってしまうことを過学習と言う。
- 評価性能が必要な理由:既存のデータ(学習データ)の説明変数(特徴量)を使って目的変数を予測する予測式(モデル)を作り、結果が未知のデータを予測するから。
- k-分割交差検証(クロスバリデーション) : 用意したトレーニングデータセットをk分割し、そのうちの1つのテストデータ、残りのk-1個を学習データとして使用する。そして、**学習と評価を繰り返して得られるk個のモデルと性能評価から平均性能を算出するという手法。
最後に
今回は以上です。
2つ目も投稿しようと思っているので、まとめましたら投稿します。
ありがとうございました。