目錄
一、歸一化處理方法
(1)min-max方法(離散歸一化)
(2)零-均值規(guī)范化方法
(3)小數(shù)定標規(guī)范化
二、插值法
(1)拉格朗日插值法
三、相關性分析
(1)pearson相關性系數(shù)
(2)spearman相關性系數(shù)
四、主成分分析(PCA)
一、歸一化處理方法
歸一化常用方法有:
(1)min-max方法(離散歸一化)
對原始數(shù)據(jù)的線性變換,將數(shù)據(jù)點映射到了[0,1]區(qū)間(默認)
一般調用sklearn庫中的min_max_scaler函數(shù)實現(xiàn),代碼如下:
from sklearn import preprocessing
import numpy as np
x = np.array(
[[1972, 685, 507, 962, 610, 1434, 1542, 1748, 1247, 1345],
[262, 1398, 1300, 1056, 552, 1306, 788, 1434, 907, 1374],])
# 調用min_max_scaler函數(shù)
min_max_scaler = preprocessing.MinMaxScaler()
minmax_x = min_max_scaler.fit_transform(x)
(2)零-均值規(guī)范化方法
??? 把特征值的分布變化到均值為零。這種做法可以消除不同特征(或樣本)之間的量級差異,使得特征之間的分布更加接近的變化,這在某些模型(如SVM)中,能夠極大地提升處理效果,促使模型更加穩(wěn)定,提升預測準確度。
代碼實現(xiàn):
import numpy as np
# 零-均值規(guī)范化
def ZeroAvg_Normalize(data):
text=(data - data.mean())/data.std()
return text
(3)小數(shù)定標規(guī)范化
小數(shù)定標規(guī)范化就是通過移動小數(shù)點的位置來進行規(guī)范化。小數(shù)點移動多少位取決于屬性A的取值中的最大絕對值。
實現(xiàn)代碼如下:
import numpy as np
# 小數(shù)定標規(guī)范化
def deci_sca(data):
new_data=data/(10**(np.ceil(np.log10(data.max()))))
return new_data
二、插值法
在離散數(shù)據(jù)的基礎上補插連續(xù)函數(shù),使得這條連續(xù)曲線通過全部給定的離散數(shù)據(jù)點。
插值是逼近的重要方法,利用它可通過函數(shù)在有限個點處的取值狀況,估算出函數(shù)在其他點處的近似值。
在圖像的應用中,是填充圖像變換時造成的空隙。
(1)拉格朗日插值法
在節(jié)點上給出節(jié)點基函數(shù),然后做基函數(shù)的線性組合,組合系數(shù)為節(jié)點函數(shù)值的一種插值多項式。
可以通過調用scipy庫中的lagrange方法實現(xiàn),代碼如下:
'''拉格朗日插值法實現(xiàn)'''
from scipy.interpolate import lagrange
import numpy as np
x_known = np.array([987,1325,1092,475,2911])
y_known = np.array([372,402,1402,1725,1410])
new_data = lagrange(x_known,y_known)(4)
print(new_data)
三、相關性分析
(1)pearson相關性系數(shù)
協(xié)方差除以標準差的乘積,pearson相關系數(shù)是線性相關關系,pearson相關系數(shù)呈現(xiàn)連續(xù)型正態(tài)分布變量之間的線性關系。
調用corr()方法,定義參數(shù)為pearson方法即可實現(xiàn),代碼如下:
# pearson相關系數(shù)計算
corr_pearson = df.corr(method='pearson')
(2)spearman相關性系數(shù)
秩(有序)變量之間的Pearson相關系數(shù),spearman相關系數(shù)呈現(xiàn)非線性相關,spearman相關系數(shù)不要求正態(tài)連續(xù),但至少是有序的。
# spearman相關系數(shù)計算
corr_spearman = df.corr(method='spearman')
四、主成分分析(PCA)
主成分分析(Principal Component Analysis,PCA), 是一種統(tǒng)計方法,通過正交變換將一組可能存在相關性的變量轉換為一組線性不相關的變量,轉換后的這組變量叫主成分。
在數(shù)據(jù)預處理中,我們常用PCA的方法對數(shù)據(jù)進行降維處理,將n維特征映射到k維上,這k維是全新的正交特征也被稱為主成分,是在原有n維特征的基礎上重新構造出來的k維特征。
具體實現(xiàn)步驟如下:
1)首先對數(shù)據(jù)進行標準化,消除不同量綱對數(shù)據(jù)的影響,標準化可采用極值法
及標準差標準化法。
2)根據(jù)標準化數(shù)據(jù)求出方差矩陣。
3)求出共變量矩陣的特征根和特征變量,根據(jù)特征根,確定主成分。
4)結合專業(yè)知識和各主成分所蘊藏的信息給予恰當?shù)慕忉尅?/p>
可以直接調用sklearn中的pca方法實現(xiàn),代碼如下:
# 調用sklearn的PCA
from sklearn.decomposition import PCA
import numpy as np
import pandas as pd
df=pd.DataFrame({'能力':[66,65,57,67,61,64,64,63,65,67,62,68,65,62,64],
'品格':[64,63,58,69,61,65,63,63,64,69,63,67,65,63,66],
'擔保':[65,63,63,65,62,63,63,63,65,69,65,65,66,64,66],
'資本':[65,65,59,68,62,63,63,63,66,68,64,67,65,62,65],
'環(huán)境':[65,64,66,64,63,63,64,63,64,67,64,65,64,66,67]
})
#調用sklearn中的PCA函數(shù)對數(shù)據(jù)進行主成分分析
pca=PCA()
pca.fit(df) # 用訓練數(shù)據(jù)X訓練模型
'''投影后的特征維度的方差比例'''
print('--------------投影后的特征維度的方差比例(每個特征方差貢獻率)-------------------')
print(pca.explained_variance_ratio_)
'''投影后的特征維度的方差'''
print('--------------投影后的特征維度的方差-------------------')
print(pca.explained_variance_)
print('--------------模型的主成分對應的特征向量-------------------')
print(pca.components_)
print('--------------使用pca模型對數(shù)據(jù)進行降維-------------------')
print(pca.transform(df))# 對數(shù)據(jù)進行降維
運行結果:
文章來源:http://www.zghlxwxcb.cn/news/detail-472873.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-472873.html
到了這里,關于數(shù)據(jù)挖掘學習——數(shù)據(jù)預處理方法代碼匯總(python)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!