使資料服從標準正態分佈,均值為0,方差為1。
做資料探勘,pandas和numpy庫肯定是要引入的,這裡就省略了。
from sklearn.preprocessing import standardscaler
import warnings
warnings.filterwarnings("ignore")
mydata = pd.dataframe([[-1,2],[-0.5,6],[0,10],[1,18]])
sca = standardscaler()
res = sca.fit_transform(mydata)
print(res)
standardscaler: 缺失值保持不變;不能傳入一維陣列;比較常用,因為異常值對其影響小。
把資料縮放到乙個特定的取值範圍,預設[0,1]
from sklearn.preprocessing import minmaxscaler
mydata = pd.dataframe([[-1,2],[-0.5,6],[0,10],[1,18]])
# 歸一化到[0,1]
sca = minmaxscaler()
res = sca.fit_transform(mydata)
print(res)
# 歸一化到其他範圍
sca = minmaxscaler(feature_range=(10,20))
res = sca.fit_transform(mydata)
print(res)
minmaxscaler: 缺失值保持不變;不能傳入一維陣列;適用於資料範圍需要轉化到特定區間。
用每個數除以最大的絕對值,把資料縮放到[-1,1],0保持不變。
from sklearn.preprocessing import maxabsscaler
mydata = pd.dataframe([[-1,2],[-0.5,6],[0,10],[1,18]])
sca = maxabsscaler()
res = sca.fit_transform(mydata)
print(res)
maxabsscaler: 適用於資料範圍壓縮到[-1,1],且不破壞資料的稀疏性。
使用的是中位數、四分位數範圍(iqr),可以減小異常值、極端值的影響。
from sklearn.preprocessing import robustscaler
mydata = pd.dataframe([[-1,2],[-0.5,6],[0,10],[1,18]])
sca = robustscaler()
res = sca.fit_transform(mydata)
print(res)
適用於異常值多、雜訊多的情況。
mydata = pd.read_csv("***.csv",index_col=0)
mydata.head()
mydata.info()
mydata.age.isnull().value_counts()
mydata.age.isnull().value_counts(normalize = true)
以下兩種寫法都可以,我個人偏好第二種。
mydata.age = mydata.age.fillna(mydata.age.median())
mydata.age.fillna(mydata.age.median(), inplace=true)
複習一下中位數、平均值、眾數的寫法:
mydata.median() # 預設按列求
mydata.median(axis=1) # 按行求
mydata.median(numeric_only=true)
mydata.mean()
mydata.mode()
df.dropna() # 預設刪除帶有空值的行
df.dropna(axis = 1) # 刪除帶有空值的列
df.dropna(inplace = true) # 直接修改原資料
df.dropna(how = 『all』) # 只有所有值都為空時,才刪除該行(列)
資料預處理方法總結
資料是什麼?資料就是一組物件及其屬性的集合,其中屬性定義為物件的特徵或性質。真實資料在應用前基本都有經過預處理,以便在機器學習演算法中使用。本次資料預處理方法的總結是基於推薦系統設計進行展開的,其中包括相似度的度量方法 抽樣以及降維技術這三個尤為重要的問題。d x y k 1 n xk yk 2 x...
資料預處理方法總結
資料是機器學習的原料,機器學習是通過對資料的訓練才得到某種特性的。因此正確的預處理資料對模型結果的輸出尤為重要。一 資料可能存在的問題 資料一開始可能有資料重複,資料缺失,資料存在異常值等情況。二 資料預處理的步驟 資料處理主要包括資料的清洗,資料的轉化.資料描述,特徵選擇和特徵抽取這幾個步驟。1 ...
資料預處理方法 總結
在工程實踐中,我們得到的資料會存在有缺失值 重複值等,在使用之前需要進行資料預處理。資料預處理沒有標準的流程,通常針對不同的任務和資料集屬性的不同而不同。資料預處理的常用流程為 去除唯一屬性 處理缺失值 屬性編碼 資料標準化正則化 特徵選擇 主成分分析。唯一屬性通常是一些id屬性,這些屬性並不能刻畫...