對於某個特定任務來說,如何找到最佳資料表示,稱之為特徵工程(feature engineering)
分類變數
one_hot編碼與dummy variable
python**實現在我另一篇部落格連線
連續變數離散化
特徵離散化( discretization)也叫分箱(bining),與上文不同的是,離散化是把原理連續取值的變數轉化為幾個值表示。
比如在做決策樹的時候,是需要變數為離散值的,有時需要用到變數的離散化,雖然在一定程度上會損失變數資訊。
在pandas中的實現
import numpy as np把特徵劃歸為-3至3之間的7份,data_bins顯示原取值劃為哪乙個箱子。bins=np.linspace(-3,3,7)
print bins
print (「bins:{}」.format(bins))
data_bins=np.digitize(data,bins=bins)
print data_bins
.3. 互動特徵與多項式特徵
from sklearn.linear_model import linearregressiondegree(自由度),表示擬合的最高次項為三次。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)
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...