2020-03-08決策樹實例_Titanic數(shù)據(jù)和Kaggle


1.注冊kaggle賬號
注冊的時候注意:網(wǎng)站發(fā)Email來自己的郵箱confirm的那個鏈接貌似需要上網(wǎng)

2.配置API

3.報名競賽 進(jìn)入Data
這個界面會提供競賽背景和數(shù)據(jù)的概要/特征

4.下載數(shù)據(jù)
Data界面的Data欄目后面有個API,點擊可以copy下來.
可以在后面補充路徑相關(guān)內(nèi)容

kaggle competitions download -c <competition_name> -p <path>
#or use
kaggle competitions download -c <competition_name> -f <filename> -p <path>

5.上交代碼/預(yù)測結(jié)果

usage: kaggle competitions submit [-h] [-c COMPETITION] -f FILE -m MESSAGE
                                  [-q]

required arguments:
  -f FILE, --file FILE  File for upload (full path)
  -m MESSAGE, --message MESSAGE
                        Message describing this submission

optional arguments:
  -h, --help            show this help message and exit
  -c COMPETITION, --competition COMPETITION
                        Competition URL suffix (use "kaggle competitions list" to show options)
                        If empty, the default competition will be used (use "kaggle config set competition")"
  -q, --quiet           Suppress printing information about download progress

eg:

kaggle competitions submit -c diabetic-retinopathy-detection -f sample_submission_favorita.csv.7z -m "My submission message"

6.評測
數(shù)據(jù)競賽的評測和信息學(xué)競賽的還是有差異,在Titanic數(shù)據(jù)中,一天只能上交10次

7.根據(jù)評測結(jié)果調(diào)整模型

8.賽后分享

以下是本次kaggle的過程

0.前期準(zhǔn)備
注冊賬號,搭建開發(fā)環(huán)境,下載第三方庫等工作.

1.下載數(shù)據(jù)
用指令把Titanic競賽的數(shù)據(jù)下載到本地

2.分析背景
分析應(yīng)用的背景,對問題有個感性的認(rèn)知,確認(rèn)問題的類型和適合的算法.

  • 這次的問題是一個典型的分類問題,需要根據(jù)Titanic上面人的特征去predict其獲救或者死亡,適合用決策樹分類器解決問題.
  • 引進(jìn)pandas處理數(shù)據(jù)
  • 引進(jìn)plt做可視化

3.探索數(shù)據(jù)
探索數(shù)據(jù)的特征,對問題逐漸開始理性了解,去考慮數(shù)據(jù)的特征等問題.
*好像pandas里面內(nèi)置了一些對csv的處理文件但是一定要注意

  • 路徑不要中文啊喂
  • 路徑串前面加r表示raw input
    讀入表格之后可以看表頭

注意classifier的分類問題中,要把非數(shù)字的要處理的feature轉(zhuǎn)化成數(shù)字,這應(yīng)該在本階段進(jìn)行觀察

4.數(shù)據(jù)預(yù)處理
(1)特征選擇:剔除關(guān)聯(lián)度小的/缺失太多的特征

  • Ticket,Name影響不大,直接剔除
  • Cabin缺失太多,直接剔除

(2)補充缺失值
均值\中位數(shù)\極值\0

  • 太少的缺失直接drop整行掉
  • 非數(shù)值化的特征要對其數(shù)值化
  • 查看特征可以取列,調(diào)用unique()方法
  • 用lambda表達(dá)式讓多分類轉(zhuǎn)化成數(shù)值(不超過10),注意這樣的轉(zhuǎn)化不能用在序數(shù)上面.如收入0-1-2對應(yīng)低-中-高,但是一個不是另一個的兩倍
  • 可以直接把True/False類型轉(zhuǎn)化成int

(3)分離關(guān)鍵特征Y

  • 分理出XY,然后分為訓(xùn)練集,測試集并且重新編號

5.開始線下模擬

  • 實例化分類器
  • 訓(xùn)練模型
  • 求出score

6.線下模型進(jìn)行改進(jìn)

  • 交叉驗證
  • 調(diào)參&剪枝
  • 畫學(xué)習(xí)曲線觀察參數(shù),防止過擬合.
  • 萬一用了網(wǎng)格學(xué)習(xí)那可要要跑一段時間

7.線上評測

8.改進(jìn)算法,繼續(xù)提交

9.賽后分享

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容