機器學習 特徵工程筆記

2021-08-18 15:07:26 字數 1224 閱讀 8160

對於某個特定任務來說,如何找到最佳資料表示,稱之為特徵工程(feature engineering)
分類變數

one_hot編碼與dummy variable

python**實現在我另一篇部落格連線

連續變數離散化

特徵離散化( discretization)也叫分箱(bining),與上文不同的是,離散化是把原理連續取值的變數轉化為幾個值表示。

比如在做決策樹的時候,是需要變數為離散值的,有時需要用到變數的離散化,雖然在一定程度上會損失變數資訊。

在pandas中的實現

import numpy as np

bins=np.linspace(-3,3,7)

print bins

print (「bins:{}」.format(bins))

data_bins=np.digitize(data,bins=bins)

print data_bins

把特徵劃歸為-3至3之間的7份,data_bins顯示原取值劃為哪乙個箱子。

.3. 互動特徵與多項式特徵

from sklearn.linear_model import linearregression

from sklearn.preprocessing import polynomialfeatures

poly=polynormialfeatures(degree=3,include_bias=false)

poly.fit(x)

x_poly=poly.transform(x)

reg=linearregression().fit(x_poly,y)

degree(自由度),表示擬合的最高次項為三次。

include_bias是新增截距,注意回歸模型中的bias(截距)和方差-偏差權衡中的偏置不是一回事。

4.特徵的非線性變換

對於資料非正態的時候,往往需要對資料做變換,常見的對數轉換,box_cox 轉化,平方根變換,倒數變換等

對數轉換如:

x_log=np.log(x+1)

5.自動特徵選

機器學習 特徵工程

老師有多年的網際網路從業經驗,所以講解的過程中結合了很多任務業界的應用,更加的深入淺出。資料採集 資料採集前需要明確採集哪些資料,一般的思路為 哪些資料對最後的結果 有幫助?資料我們能夠採集到嗎?線上實時計算的時候獲取是否快捷?舉例1 我現在要 使用者對商品的下單情況,或者我要給使用者做商品推薦,那...

機器學習 特徵工程

資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。通俗的說,就是盡可能的從原始資料中獲取更多資訊,從而使得 模型達到最佳。簡而言之,特徵工程是乙個把原始資料變成特徵的過程,這些特徵可以很好的描述資料,並且利用它們建立的模型在未知資料上表現效能可以達到最優。實驗結果取決於獲取的資料 ...

機器學習特徵工程

作用 對字典資料進行特徵值化 dictvectorizer語法 例項化了乙個物件 data dict fit transform x print dict get feature names print data return none if name main dictvec 結果 分析 使用di...