
224
|
第八章:降維
執行這個重構有一種做法是訓練一個監督回歸模型
,
將投射的實例當成訓練組
,
原始的實
例當成目標
。
如果你設定
fit_inverse_transform=True
,Scikit-Learn
可以自動做這件事
,
見下面的程式
7
:
rbf_pca = KernelPCA(n_components = 2, kernel="rbf", gamma=0.0433,
fit_inverse_transform=True)
X_reduced = rbf_pca.fit_transform(X)
X_preimage = rbf_pca.inverse_transform(X_reduced)
在預設情況下
,
fit_inverse_transform=False
,
而且
KernelPCA
沒有
inverse_
transform()
方法
,
這個方法只在你設定
fit_inverse_transform=True
時才會
被建立
。
接下來
,
你可以計算重構
pre-image
誤差
:
>>> from sklearn.metrics import
mean_squared_error
>>>
mean_squared_error(X, X_preimage)
32.786308795766132
現在你可以使用網格搜尋與交叉驗證來找出可將這個誤差最小化的
kernel
與超參數
。
LLE
局部線性嵌入
(Locally Linear Embedding,LLE)( https://homl.info/lle)
8
是另一種強大的