實作一個專屬自己的機器學習app!-Streamlit入門(2)

YT Chen
Feb 20, 2020

--

EDA…處理缺失值…preprocessing….feature engineering….fit…模型完成!

雖然常說資料跟丟進黑盒子裡沒兩樣(除了決策樹),

但當辛辛苦苦的做完一個模型後總是會想要看一下效果是吧?

不然有種大招出完對方還是無動於衷的感覺(?)

所以來用經典的Titanic資料集玩玩看streamlit吧~

可以先點下方的成品link來預測你在鐵達尼號上的存活機率是多少

( 2022.12 更新: heroku 已停止免費服務,再見了朋友 )

Titanic Test

實作:

首先先開啟cmd並指向到檔案的位置

再叫streamlit運行你的檔案,關掉cmd時就等於關掉app的訊號源

通常它會直接跳出來,如果沒有的話就手動複製貼上到瀏覽器

不能用jupyter的話我個人是習慣用notepad++寫啦

常規的import套件

用@st.cache讀原始資料,因為kaggle有提供連結所以不用再另外找平台放資料,如果是私用的資料可以放在AWS等雲端,沒有要push出去就正常的本機就好

常規的迴歸填值、feature engineering、one-hot encoding、standardization

fit它,模型完成啦~

主角streamlit,建議先建list就好,原本是想套進one-hot的函式裡,然而Pclass出現的結果不如預期

手動one-hot encoding…很不優雅….

換算是從wiki上看的,GBP£1≒NT$39

用silder、selectbox等widget獲取使用者資料後變SibSp、Parch、Familysize

因為我模型使用的是經過standardization的age跟fare,所以需要再進行一次

並print出最後要丟進模型的資料

最後用先前訓練好的RandomForestClassifier預測使用者的生存或死亡率~

整體程式碼:

下一篇:deploy到網路上!

--

--