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
- 【火爐煉AI】機器學習053-資料降維絕招-PCA和核PCAAI機器學習PCA
- 利用PCA進行資料降維PCA
- 【機器學習基礎】無監督學習(1)——PCA機器學習PCA
- 頭歌實踐教學平臺-機器學習 --- PCA-答案機器學習PCA
- 機器學習—降維-特徵選擇6-4(PCA-Kernel方法)機器學習特徵PCA
- 【機器學習】--主成分分析PCA降維從初識到應用機器學習PCA
- python中PCA的處理過程PythonPCA
- 【機器學習】梯度下降機器學習梯度
- 用Python進行機器學習(附程式碼、學習資源)Python機器學習
- 如何使用機器學習進行影像識別 | 資料標註機器學習
- 運用sklearn進行主成分分析(PCA)程式碼實現PCA
- 主成分分析(PCA)PCA
- 深入理解PCA與SVD的關係PCA
- 機器學習之梯度下降機器學習梯度
- 【機器學習】梯度下降 II機器學習梯度
- (資料科學學習手札159)使用ruff對Python程式碼進行自動美化資料科學Python
- Python資料分析與機器學習-使用者流失預警churmPython機器學習
- PCA主成分分析(上)PCA
- Python機器學習筆記:使用Keras進行迴歸預測Python機器學習筆記Keras
- 機器學習之梯度下降法機器學習梯度
- 【機器學習基礎】——梯度下降機器學習梯度
- 機器學習(五):混合高斯聚類GMM(求聚類標籤)+PCA降維(3維降2維)習題機器學習聚類PCA
- 機器學習之隨機梯度下降法機器學習隨機梯度
- 【2】使用MATLAB進行機器學習(迴歸)Matlab機器學習
- 漫談概率 PCA 和變分自編碼器PCA
- 機器學習方法(一)——梯度下降法機器學習梯度
- 機器學習——梯度下降演算法機器學習梯度演算法
- R:PCA(第三版)PCA
- python對資料集進行清洗與視覺化Python視覺化
- 樹莓派4B-PCA9685驅動舵機樹莓派PCA
- 【火爐煉AI】機器學習020-使用K-means演算法對資料進行聚類分析AI機器學習演算法聚類
- opencv——PCA(主要成分分析)數學原理推導OpenCVPCA
- 關於PCA降維中遇到的python問題小結PCAPython
- 主成分分析(PCA)原理詳解PCA
- opencv PCA 主軸方向角度範圍OpenCVPCA
- 機器學習二——利用numpy庫對矩陣進行操作機器學習矩陣
- 如何為機器學習進行資料標籤、版本控制和管理機器學習