時間戳通常需要分離成多個維度比如年、月、日、小時、分鐘、秒鐘。但在很多的應用中,大量的資訊是不需要的,因此我們在呈現時間的時候,試著保證你所提供的所有資料是你的模型所需要的,並且別忘了時區,加入你的資料來源來自不同的地理資料來源,別忘了利用時區將資料標準化。
舉乙個簡單的例子,由組成的離散型變數,最常用的方式是吧每個變數值轉換成二元屬性,即從取乙個值,也就是常說的獨熱編碼(one-hot code)。
有時候,將連續型變數轉換成類別呈現更有意義,同時能夠使演算法減少雜訊的干擾,通過將一定範圍內的數值劃分成確定的塊。舉個例子,我們要**具有哪些特徵的人會購買我們**的商品,使用者的年齡是乙個連續的變數,我們可以將年齡分為15以下、15-24、25-34、35-44、45及以上。而且,不是將這些類別分成2個點,你可以使用標量值,因為相近的年齡表現出相似的屬性。
只有了解變數的領域知識的基礎,確定屬性能夠劃分成簡潔的範圍時分區才有意義,即所有的數值落入乙個分割槽時能夠呈現出共同的特徵。在實際的運用中,當你不想讓你的模型總是嘗試區分值之間是否太近時,分割槽能夠避免出現過擬合。例如,如果你感興趣的是將乙個城市作為總體,這時你可以將所有落入該城市的維度整合成乙個整體。分箱也能減小小錯誤的影響,通過將乙個給定值劃入到最近的塊中。如果劃分範圍的數量和所有可能值相近,或對你來說準確率很重要的話,此時分箱就不合適了。
交叉特徵算是特徵工程中非常重要的方法之一,它將兩個或更多的類別屬性組合成乙個。當組合的特徵要比單個特徵更好時,這是一項非常有用的技術。數學上來說,是對類別特徵的所有值進行交叉相乘。
假如擁有乙個特徵a,a有兩個可能值。擁有乙個特徵b,存在等可能值。然後,a&b之間的交叉特徵如下:,並且你可以給這些組合特徵取任何名字。但是需要明白每個組合特徵其實代表著a和b各自資訊協同作用。
為了得到更好的模型,使用某些演算法自動的選出原始特徵的子集。這個過程,你不會構建或修改你擁有的特徵,但是會通過修建特徵來達到減少雜訊和冗餘。
特徵選擇演算法可能會用到評分方法來排名和選擇特徵,比如相關性或其他確定特徵重要性的方法,更進一步的方法可能需要通過試錯,來搜素出特徵子集。
還有通過構建輔助模型的方法,逐步回歸就是模型構造過程中自動執行特徵選擇演算法的乙個例項,還有像lasso回歸和嶺回歸等正則化方法也被歸入到特徵選擇,通過加入額外的約束或者懲罰項加到已有模型(損失函式)上,以防止過擬合併提高泛化能力。
有時候,你可能會注意到某些特徵比其他特徵擁有高得多的跨度值。舉個例子,將乙個人的收入和他的年齡進行比較,更具體的例子,如某些模型(像嶺回歸)要求你必須將特徵值縮放到相同的範圍值內。通過特徵縮放可以避免某些特徵獲得大小非常懸殊的權重值。
特徵提取涉及到從原始屬性中自動生成一些新的特徵集的一系列演算法,降維演算法就屬於這一類。特徵提取是乙個自動將觀測值降維到乙個足夠建模的小資料集的過程。
對於列表資料,可使用的方法包括一些投影方法,像主成分分析和無監督聚類演算法。
對於圖形資料,可能包括一些直線監測和邊緣檢測,對於不同領域有各自的方法。
特徵工程 常用的特徵轉換方法總結
機器學習模型的生命週期可以分為以下步驟 要構建模型就必須要對資料進行預處理。特徵轉換是這個過程中最重要的任務之一。在資料集中,大多數時候都會有不同大小的資料。為了使更好的 必須將不同的特徵縮小到相同的幅度範圍或某些特定的資料分布。什麼時候需要特徵轉換 什麼時候不需要特徵轉換 大多數基於樹型模型的整合...
七種常用特徵工程
像乙個優秀的工程師一樣使用機器學習,而不要像乙個機器學習專家一樣使用機器學習方法。google 當在做資料探勘和資料分析時,資料是所有問題的基礎,並且會影響整個工程的流程。相比一些複雜的演算法,如何靈活的處理好資料經常會取到意想不到的效益。而處理資料不可或缺的需要使用到特徵工程。一 什麼是特徵工程 ...
工程中常用的特徵選擇方法
當資料預處理完成後,我們需要選擇有意義的特徵輸入機器學習的演算法和模型進行訓練。為什麼?1 降低維度,選擇重要的特徵,避免維度災難,降低計算成本 2 去除不相關的冗餘特徵 雜訊 來降低學習的難度,去除雜訊的干擾,留下關鍵因素,提高 精度 3 獲得更多有物理意義的,有價值的特徵 不同模型有不同的特徵適...