1.最小-最大規範化
最小-最大規範化對原始資料進行線性變換,變換到[0,1]區間(也可以是其他固定最小最大值的區間)
x[n] = (x[n] - min) / (max - min)
2. 標準化(standardization or mean removal and variance scaling)
變換後各維特徵有0均值,單位方差。也叫z-score規範化(零均值規範化)。計算方式是將特徵值減去均值,除以標準差。
x[n] = (x[n] - mean) / stdev
3. l2-normalization ( 人臉識別中會用到 )
normalization主要思想是對每個樣本計算其p-範數,然後對該樣本中每個元素除以該範數,這樣處理的結果是使得每個處理後樣本的p-範數(l1-norm,l2-norm)等於1。
p-範數的計算公式:||x||p = ( |x1|^p + |x2|^p +…+ |xn|^p )^1/p
該方法主要應用於文字分類和聚類中。例如,對於兩個tf-idf向量的l2-norm進行點積,就可以得到這兩個向量的余弦相似性。
**:
#include #include #include //
//常用的標準化方法:min-max標準化、 0均值歸一化、 l2規範化
enum normalizationflag ;
templatevoid normalization(_tp* src, int length, int normalizationflag=z_score)
} else if(normalizationflag == z_score)
mean = mean / length; //均值
_tp stdev = 0;
for (int i = 0; i < length; ++i)
stdev = stdev / (length - 1);
stdev = sqrt(stdev); //標準差
for (int i = 0; i < length; ++i)
} else if (normalizationflag == l2)
src_p = sqrt(src_p); //l2範數
for (int i = 0; i < length; ++i)
}}
機器學習 資料預處理
均值為0,標準差為1 from sklearn import preprocessing scaler preprocessing.standardscaler scaler.fit transform x 對原始資料進行線性變換,變換到 0,1 區間 也可以是其他固定最小最大值的區間 from s...
機器學習 資料預處理
1 連續資料特徵離散化的方法 由於lr 中模型表達能力有限,可以通過特徵離散化來提高非線性學習能力。主要方法 1 等距離散 取值範圍均勻劃分成n 等分,每份的間距相等。2 等頻離散 均勻分為n 等分,每份內包含的觀察點數相同 3 優化離散 3 1 卡方檢驗方法 統計樣本的實際觀測值與理論判斷值之間的...
機器學習python資料預處理
from pandas import read csv from sklearn.preprocessing import standardscaler from numpy import set printoptions from sklearn.preprocessing import minm...