降維的意義:克服維數災難,獲取本質特徵,節省儲存空間,去除無用雜訊,實現資料視覺化
資料壓縮
視覺化資料
主成分分析(pca)
pca演算法-python**調庫實現
import matplotlib.pyplot as plt # 畫圖
from sklearn.datasets import load_breast_cancer # 在sklearn苦中調取癌症資料集
from sklearn.decomposition import
pca # 呼叫pca庫
#設定中文字型
plt.rcparams[
'font.sans-serif']=
['simhei'
]plt.rcparams[
'axes.unicode_minus'
]= false
# 讀取資料
data =
load_breast_cancer()
x= data.data
y = data.target
print
(data.target_names)
target_name =
['惡性'
if i ==
'malignant'
else
'良性'
for i in data.target_names]
# 建立模型
pca =
pca(n_components=
2) # 組成的 降成2個特徵的
(m,2
)x_new = pca.
fit_transform(x
) # 計算模型並將x降維
print
(x_new.shape) # 列印降維後x的維度
print
('特徵向量'
,pca.components_) # 降維後特徵向量
print
('特徵值矩陣'
,pca.explained_variance_) # 特徵值的方差
print
('特徵值所佔比例'
,pca.explained_variance_ratio_) #特徵值方差所佔比例
# 畫圖
plt.
title
('癌症資料集分布圖'
)plt.
scatter
(x_new[y==0,
0],x_new[y==0,
1],c='r'
,label=target_name[1]
)plt.
scatter
(x_new[y==1,
0],x_new[y==1,
1],c='g'
,label=target_name[0]
)plt.
legend()
plt.
show()
展示效果如下圖
機器學習之PCA降維
1.前言 如果學習分類演算法,最好從線性的入手,線性分類器最簡單的就是lda,它可以看做是簡化版的svm,如果想理解svm這種分類器,那理解lda就是很有必要的了。2.線性判別分析 lda 1 lda思想 lda是一種監督學習的降維技術,也就是說它的資料集的每個樣本是有類別輸出的。這點和pca不同。...
機器學習之資料降維
資料降維 減少特徵數量 一 特徵選擇 1 特徵選擇原因 雜訊 部分特徵對 結果由影響 2 特徵選擇是什麼 filter 過濾式 方差大小 考慮所有樣本這個特徵的資料情況 sklearn.feature selection.variancethreshold variancethreshold thr...
機器學習 降維
資料降維的主要方法 投影和流形學習 投影 高維空間的所有訓練例項實際上 或近似於 受乙個低得多的低維子空間所影響 投影並不是降維的最佳方法。許多情況下,許多情況下,子空間可能會彎曲或轉動,比如 著名的瑞士卷玩具資料集 簡單地進行平面投影會直接將瑞士卷的不同層壓扁在一起。d維流形就是n維空間的一部分,...