背景
今回 kaggle の titanic チュートリアルを行いました。
精度は78.5%前後と、大した精度ではなかったので手法は書きませんが、
なれない python でのデータ分析だったので、自分用のメモとして、
もしくはこれから同じようにpythonでデータ分析を始める人向けにまとめておこうと思います。
pandasのメソッド
import pandas as pd
で使えるようになります。
CSVの読み込み
pd.read_csv('filename')
Dataframe の操作
CSVとして書き込み
data.to_csv('filename')
Dataframe を1カラムで初期化する
dataframe = pd.DataFrame({'col_name':[]})
keyの一覧を取得する
dataframe.keys()
先頭n個のデータ表示
dataframe.head(n)
特定のカラムすべてのデータに対する操作
dataframe["col_name"].apply(lambda x: 0 if x == 'hoge' else 1)
特定のカラムをカラムごと削除
dataframe.drop(["col1", "col2"], axis=1 )
特定のカラムを置換
dataframe.replace({"A":0, "B":1, "C":2})
for文を利用してすべてのデータを参照
for column_name, item in dataframe.iterrows():
データの追加
fare_mean_arr.append(data)
特定のカラムでnullを特定の値に置換
dataframe["col"].fillna(num)
特定のカラムにおける全データの最大値を取得
dataframe['col_name'].max()
特定のカラムにおける全データの平均値を取得
dataframe['col_name'].mean()
特定のカラムにおける全データの中央値を取得
dataframe['col_name'].median()
各カラムにnullが含まれているか
含まれていれば true
なければ false
が帰ってくる
dataframe.isnull().any()
各カラムに入っているデータ型の一覧を取得
dataframe.dtypes
データ分布の確認
dataframe['col'].hist()
特定のカラムを正規表現で置換
例は数値を削除する時
train['col'] = train['col'].replace('[0-9]*','',regex=True)
scikit-learn の学習メソッド
from sklearn import {classifier}
でclassifierのメソッドが呼べるようになります。
二分木やsvmなどいろいろあります。
今回は二分木を使いましたのでそちらで説明します。
二分木の分類機を作る
clf = tree.DecisionTreeClassifier(max_depth=3)
分類機で学習する
clf.fit(train_data, answers)
学習した分類機で分類を実行する
predict = clf.predict(data)
まとめ
今後も新しくメソッドを使うたびにまとめていこうと思いますが、
これだけ使えればとりあえず簡単な分類はできると思います。