Python機器學習:PCA與梯度上升:008使用PCA對資料進行降噪
PCA還可以對資料進行降噪
首先引入相關包
import numpy as np
import matplotlib.pyplot as plt
X = np.empty((100,2))
X[:,0] = np.random.uniform(0,100,size=100)#產生實數
X[:,1] = 0.75 * X[:,0] + 3. +np.random.normal(0,10,size=100)
plt.scatter(X[:,0],X[:,1])
降噪去抖動(降維,然後復原)
#降噪,去抖動
from sklearn.decomposition import PCA
pca = PCA(n_components=1)
pca.fit(X)
X_reduction = pca.transform(X)
X_restore = pca.inverse_transform(X_reduction)
plt.scatter(X_restore[:,0],X_restore[:,1],color = 'r')
plt.scatter(X[:,0],X[:,1])
另外一個例子,手寫識別資料集
#再舉一個例子,手寫識別資料集
from sklearn import datasets
digits = datasets.load_digits()
X = digits.data
y = digits.target
noisy_digits = X + np.random.normal(0,4,size = X.shape)
必須在外部宣告example_digits
example_digits = noisy_digits[y == 0,:][:10]
for num in range(1,10):
X_num = noisy_digits[y == num,:][:10]
example_digits = np.vstack([example_digits,X_num])
print(example_digits.shape)
(100, 64)
視覺化一下加噪後的資料
視覺化程式碼
def plot_digits(data):
fig,axes = plt.subplots(10,10,figsize = (10,10),
subplot_kw = {'xticks':[],'yticks':[]},
gridspec_kw =dict(hspace = 0.1,wspace = 0.1))
for i ,ax in enumerate(axes.flat):
ax.imshow(data[i].reshape(8,8),
cmap='binary',interpolation = 'nearest',
clim = (0,16))
plot_digits(example_digits)
PCA處理
pca = PCA(0.7)
pca.fit(noisy_digits)
print(pca.n_components_)
26
components = pca.transform(example_digits)
flitered_digits = pca.inverse_transform(components)
plot_digits(flitered_digits)
相關文章
- 利用PCA進行資料降維PCA
- 機器學習之pca機器學習PCA
- 【火爐煉AI】機器學習053-資料降維絕招-PCA和核PCAAI機器學習PCA
- 機器學習_用PCA主成分分析給資料降維機器學習PCA
- 【機器學習基礎】無監督學習(1)——PCA機器學習PCA
- 機器學習實戰ByMatlab(2):PCA演算法機器學習MatlabPCA演算法
- python中PCA的處理過程PythonPCA
- 運用sklearn進行主成分分析(PCA)程式碼實現PCA
- 頭歌實踐教學平臺-機器學習 --- PCA-答案機器學習PCA
- 主成分分析(PCA)PCA
- PCA的數學原理PCA
- 深入理解PCA與SVD的關係PCA
- 機器學習—降維-特徵選擇6-4(PCA-Kernel方法)機器學習特徵PCA
- PCA主成分分析(上)PCA
- PCA用SVD來實現PCA
- 主成分分析(PCA)Python程式碼實現PCAPython
- 【Python資料探勘課程】七.PCA降維操作及subplot子圖繪製PythonPCA
- 【機器學習】--主成分分析PCA降維從初識到應用機器學習PCA
- 主成分分析(PCA)簡介PCA
- R:PCA(第三版)PCA
- 【python資料探勘課程】十.Pandas、Matplotlib、PCA繪圖實用程式碼補充PythonPCA繪圖
- 【基於PCA的人臉識別演算法】從QR分解到PCA,再到人臉識別PCA演算法
- python對資料集進行清洗與視覺化Python視覺化
- 主成分分析(PCA)原理詳解PCA
- 主成分分析(PCA)原理總結PCA
- opencv PCA 主軸方向角度範圍OpenCVPCA
- 第七篇:資料預處理(四) - 資料歸約(PCA/EFA為例)PCA
- 手把手 | 用StackOverflow訪問資料實現主成分分析(PCA)PCA
- 關於PCA降維中遇到的python問題小結PCAPython
- 主成分分析(PCA) C++ 實現PCAC++
- 如何使用 CatBoost 進行快速梯度提升梯度
- 如何使用機器學習進行影像識別 | 資料標註機器學習
- Python對Hadoop資料進行讀寫PythonHadoop
- 資料分析處理之PCA OLSR PCR PLSR(NIPALS)及其Matlab程式碼實現PCAMatlab
- PHP與Python進行資料互動PHPPython
- 利用python的KMeans和PCA包實現聚類演算法PythonPCA聚類演算法
- 使用python進行合併資料集Python
- 使用 Python 進行資料視覺化Python視覺化