iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 21
0
AI & Data

實實在在地學習人工智慧-基礎理論探討與經典案例實作系列 第 21

【Day 21】開始寫程式拉!房價預測實戰演練 -資料刪除、Seaborn輔助查看資料和驗證集登場

  • 分享至 

  • xImage
  •  

今天是第21天,幾乎是每天都被文章追著跑/images/emoticon/emoticon02.gif,今天我們先借觀察一下昨天看到的那些資料,並分析哪些是我們不要的,再斟酌丟棄,後來會將訓練集多切一個驗證集出來,原因下面會再說明,那就開始吧!

繼續寫程式

查看一些資料型態及形狀

接續昨天的程式碼,昨天指示觀看程式碼,以及給訓練集和測試集一個名稱而已!接下來我們先看看資料裡面的型態

#先看看基本資料們
print(df_train.shape) #查看trian的形狀,以方便後來訂定神經網路的輸入層
print(df_test.shape)  #查看test形狀
print('*'*50)
print(df_train.dtypes) #看一下訓練資料的各個欄位的型態

輸出片段:
https://ithelp.ithome.com.tw/upload/images/20191006/20121049GDtUtaAZh6.jpg
https://ithelp.ithome.com.tw/upload/images/20191006/20121049MWqDSZaose.jpg

先把不用的Id拿掉

df_train.drop("Id",inplace = True,axis=1) #inplace = True會直接把原本的data改掉,axis=1才會刪除 行
df_test.drop("Id",inplace = True,axis=1)  #inplace = True會直接把原本的data改掉,axis=1才會刪除 行
df_train.head(5) #.head()可以查看前幾筆資料,括號填入數字

輸出:
https://ithelp.ithome.com.tw/upload/images/20191006/20121049HIqzKK7GjJ.jpg
到這裡先介紹兩個東西,一個是seaborn還有誰是驗證集!

Seaborn 小小介紹

Seaborn是在Matplotlib上面的高階視覺化API,相較於Matplotlib,Seaborn繪圖更快速,要以比喻的方式說明Seaborn和Matplotlib的關係,就像是Keras和tensorflow關係一樣,所以以Seaborn的方式繪畫會更快、更方面,就像Keras在建神經網路一樣非常方便。但這邊特別出來是因為,在分析資料時常常會使用Seaborn畫圖更為快速~在明天的code就會使用到囉!

誰是驗證資料(validation data)?

之前提到的機器學習都只分訓練集和測試集兩種。利用訓練資料學習,最後再用測試資料判斷準確度來看這個model,來觀察是否有過於符合這個訓練資料(overfitting)。
先介紹一個名詞-超參數(hyper-parameter):超參數可以代表的意思有很多,如神經元數量、學習率、權重等等。但我們通常不易去決定以上這些,會讓我們在建立神經網路時有很大的困擾,通常都要嘗試錯誤法去找到比較好的模型,然而這會耗掉我們相當多的時間,所以這時候驗證集的重要性就來了。
我們可以從訓練集切出一份資料當成驗證集,通常會切成8(訓練集):2(驗證集),比例也可以是9:1,大概是訓練集會多出很多這樣,當然還有其他種驗證資料的分法,我們這邊先不提到。所以,驗證資料的目的就是為了評估超參數的效能並調整,有了驗證資料會讓我們的模型收斂得更好!

明天開始會大幅度進入到coding的部分,一樣還是有理論的話會進行補充,21天了,加油!


上一篇
【Day 20】開始寫程式拉!房價預測實戰演練 -資料匯入和介紹
下一篇
【Day 22】開始寫程式拉!房價預測實戰演練 -Pearson相關係數介紹及程式碼實現
系列文
實實在在地學習人工智慧-基礎理論探討與經典案例實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言