【kaggle】タイタニックのコンペ(3)
Kaggleで定番のタイタニック号の生存者の分析をPythonで行う記録。
↓コンペのサイトはここです。
Titanic: Machine Learning from Disaster | Kaggle
Pythonによる分析の一例をManav Sehgalさんのカーネルを参考に(と言いうかこれに沿って)行います。
↓Manav Sehgalさんの分析手順はここで確認ができます。
Titanic Data Science Solutions | Kaggle
12.定量的属性データの特徴を確認する。
#describe()メソッドで定量的属性データの特徴が分かる。 In [25]: train_df.describe() Out[25]: PassengerId Survived Pclass Age SibSp \ count 891.000000 891.000000 891.000000 714.000000 891.000000 mean 446.000000 0.383838 2.308642 29.699118 0.523008 std 257.353842 0.486592 0.836071 14.526497 1.102743 min 1.000000 0.000000 1.000000 0.420000 0.000000 25% 223.500000 0.000000 2.000000 20.125000 0.000000 50% 446.000000 0.000000 3.000000 28.000000 0.000000 75% 668.500000 1.000000 3.000000 38.000000 1.000000 max 891.000000 1.000000 3.000000 80.000000 8.000000 Parch Fare count 891.000000 891.000000 mean 0.381594 32.204208 std 0.806057 49.693429 min 0.000000 0.000000 25% 0.000000 7.910400 50% 0.000000 14.454200 75% 0.000000 31.000000 max 6.000000 512.329200 #トレーニングデータセットの標本数は891名である。全体の標本(クルーと乗客の合計)2,224名のうち、約40%の標本であたる。 #生死に関する属性データは1と0である。 #トレーニングデータセットでは約38%が生き残ったが、実際の全体の生存率は約32%である。 #SibSp – タイタニックに同乗している兄弟/配偶者の数 #ほとんどの乗員乗客(75%以上)は親と子供が同乗していない。(parch – タイタニックに同乗している親/子供の数) #約30%の乗客には姉妹兄弟がいる。 #運賃は乗客によって大きく異なる。50%が14ドル以下だが、最高は512ドル。 #高齢者も少数含まれる。 #パーセンタイルを設定することで、任意の区切りが可能。 In [27]: train_df.describe(percentiles=[.1, .2, .3, .4, .5, .6, .7, .8, .9, .99]) Out[27]: PassengerId Survived Pclass Age SibSp \ count 891.000000 891.000000 891.000000 714.000000 891.000000 mean 446.000000 0.383838 2.308642 29.699118 0.523008 std 257.353842 0.486592 0.836071 14.526497 1.102743 min 1.000000 0.000000 1.000000 0.420000 0.000000 10% 90.000000 0.000000 1.000000 14.000000 0.000000 20% 179.000000 0.000000 1.000000 19.000000 0.000000 30% 268.000000 0.000000 2.000000 22.000000 0.000000 40% 357.000000 0.000000 2.000000 25.000000 0.000000 50% 446.000000 0.000000 3.000000 28.000000 0.000000 60% 535.000000 0.000000 3.000000 31.800000 0.000000 70% 624.000000 1.000000 3.000000 36.000000 1.000000 80% 713.000000 1.000000 3.000000 41.000000 1.000000 90% 802.000000 1.000000 3.000000 50.000000 1.000000 99% 882.100000 1.000000 3.000000 65.870000 5.000000 max 891.000000 1.000000 3.000000 80.000000 8.000000 Parch Fare count 891.000000 891.000000 mean 0.381594 32.204208 std 0.806057 49.693429 min 0.000000 0.000000 10% 0.000000 7.550000 20% 0.000000 7.854200 30% 0.000000 8.050000 40% 0.000000 10.500000 50% 0.000000 14.454200 60% 0.000000 21.679200 70% 0.000000 27.000000 80% 1.000000 39.687500 90% 2.000000 77.958300 99% 4.000000 249.006220 max 6.000000 512.329200
13.定性的属性データの特徴を確認する。
#includeに対応するアルファベットをO(オー)にすれば、 #カテゴリカルデータの特徴を知ることができる。 In [32]: train_df.describe(include=["O"]) Out[32]: Name Sex Ticket Cabin Embarked count 891 891 891 204 889 unique 891 2 681 147 3 top Becker, Miss. Marion Louise male CA. 2343 G6 S freq 1 577 7 4 644 #全員異なる名前を持つ。 #男性は65%(577/891)。 #出港地は3種類あり、Sが最も使われた(644/889)。 #チケットの22%は重複した名称を持つ。