縮放資料:
標準化:import numpy as np
np.random.seed(10)
x=np.matrix([np.random.randint(10,25)*1.0 for i in range(10)])
x=x.t
#minmaxscaler縮放,移動資料使得所有特徵都剛好位於0到1之間
from sklearn.preprocessing import minmaxscaler
minmax=minmaxscaler(feature_range=(0.0,1.0))
print(x)
x_t=minmax.fit_transform(x)
print(x_t)
#standardscaler縮放,確保每個特徵的平均值為0,方差為1,使得所有特徵都位於同一量級,
from sklearn.preprocessing import standardscaler
#匯入資料集
from sklearn.datasets import load_breast_cancer
cancer=load_breast_cancer()
scaler=standardscaler()
scaler.fit(cancer.data)
x_scaled=scaler.transform(cancer.data)
print(x_scaled)
#上面兩句話可以合併為x_scaled=scaler.fit_transform(cancer.data)
#robustscaler與上面是類似,也是確保每個特徵的統計屬性都位於同一範圍,但是它使用的是中位數呵四分位數而不是平均值和方差
#這樣的話,robustscaler會忽略與其他點有很大不同的資料點,比如測量誤差
from sklearn.preprocessing import robustscaler
scaler1=robustscaler()
x_scaled1=scaler1.fit_transform(cancer.data)
print(x_scaled1)
#normalizer用到一種完全不同的縮放方法,他對每個資料點進行縮放,使得特徵向量的歐式長度等於1,換句話說,他將乙個資料點投射到
#半徑為1的圓上,(對於高維度來說是球面),這意味著每個資料點的縮放比例都不相同(乘以長度的倒數),如果只是資料的方向是重要的
#而特徵向量的長度無關緊要,那麼通常會使用這種歸一化
from sklearn.preprocessing import normalizer
scaler2=normalizer()
x_scaled2=scaler2.fit_transform(cancer.data)
print(x_scaled2)
import numpy as np
from sklearn.preprocessing import scale
#生成輸入資料
np.random.seed(10)# 隨機種子
x=[np.random.randint(10,25)*1.0 for i in range(10)]
print(x)
#x=list(np.random.randint(10,25,10)*1.0)等效上一句
#標準化操作
#只使用平均值進行縮放
x_centered=scale(x,with_mean=true,with_std=false)
#使用平均值和標準差來對資料進行標準化
x_standard=scale(x,with_mean=true,with_std=true)
#初始的x平均值為***,標準化之後為0.00,標準化差為1.00
print(x_centered)
print(x_standard)
sklearn進行資料分析
呼叫線性回歸函式 from sklearn.linear model import linearregression 匯入資料集 這裡將全部資料用於訓練,並沒有對資料進行劃分,上例中 將資料劃分為訓練和測試資料,後面會講到交叉驗證 loaded data datasets.load boston d...
PHP與Python進行資料互動
個人部落格同步文章 最近,決定在乙個專案用python做資料分析,然後這就面臨乙個問題 php和python如何進行資料互動?我解決此問題的方法是利用了php的passthru函式來呼叫命令執行python指令碼。在php中呼叫命令執行python指令碼 params value 傳遞給python...
C 與IronPython指令碼進行資料互動示例
單單執行指令碼是沒有什麼意思的,最重要的是嵌入的指令碼能和宿主語言進行互動,下面我就講講這方面的實現。ironpython指令碼最優秀的地方就是與c 或者說.net框架集 幾乎無縫整合,c 實現的類很容易就傳入到指令碼中去。目前唯感遺憾的是,ironpython指令碼還沒有支援嵌入版,希望不遠的的將...