機械学習データの前処理が重要

Python初心者
ijmakiによるPixabayからの画像

どうも405です。今日のPython 初心者ブログ⑮回目になります。今日はウマ娘の話はしません。
今日も機械学習を勉強していました。ちょっとデータ整理の工程が多くて上手く整理出来ていません。
Kaggleという予測モデリング及び分析手法関連のプラットフォーム(Titanic| Kaggle)からデータをダウンロードしてやりました。

今日出てきた単語

groupby(グループバイ)

groupbyメソッドとは、pandasモジュールのDataFrameで利用できるメソッドです。
DataFrameは何らかの軸(今回は年齢や性別、生存結果(0:死亡、1:生存))を含みます。
軸ごとにデータを集約し、平均値、最大値、最小値などを計算するためにgroupbyメソッドを使います。

discribe

Pandasにはデータの概要情報を一括で取得してくれる便利関数discribeが存在します。
使い方自体はシンプル
discribe関数を使うと扱っているデータについて大まかな情報を理解することができる。

discribe(言葉で要素説明)メソッドで算出される項目
count  要素の個数
mean  一意な値の要素の個数
std   標準偏差
min   最小値
25%  ¼分位数
50%  中央値
75%  ¾分位数
max  最大値

import pandas as pd
df_train = pd.read_csv(“train.csv”).replace(“male”,0).replace(“female”,1)
df_train.describe()

男女の値が文字列だったので数値に変換0(男),1(女)
.replace(“male”,0).replace(“female”,1)

男女が何人いたのか?len(件数)
import pandas as pd

df_train =pd.read_csv(“train.csv”)

df_train_m = df_train[df_train[“Sex”]==”male”]
df_train_f = df_train[df_train[“Sex”]==”female”]

print(len(df_train_m))
print(len(df_train_f))

要素の件数を確認して、また確認みたいな工程が要素ごとにやる感じ。
ここが萎える。(これが機械学習のミソなんだけど)
応用プラス新しい単語が出てくるから頭にすんなり入ってこず。

contains(コンテインs) = 含まれている


PandasのDataFrameにおける欠損値とはNaN(Non a Number)で表される要素を言います。
NaNが入ったデータがあったら、これを削除したり、別の値で置き換える必要があります。

以下がPandasでNaN扱いになります。

  • None
  • np.nan
  • math.nan
  • 要素数が足りないところ

dropna

欠損値をデータ全体dropna()から削除したり、代わりの値fillna()で置き換えるのは分かったけど、
扱いが難しいと思った。

今日思ったこと

①やっている工程は要素ごとの確認。
②何件が欠損しているか?
③じゃあ、欠損値入れるか、関係ない列は消しましょうか。
欠損値やら平均値を置き換えとか一回じゃ無理。
全体の構成の80%の工程と思って取り掛かろう。
分からないところはパクれ、ググれ。

Excelファイルをpandasで読み込んでやってみよう。動画とかみたら結構あったし、先人のお知恵をお借りして一歩一歩行きましょう。成長してるって思うぐらいアウトプットしよう。分からないところを知ろう。

おまけ 

やる気ってなかなか持続しない。ゲームやるときみたいに出来ればいいのだけど。

本日の前に進む言葉。 
「転んでもほふく前進すればいい。」

そこで終わったらほんとに終わり。でも少しづつでいいから進みましょう。積み立て。

今日はこのへんで以上です。
また明日。

コメント

タイトルとURLをコピーしました