titanic 知識(shí)點(diǎn)總結(jié)

1叫挟,缺失值

填補(bǔ)缺失值可以根據(jù)與其相關(guān)性較高的屬性進(jìn)行分組填充

df_all['Age'] = df_all.groupby(['Sex', 'Pclass'])['Age'].apply(lambda x: x.fillna(x.median()))

如果對某個(gè)特征補(bǔ)的缺失值過多棉姐,可以將其特征中的分布相似的值進(jìn)行合并滓走,已達(dá)到減少偏度,使填補(bǔ)的值不對最后預(yù)測產(chǎn)生很大的影響

2循集,觀察目標(biāo)變量(分類)

survived = df_train['Survived'].value_counts()[1]

not_survived = df_train['Survived'].value_counts()[0]

survived_per = survived / df_train.shape[0] * 100

not_survived_per = not_survived / df_train.shape[0] * 100

print('{} of {} passengers survived and it is the {:.2f}% of the training set.'.format(survived, df_train.shape[0], survived_per))

print('{} of {} passengers didnt survive and it is the {:.2f}% of the training set.'.format(not_survived, df_train.shape[0], not_survived_per))

plt.figure(figsize=(10, 8))

sns.countplot(df_train['Survived'])

plt.xlabel('Survival', size=15, labelpad=15)

plt.ylabel('Passenger Count', size=15, labelpad=15)

plt.xticks((0, 1), ['Not Survived ({0:.2f}%)'.format(not_survived_per), 'Survived ({0:.2f}%)'.format(survived_per)])

plt.tick_params(axis='x', labelsize=13)

plt.tick_params(axis='y', labelsize=13)

plt.title('Training Set Survival Distribution', size=15, y=1.05)

plt.show()

3迎卤,相關(guān)性做圖

fig, axs = plt.subplots(nrows=2, figsize=(20, 20))

sns.heatmap(df_train.drop(['PassengerId'], axis=1).corr(), ax=axs[0], annot=True, square=True, cmap='coolwarm', annot_kws={'size': 14})

sns.heatmap(df_test.drop(['PassengerId'], axis=1).corr(), ax=axs[1], annot=True, square=True, cmap='coolwarm', annot_kws={'size': 14})

for i in range(2):? ?

? ? axs[i].tick_params(axis='x', labelsize=14)

? ? axs[i].tick_params(axis='y', labelsize=14)


axs[0].set_title('Training Set Correlations', size=15)

axs[1].set_title('Test Set Correlations', size=15)

plt.show()

4它匕,觀察目標(biāo)變量與特征(連續(xù))分布圖

cont_features = ['Age', 'Fare']

surv = df_train['Survived'] == 1

fig, axs = plt.subplots(ncols=2, nrows=2, figsize=(20, 20))

plt.subplots_adjust(right=1.5)

for i, feature in enumerate(cont_features):? ?

? ? # Distribution of survival in feature

? ? #ax 表示左圖還是右圖

? ? sns.distplot(df_train[~surv][feature], label='Not Survived', hist=True, color='#e74c3c', ax=axs[0][i])

? ? sns.distplot(df_train[surv][feature], label='Survived', hist=True, color='#2ecc71', ax=axs[0][i])


? ? # Distribution of feature in dataset

? ? sns.distplot(df_train[feature], label='Training Set', hist=False, color='#e74c3c', ax=axs[1][i])

? ? sns.distplot(df_test[feature], label='Test Set', hist=False, color='#2ecc71', ax=axs[1][i])


? ? axs[0][i].set_xlabel('')

? ? axs[1][i].set_xlabel('')


? ? for j in range(2):? ? ? ?

? ? ? ? axs[i][j].tick_params(axis='x', labelsize=20)

? ? ? ? axs[i][j].tick_params(axis='y', labelsize=20)


? ? axs[0][i].legend(loc='upper right', prop={'size': 20})

? ? axs[1][i].legend(loc='upper right', prop={'size': 20})

? ? axs[0][i].set_title('Distribution of Survival in {}'.format(feature), size=20, y=1.05)

axs[1][0].set_title('Distribution of {} Feature'.format('Age'), size=20, y=1.05)

axs[1][1].set_title('Distribution of {} Feature'.format('Fare'), size=20, y=1.05)


plt.show()

離散

cat_features = ['Embarked', 'Parch', 'Pclass', 'Sex', 'SibSp', 'Deck']

fig, axs = plt.subplots(ncols=2, nrows=3, figsize=(20, 20))

plt.subplots_adjust(right=1.5, top=1.25)

for i, feature in enumerate(cat_features, 1):? ?

? ? plt.subplot(2, 3, i)

? ? sns.countplot(x=feature, hue='Survived', data=df_train)


? ? plt.xlabel('{}'.format(feature), size=20, labelpad=15)

? ? plt.ylabel('Passenger Count', size=20, labelpad=15)? ?

? ? plt.tick_params(axis='x', labelsize=20)

? ? plt.tick_params(axis='y', labelsize=20)


? ? plt.legend(['Not Survived', 'Survived'], loc='upper center', prop={'size': 18})

? ? plt.title('Count of Survival in {} Feature'.format(feature), size=20, y=1.05)

plt.show()

5寞射,對連續(xù)特征進(jìn)行分箱

df_all['Fare'] = pd.qcut(df_all['Fare'], 13)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渔工,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子桥温,更是在濱河造成了極大的恐慌引矩,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侵浸,死亡現(xiàn)場離奇詭異旺韭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)掏觉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門区端,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人澳腹,你說我怎么就攤上這事织盼。” “怎么了酱塔?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵沥邻,是天一觀的道長。 經(jīng)常有香客問我羊娃,道長唐全,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任蕊玷,我火速辦了婚禮邮利,結(jié)果婚禮上弥雹,老公的妹妹穿的比我還像新娘。我一直安慰自己近弟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布挺智。 她就那樣靜靜地躺著祷愉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赦颇。 梳的紋絲不亂的頭發(fā)上二鳄,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音媒怯,去河邊找鬼订讼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛扇苞,可吹牛的內(nèi)容都是我干的欺殿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鳖敷,長吁一口氣:“原來是場噩夢啊……” “哼脖苏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起定踱,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對情侶失蹤棍潘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后崖媚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體亦歉,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年畅哑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了肴楷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荠呐,死狀恐怖阶祭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情直秆,我是刑警寧澤濒募,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站圾结,受9級(jí)特大地震影響瑰剃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜筝野,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一晌姚、第九天 我趴在偏房一處隱蔽的房頂上張望粤剧。 院中可真熱鬧,春花似錦挥唠、人聲如沸抵恋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弧关。三九已至,卻和暖如春唤锉,著一層夾襖步出監(jiān)牢的瞬間世囊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工窿祥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留株憾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓晒衩,卻偏偏與公主長得像嗤瞎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子听系,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354