用皮爾遜相關係數來計算
from scipy.stats import pearsonr
print pearsonr([1,2,3],[1,2,3.1])
print pearsonr([1,2,3],[1,20,6])
輸出為
(0.99962228516121843, 0.017498096813278487)
(0.25383654128340477, 0.83661493668227427)
相關性對於線性關係是有用的,對於非線性的關係,使用互資訊
from sklearn.feature_selection import rfe
from sklearn.linear_model import logisticregression
from sklearn.datasets import make_classification
x,y = make_classification(n_samples=100, n_features=10, n_informative=3, random_state=0)
clf = logisticregression()
clf.fit(x,y)
selector = rfe(clf, n_features_to_select=3)
selector = selector.fit(x,y)
print(selector.support_)
print(selector.ranking_)
輸出為
[false true false true false false false false true false]
[4 1 3 1 8 5 7 6 1 2]
#pca
#構造如下資料集
x1 = np.arange(0,10,0.2)
x2 = x1+np.random.normal(loc=0 ,scale=1, size=len(x1))
x=np.c_[(x1,x2)]
good = (x1>5)|(x2>5)
bad = ~good
#應用pca
from sklearn import linear_model,decomposition,datasets
pca = decomposition.pca(n_components=1)
xtrans = pca.fit_transform(x) #資料對映到變換後的特徵空間
#檢視變換中保留下來的資料方差
print(pca.explained_variance_ratio_)
結果為0.98108548
from sklearn import lda
lda_inst = lda.lda(n_components=1)
xtrans = lda_inst.fit_transform(x,good)
#mds
x = np.c_[np.ones(5),2*np.ones(5),10*np.ones(5)].t
print x
#用mds轉換到三維空間
from sklearn import manifold
mds = manifold.mds(n_components=3)
xtrans = mds.fit_transform(x)
x輸出為
[[ 1. 1. 1. 1. 1.]
[ 2. 2. 2. 2. 2.]
[ 10. 10. 10. 10. 10.]]
xtrans為
[[ 2.97172374 2.75281094 6.10627981]
[ 1.5271785 3.00754043 4.23279848]
[ -4.49890224 -5.76035137 -10.33907829]]
複製去google翻譯
機器學習系統設計(三)
機器學習的資料 假設特徵變數x rn 1,且有足夠的資訊可以測試精確地 y的值。在使用含有非常多的引數的學習演算法 如 含非常多的特徵變數的線性回歸或者邏輯回歸 隱藏層啟用單元數非常多的神經網路 時,其可以保證低偏差,即不會出現欠擬合問題,以及其jtrain 的值也非常小。在此基礎上,我們使用非常大...
入門機器學習 十一 機器學習系統的設計
1.誤差分析 error analysis 當研究機器學習時,最好的方法不是使用複雜的系統,而是用簡單的演算法,最快得到結果。即便執行不完美,但是也要執行一遍,最後通過交叉驗證來驗證資料。一旦做完,可以畫出學習曲線,通過畫出學習曲線,以驗證檢驗誤差來判斷演算法是否具有高偏差或者高方差的問題。在分析之...
機器學習系統設計(一) 入門之環境搭建
語言選擇為什麼選擇python進行機器學習系統設計?2.環境搭建 anaconda python介紹 windows 在安裝的時候,假設我們安裝在d盤根目錄,如 安裝路徑 並且將兩個選項都選上,將安裝路徑寫入環境變數,寫入環境變數後python 就可以自動找到執行路徑。環境變數寫入 這樣就安裝完成了...