你聽過的有AI框架有scikit-learn(機器學習)、tensorflow(深度學習)、pytorch(深度學習),
但是你有聽過QLattice嗎?
QLattice是一個新推出的框架,不同於深度學習的神經網路,
它的訓練過程是在每一個迭帶中,一次生成幾千個模型,
每個模型利用反向傳播查看損失函數,
剔除損失資訊過大,表現不好的模型,
只保留表現最好的10個模型(可以調整數目的參數),
進入下一個迭帶。
官網的介紹:
https://docs.abzu.ai/docs/guides/getting_started/qlattice.html#the-fitting-process
但是也必須提一下QLattice的缺點,
就是如果要用來商業化的應用,
必須付出每個月250歐元。
但是只是用來解決日常生活的問題,
或是參與kaggle的比賽,可以使用免費版。
今天來看基礎的分類功能,這是官網的攻略:
https://docs.abzu.ai/docs/tutorials/python/titanic.html
是很常見到鐵達尼號生存問題,
利用乘客的特徵(幾歲、性別、坐的是頭等艙還是經濟艙等等)來預測該乘客是否會存活。
可以在kaggle或是官網攻略下載資料集:
這次我們使用kaggle notebook的環境來運行:
在notebook右上角add data上傳資料集:
確認上傳成功:
安裝及載入套件(QLattice演篹法的套件叫feyn,是費曼的英文):
查看資料結構:
將有遺失特徵的資料剔除:
將姓名、船票號碼、從哪一個艙門上船等等跟會不會存活不相關的資料剔除,
將有遺失年紀的資料補上年紀的平均值:
劃分訓練集、驗證集、測試集,預測的標籤是 是否存活:
將艙等的資料轉換成文字類別的特徵(QLattice的優點之一是,你不需要再將特徵轉成one hot encode):
創建模型,開始訓練:
我們可以查看表現最好的模型準確度的評估,以及模型的權重及運算(不只加法而以):
將模型用來預測是否會存活: