- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
AI-PYTHON-TENSORFLOW-keras 需了解的基礎概念(二)
1)資料如何整理以及資料如何導入機器學習或深度學習模型中
一般在企業資料當中會有null(空值),在machine learning中,有些弱學習器是可以允許null值,比如decision tree、svm、甚至lightgbm,不過通常我們會針對null值做一些補值的動作,例如:平均值,中位數,或甚至欄位null值太多,該欄位或許可以考慮移除,但在深度學習中(deep learning)中是不可以有null值的,因此在同樣可以做分類預測,資料內容整理程度會有所不同
2)標準化:
之前有談過標準化,目的是不要在運算當中欄位值忽大忽小,例如:a欄的值從10-10000,b欄的值介於0-1之間,c欄的值又在50-100之間,這樣a、b、c欄在人做運算的時候,加櫂會是一個很大的問題,應該全部縮放在0-1之間,會是一個比較好的做法
3) 數值計算:
有些是屬性值的欄位,比如d欄存放1:藍色,2:紅色,3:白色...
我們思考一個問題,4(黑色)在計算中的權重一定比較大嗎?說不定整個資料表中,黑色只有2筆,紅色有500筆,該如何做呢,之前提到的one_hot encoding就是在處理轉換這件事
假設有7個會員,四種顏色
one_hot encoding做完之後會像下面這樣,不是放顏色代碼喔
是不是所有顏色都要放上去呢?其實在幾十萬上百萬的資料中,如果很多特殊色都只有一二筆,甚至3-5筆,其實可以歸到'其他'一欄中
4)資料區間的取捨:
是否要從有資料的第一筆就取來訓練,見人見智,有很多考量的點,如果是已經累積8-10年的資料,而你所要預測的資料,2-4年內都是周而復始,或許用2-3年的資料量就已經很有成效,當然要看你要解決問題的屬性為何,另外設備的效能也是一個考量點,太多的資料,不見得有辦法執行,總之這部分有很多重點在實際執行時,必須事先規劃,否則做下去的時候,有可能白忙一場
5)欄位資料的再加工處理:
所謂再處理,舉個例子吧,假設你已經有30個欄位(features)提供訓練分析,其中有個欄位稱為交易時間,有日期與時間,像這樣'2022-01-06 18:30:21',習慣上會做一些再加工的處理,把日期拆成年、月、日,時間拆成早上、下午、晚上,如果能搭配假日或非假日的話會更好,或者搭配星期欄位,更棒,其他欄位的分解,就請各位去思考了
當然有拆也可以有組,有些欄位不見的是有計算價值的,但經過與其他欄位的合併運算,也許會產生不同的特徵值,可以將不突出的特徵突顯出來
先說到這---
留言
張貼留言