Kaggleの公式講座「機械学習入門」 を解説:Lesson2 「データ理解の基礎」


この記事はKaggleが提供している講座(Corses)の「Intro to Machine Learning」のLesson1について解説します。英語が弱くて機械学習のことよく知らない!!という人向けの記事です。

英語もしくは機械学習のどちらか一方が分かる人にとっては勉強になると思いますので、原著をオススメします。
こちら原著です

英語も機械学習も分かる人には、原著もこの記事も読む必要はないかと思います。

Lesson1へは こちらをクリック

<Lesson2> データ理解の基礎

・データ理解のためにPandasを使おう

機械学習によるデータ分析においてまずやることは、データについてよく知ることです。データについての理解を深めたり、データの操作を行うのにPandasというライブラリが便利でよく使われます。Pandasの最も重要な特徴は、データフレームと呼ばれるデータを格納するための入れ物を持っていることです。具体的には以下のような形式です。

1行に1つの住宅のデータが格納されています。1番左の0,1,2,...は住宅のインデックスです。上に書いてあるSuburb(郊外)・Address(住所)・Rooms(部屋の個数)などは、何についてのデータか(特徴量の種類)で、列名とも言ったりします。特徴量というのは、そのデータ(今回ならば住宅)の特徴を数値や文字列で表したものです。


このデータはメルボルンの住宅価格の予測のコンペ にあるデータです。実際に表示させたい人は、ここから飛んでNew Notebookを押してください。


このようにコードを書くと表示されます。

display.py
import pandas as pd
df = pd.read_csv('../input/melbourne-housing-snapshot/melb_data.csv')
df #df.head()とすると上から5行のみが表示される




次に数値データの統計量を出します。

列名は特徴量の名前で、行名は統計量の名前になっています。統計量について簡単に説明しておきます。

1 2
count 欠損データ(NaN)でないデータの個数
mean データの平均
std データの分散
min 最小値
25% 小さい方から25%にあるデータ
50% 小さい方から50%にあるデータ(中央値)
75% 小さい方から75%にあるデータ
max 最大値



以下のようなコードで表示されます。

statistic1.py
df.describe()



ちなみにKaggleの講座にはないですが、カテゴリデータの統計量も出せます。


統計量について簡単に説明しておきます。

1 2
count 欠損データ(NaN)でないデータの個数
unique データの種類数(一意なデータの個数)
top 最頻値
freq 最頻値の出現回数

uniqueは例えば、ある列のデータが a, a, c, d, e, e, e ならばデータの種類はa, c, d, e の4種類なので4となります。



以下のように書けば表示されます。

statistic2.py
df.describe(exclude='number')



以上がLesson2のデータ理解の基礎となります。次はLesson3ですね。頑張っていきましょう!

Lesson3はこちらになります。