# -*- coding: utf-8 -*-
"""created on thu aug 17 17:15:14 2017
@author: cq
"""#二元化
from sklearn.preprocessing import binarizer
x=[[1,2,3,4,5],
[5,4,3,2,1],
[3,3,3,3,3],
[1,1,1,1,1]]
xbinarizer=binarizer(threshold=2.5)
binarizer.transform(x)#得到最終結果
from sklearn.preprocessing import onehotencoder
x=[[1,2,3,4,5],
[5,4,3,2,1],
[3,3,3,3,3],
[1,1,1,1,1]]
x#預設對所有特徵
encoder=onehotencoder(sparse=false)#採用熱編碼,但是不要稀疏
encoder.fit(x)
encoder.active_features_#得到出現的特徵
encoder.feature_indices_#原始資料的第i個屬性對應轉換後資料的【feature_indices_[i],feature_indices_[i+1]
encoder.n_values_ #每個屬性取值的種類
encoder.transform([1,2,3,4,5]) #進行測試
#只針對第乙個和第二個特徵
encoder=onehotencoder(categorical_features=(0,1),sparse=false)
encoder.fit(x)
encoder.active_features_
encoder.feature_indices_
encoder.categorical_features
encoder.n_values_
encoder.transform([1,2,3,4,5])
#資料標準化
from sklearn.preprocessing import minmaxscaler
x=[[1,5,1,2,10],
[2,6,3,2,7],
[3,7,5,6,4],
[4,8,7,8,1]]
xscaler=minmaxscaler(feature_range=(0,2)) #最後結果範圍是(0,2)
scaler.fit(x)
scaler.min_
scaler.scale_
scaler.data_min_
scaler.data_max_
scaler.data_range_
scaler.transform([5,3,1,4,3])
#maxabsscaler
from sklearn.preprocessing import maxabsscaler
x=[[1,5,1,2,10],
[2,6,3,2,7],
[3,7,5,6,4],
[4,8,7,8,1]]
xscaler=maxabsscaler()
scaler.fit(x)
scaler.max_abs_
scaler.transform(x)
#standardscaler
from sklearn.preprocessing import standardscaler
x=[[1,5,1,2,10],
[2,6,3,2,7],
[3,7,5,6,4],
[4,8,7,8,1]]
xscaler=standardscaler()
scaler.fit(x)
scaler.scale_
scaler.mean_
scaler.var_
scaler.transform(x)
#正則化
from sklearn.preprocessing import normalizer
x=[[1,5,1,2,10],
[2,6,3,2,7],
[3,7,5,6,4],
[4,8,7,8,1]]
xnormalizer=normalizer(norm='l2')
normalizer.fit(x)
normalizer.transform(x)
#使用l1範數
normalizer=normalizer(norm='l1')
normalizer.fit(x)
normalizer.transform(x)
#過濾式特徵選擇
#variance threshold
from sklearn.feature_selection import variancethreshold
x=[[100,1,2,3],
[100,4,5,6],
[100,7,8,9],
[101,11,12,13]]
xselector=variancethreshold(1)
selector.fit(x)
selector.variances_
selector.transform(x)
selector.get_support(true)
selector.inverse_transform(selector.transform(x))
#單變數特徵選擇
from sklearn.feature_selection import selectkbest,f_classif
x=[[1,2,3,4,5],
[5,4,3,2,1],
[3,3,3,3,3],
[1,1,1,1,1]]
xy=[0,1,0,1]
selector=selectkbest(score_func=f_classif,k=3)
selector.fit(x,y)
selector.scores_
selector.pvalues_
selector.get_support(true)
selector.transform(x)
python中的pd進行資料處理
def excel one line to list df pd.read excel r poi grid.xlsx usecols 1 names none 讀取專案名稱列,不要列名 df li df.values.tolist print df li result for s li in df...
Pandas時間序列資料處理
時間序列資料是以時間為自變數,描述物件在時間過程中的發展 變化。比如,超市每天的銷售額,景區每天的旅客流量等。因此,處理時間序列資料是pandas資料分析中重要的一類方法。一 時間索引轉換 一般來說,我們獲得的資料不是以時間作為索引的。即使原始資料的第一列是時間,當我們匯入python後仍然會重新建...
Python 資料處理
將檔案切分,存入列表 strip split with open james.txt as jaf data jaf.readline james data.strip split 資料檔案為 2 34,3 21,2.34,2.45,3.01,2 01,2 01,3 10,2 22 print ja...