どうも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で読み込んでやってみよう。動画とかみたら結構あったし、先人のお知恵をお借りして一歩一歩行きましょう。成長してるって思うぐらいアウトプットしよう。分からないところを知ろう。
おまけ
やる気ってなかなか持続しない。ゲームやるときみたいに出来ればいいのだけど。
本日の前に進む言葉。
「転んでもほふく前進すればいい。」
そこで終わったらほんとに終わり。でも少しづつでいいから進みましょう。積み立て。
今日はこのへんで以上です。
また明日。
コメント