Colab(一二。一):Kaggle - Titanic
2021/03/24
-----
說明:
花了一點時間跑一下鐵達尼號倖存者的實作 [1], [2]。[1] 主要會遇到的問題是 Python 舊版的 sorted 在新版時,會遇到 nan 跟 'C' 'Q' 'S' 分屬 float 與 str,因此無法排序。在 [2] 的解決之道是 nan 數量只有 2,直接改成 'S' 即可。
另外 Pandas 的 dataframe 與 Numpy 的 array,是兩個重要的非內建資料型態。
做 [1] 的時候,覺得這是一個很經典的問題,值得多花一點時間。還想要用深度學習做出很棒的結果。不過看了網上的資料,確實深度學習的強項是資料量更大的時候,鐵達尼的資料集說實在不大。
見識到一些前處理要注意的事項。前處理完成後,就是呼叫隨機森林的演算法。演算法當然值得深入研究,不過這就是實作之外的另一個問題了。Pandas 跟 Numpy 是更基本的。
-----
https://pixabay.com/zh/photos/giant-downfall-pleasure-boat-times-510674/
-----
◎ 以下以參考文獻 [1] 的 ipynb 檔作為「鐵達尼號倖存者」練習之用。程式塊的編號會放在問題編號之前。
-----
(in [2]:)問題一:df_train = pd.read_csv('../data/titanic/train.csv')
解答一:自行修改訓練集的路徑。參考 https://newtoypia.blogspot.com/2019/07/colab.html
-----
(in [13] :)問題二:print
解答二:print()
-----
(in [16] :)問題三:embarked_locs = sorted(df_train['Embarked'].unique())
解答三:
暫時使用手動排序。
解答說明:
首先看一下(in[2] :)與(out[4] :)。train 這個 csv 檔變成 df_train 這個 DataFrame 後,有 int64、float64、object 三種 dtypes(data types) [5]。而 object 在 pandas 裡面,代表 string,如果要在機器學習中使用,則要再轉成數值。
-----
(in [19] :)問題四:if len(df_train[df_train['Embarked'].isnull()] > 0):
解答四:if len(df_train[df_train['Embarked'].isnull()]) > 0:
-----
(in [19] :)問題五:nan。
解答五:np.nan。
https://stackoverflow.com/questions/38672695/nan-in-mapper-name-nan-is-not-defined
-----
(in [27] :)問題六:繪圖問題先跳過。
-----
(in [29] :)問題七:繪圖問題先跳過。
-----
(in [40] :)問題八:無法讀檔。
解答八:修改檔案路徑。
-----
(in [41] :)問題九:
(in [37] :)
一樣是問題三跟問題四的問題。
sort
跟
compare
sort 的解法應該是把非 np.nan 的陣列排序,然後加到 np.nan 成為新的陣列,新的結果。
-----
from sklearn import metrics
#from sklearn.cross_validation import train_test_split
from sklearn.model_selection import train_test_split
-----
暫時的結果。
-----
References
[1] Kaggle機器學習競賽:預測泰坦尼克號倖存者
[2] [資料分析&機器學習] 第4.1講 : Kaggle競賽-鐵達尼號生存預測 (前16%排名) | by Yeh James | JamesLearningNote | Medium
[3] [ Day31] Kaggle的解題挑戰 2018版 - Kaggle實戰 Titanic - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
https://ithelp.ithome.com.tw/articles/10206089
[4] 【機器學習】Hello Kaggle! 機器學習競賽入門 Titanic - Jason Chen's Blog
https://jason-chen-1992.weebly.com/home/hello-kaggle
-----
[5] pandas.read_csv — pandas 1.2.3 documentation
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
[6] Python sorted() 函数 | 菜鸟教程
https://www.runoob.com/python/python-func-sorted.html
-----
No comments:
Post a Comment