機械学習:データセットのインポート

機械学習をやりたい

今Udemyの講座でMLについて学んでいます。全編英語で41時間のボリューム満点の内容なので、ちゃんとメモしておかないと全く身につかないと思い、ノート形式で綴っています。参考になれば幸いです。

データプロセッシング

正直だるい、だけど旅の前の飛行機の予約のようなもんで、これがないとそもそも機械学習を始められないとのこと。

独立変数と従属変数

例えば、ある会社の顧客データで、出身国名、年齢、給与、購入の有無、の4カラムが存在するとき、最初三つが独立変数で、最後の購入の有無が従属変数。つまり、出身国・年齢・給与などから該当顧客が商品を購入するのかしないのかの予測モデルを立てるという感じ。

Python: ライブラリの導入

Numpy:数式計算したいのであれば、基本Numpyをインポートしておく必要がある。機械学習は数学を前提にしたモデルなので、Numpyが必須になる。
Matplotlib.pyplot:グラフ描画などのためのライブラリ。プロットがしやすい。
Pandas: データのインポートや操作に役立つライブラリ。

データセットのインポート

Python

先ほど言及があったようにPandasを用いてインポートを行う。
まずは、前提としてデータのあるディレクトリに自分が今いることを確認した上で、

今データセットはこんな感じ。

次に独立変数3つに対する行列と従属変数1つに対するベクトルを作ってあげる必要がある。
まずは独立変数3つの行列から作成。

ここでilocは行と列を両方指定して取得する方法。最初の[:]は行を指定していて、全てのレコードを取ってきてくださいと。次の[:-1]はカラム全体の最後の1つを除く全てを取ってきてくださいと。そして最後のvaluesはpythonのコマンドで値取ってきてね、という感じ。実行してみると・・

ちゃんと取ってこれた。

次に従属変数1つに対するベクトル。

先ほどとやり方は同じ。カラムが複数あるのか、1つしかないのかの違いだけ。実行してみると・・・・

ちゃんと取ってこれた。

R

Rでもまず自分が正しいディレクトリにいることを確認した上で、

これでちゃんとインポートできた。Rの場合はPythonと違って、独立変数と従属変数を分けて行列にしたりベクトルにする必要はない。(授業ですぐ説明があったわけではないけど、重回帰分析とかをRでやるときに式の中で従属か独立かを自分で指定できるからかな?)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする