首先有這麼一句話,「資料和特徵決定了機器學習的上限,而演算法和模型只是逼近這個上限而已」,嗯嗯,資料處理和特徵工程很重要,大概佔據70%的工作量,而模型選擇、模型調參、模型融合佔據30%的工作量。
接下來看看資料分析的流程:
資料的分布,比如分類問題中,正負樣本均衡很重要,即正樣本數:負樣本數接近1:1比較好。
資料的型別
數值型,是否跨度很大,比如[1,10000],這樣會導致收斂很慢,常常歸一化、標準化; 或者出現「長尾」資料,使用log歸一化;或者離散化(把0-100分一類,100-200分類,等等)。
類別性(category),一般使用one-hot編碼。
資料的維度,比如rgb顏色有三維資料,來表示乙個顏色lable。
資料是否有預設值。
資料清洗:
資料取樣:
這個主要針對分類的問題。如果正:負=1:100, 那麼很顯然,分類結果全判負,正確率就很高,這是由於樣本不均衡造成的。
常用的取樣方法:這裡假設正:負=1:10
視覺化:
比如畫出二維的圖,看看某維資料和label的二維關係圖,可以使用scikit-learn中的matplotlib或者tableau。
如果維度很大,可以使用t-sne來視覺化。
單個特徵的預處理:
歸一化、標準化:資料跨度比較大,不利於收斂。
log:避免「長尾」資料。
類別型資料:one-hot編碼。
特徵有缺失值:按照缺失值的數量多少來處理
特徵提取:
(1)數值型
(2)類別型
(3)時間型:這個著重說一下,常見的有如下
(4)統計型:分位數、中位數、平均數、std等等。
(5)還有(3)和(4)的組合。
(6)文字型:這個不熟悉。
四、建立模型:
xgboost ,lightgbm
五、模型融合:
stacking,有點累,回頭再寫。
機器學習第一課
過擬合就是,通過訓練集進行訓練的時候,模型學習了太多的背景雜訊,讓模型的複雜度高於了真實模型 比如看到齒距型的葉子,就覺得不是葉子 欠擬合是指,模型在訓練集上進行學習的時候,效果就不是很好,沒有充分學習到其中的資訊量,複雜度低於真實模型,得到的模型泛化能力差 比如看到綠色,就覺得是葉子 模型評估指標...
機器學習的第一課
期中考完又是乙個新的開始,這學期除了acm還想花一些時間在其他方面,本來想做一些nlp的專案的,但看了一點發現根本看不下去,好多需要有機器學習的基礎。再加上我想往ai方向讀研。所以到b站上找了吳恩達老師的公開課,打算每週花上幾個小時自學,順便補補數理基礎。說來也慚愧,線代概統已經不記得多少了,ai又...
js第一課總結
一 三種引入方法 1 內部引入 最好寫在離body最近的裡面 2 行內引入 clickme 3 外部引入 html js document.write hell word 二 變數 var 變數名稱 變數值 var宣告變數,變數名稱可以包含字母 數字 下劃線,必須以字母或下劃線開頭,名稱嚴格區分大小...