在一幢建築裏要看到三樣東西:它是否被正確的選址,它是否被牢固的奠基,它是否被成功的建造——約翰·沃爾夫岡·馮·歌德
大家好,我是今天的值班編輯,今天是中華民族最隆重、最熱鬧的傳統節日,小編在此祝您全家新年快樂。財源滾滾隨春到,喜氣洋洋伴福來。骐骥一躍奔錦繡,大地流金萬象新。高居寶地財興旺,福照家門富生輝。歡聚一堂迎新春,歡天喜地度佳節。
小編之前在這個公衆號裏面挖過一個坑,寫過一篇文章《25行python代碼實現一個機器學習項目》,在文章中,小編用25行python代碼訓練的機器學習分類模型(決策樹模型)的准確率得分爲0.65,距離1.0還比較遙遠。今天就來講一講如何提高模型的准確率。
2)特征工程
特征工程(Feature Engineering)指的是從現有的訓練數據中提取更多有效特征出來的神操作。
比如數據類型轉化、標准化、歸一化、分箱、one-hot編碼、缺失值填充、特征選擇、降維、組合等等。
特征工程可以說是機器學習項目中最苦最累最沒有技術含量的活(IT民工的說法不是白來的),但通常也是見效最快的方法。
既然說到了“工程“二字,小編就再羅索幾句。通常一個機器學習工程師都把自己的技術方向稱爲”策略方向”,以區別于”工程方向“; 並且,”策略方向“的工程師通常會鄙視”工程方向“的工程師,好像自己天生就高人一等的樣子。
4)模型調參
通常,一個模型都有幾個參數可以調整,這些參數被稱爲“超參數”。我們可以想辦法尋找到這些參數的最優值,當然,有時候超參數的默認值就已經足夠好了。調參也是要花不少時間的,畢竟每一次參數的調整都意味著重新訓練一次模型。
對pclass特征進行one-hot編碼並填充回df(編碼並填充之後就可以刪除原始特征了)、對age特征用中位數填充缺失值並且轉化爲int:
組合Parch 和 SibSp兩個特征,生成新的特征family,並且把它二值化爲0或1(有沒有家屬);
對Fare特征也使用中位數來補全缺失數據:
生成x與y,初始化隨機森林模型,開始訓練、預測、評估: