機器學習之降維

2021-09-25 13:16:52 字數 1686 閱讀 1350

降維的意義:克服維數災難,獲取本質特徵,節省儲存空間,去除無用雜訊,實現資料視覺化

資料壓縮

視覺化資料

主成分分析(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維空間的一部分,...