㈠ 機器學習中常用的數據集處理方法
機器學習中常用的數據集處理方法
1.離散值的處理: 因為離散值的差值是沒有實際意義的。比如如果用0,1,2代表紅黃藍,1-0的差值代表黃-紅,是沒有意義的。因此,我們往往會把擁有d個取值的離散值變為d個取值為0,1的離散值或者將
其映射為多維向量。
2.屬性歸一化: 歸一化的目標是把各位屬性的取值范圍放縮到差不多的區間,例如[-0.5,0.5]。這里我們使用一種很常見的操作方法:減掉均值,然
後除以原取值范圍。 做歸一化至少有以下3個理由: - 過大或過小的數值范圍會導致計算時的浮點上溢或下溢。 - 不同的數值范圍會導致不同屬性對模型的重要性不同(至少在訓練的初始階段如此),而這個隱含的假設常常是不合理的。這會對優化的過程造成困難,使訓練時間大大的加長。 - 很多的機器學習技巧/模型(例如L1,L2正則項,向量空間模型-Vector Space Model)都基於這樣的假設:所有的屬性取值都差不多是以0為均值
且取值范圍相近的
。 3.分割數據集 一般把數據集分為兩部分,一部分為訓練集,用於訓練數據,一部分為測試集,用於測試訓練的數據,測試集不應過多或過少,數據較少時訓練集:測試集可以為8:2,較多時比
例可以達到9:1 。