kaggle泰坦尼克號(hào)之災(zāi)-小白極簡(jiǎn)版

例子描述:

比賽地址:https://www.kaggle.com/c/titanic
使用乘客數(shù)據(jù)(即姓名,年齡,性別,社會(huì)經(jīng)濟(jì)艙等),建立一個(gè)預(yù)測(cè)模型來回答以下問題:“什么樣的人更有可能生存?” 。這是一個(gè)只適合小白的極簡(jiǎn)版本,不求排名,只求入門。

所需環(huán)境:Anaconda3

下載并安裝:Anaconda3-2020.02-Windows-x86_64.exe
下載頁面:https://www.anaconda.com/distribution/
下載地址:https://repo.anaconda.com/archive/Anaconda3-2020.02-Windows-x86_64.exe

3個(gè)步驟:
  1. 閱讀比賽介紹,下載數(shù)據(jù)集
  2. 導(dǎo)入數(shù)據(jù)集
  3. 選擇特征作為訓(xùn)練數(shù)據(jù)
  4. 構(gòu)建模型
  5. 預(yù)測(cè)測(cè)試數(shù)據(jù)生成gender_submission.csv文件,用于提交到kaggle
  6. 上傳gender_submission.csv文件到kaggle

1. 閱讀比賽介紹,下載數(shù)據(jù)集

比賽介紹:https://www.kaggle.com/c/titanic/overview

下載數(shù)據(jù)集:https://www.kaggle.com/c/titanic/data

image.png

2. 導(dǎo)入數(shù)據(jù)集

打開Anaconda3并啟動(dòng)Jupyter Notebook


image.png
image.png
新建Python文件編寫代碼

編寫代碼:

#導(dǎo)入相關(guān)模塊
import numpy as np 
import pandas as pd
#導(dǎo)入數(shù)據(jù)
train_data = pd.read_csv("D:/Anaconda3/notebook/kaggle/Titanic/data/train.csv") #你下載的數(shù)據(jù)集文件路徑,不要用中文
train_data.head() #查看前5行數(shù)據(jù)

3. 選擇特征作為訓(xùn)練數(shù)據(jù)

  1. PassengerID(ID)
  2. Survived(存活與否)
  3. Pclass(客艙等級(jí),較為重要)
  4. Name(姓名,可提取出更多信息)
  5. Sex(性別,較為重要)
  6. Age(年齡,較為重要)
  7. Parch(直系親友)
  8. SibSp(旁系)
  9. Ticket(票編號(hào))
  10. Fare(票價(jià))
  11. Cabin(客艙編號(hào))
  12. Embarked(上船的港口編號(hào))
features = ["Pclass", "Sex", "SibSp", "Parch"]  #四個(gè)特征
X = pd.get_dummies(train_data[features])  #構(gòu)造訓(xùn)練樣本數(shù)據(jù)
y = train_data["Survived"]  #構(gòu)造訓(xùn)練標(biāo)簽數(shù)據(jù)

為了簡(jiǎn)單,這里只選擇4個(gè)特征用于模型訓(xùn)練

4. 構(gòu)建模型

from sklearn.ensemble import RandomForestClassifier #使用隨機(jī)森林
model = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1) #構(gòu)造模型
model.fit(X, y) #訓(xùn)練模型

5. 預(yù)測(cè)測(cè)試數(shù)據(jù)生成gender_submission.csv文件,用于提交到kaggle

X_test = pd.get_dummies(test_data[features]) #選擇特征,構(gòu)造測(cè)試樣本數(shù)據(jù)
predictions = model.predict(X_test)  #對(duì)測(cè)試數(shù)據(jù)繼續(xù)預(yù)測(cè)
output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})
output.to_csv('D:/Anaconda3/notebook/kaggle/Titanic/data/gender_submission.csv', index=False) #保存預(yù)測(cè)結(jié)果
print("預(yù)測(cè)結(jié)果gender_submission.csv文件保存成功,可以提交到kaggle了")

6. 上傳gender_submission.csv文件到kaggle

提交文件
選擇文件然后提交

這里有個(gè)錯(cuò)誤,是因?yàn)樘峤晃募枰瓑?/p>

翻墻后成功

翻墻后再次提交成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。