資源簡介
等度量映射(Isomap)是最經(jīng)典的非線性映射降維方法之一,它在MDS的基礎(chǔ)上引入了“測地距離”的概念,直接解決了MDS使用歐氏距離無法應(yīng)對非線性流形的問題。
代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
????Isomap
“““
import?numpy?as?np
import?matplotlib.pyplot?as?plt
from?sklearn?import???datasetsmanifold
def?load_data():
????‘‘‘
????加載用于降維的數(shù)據(jù)
????:return:?一個元組,依次為訓(xùn)練樣本集和樣本集的標(biāo)記
????‘‘‘
????iris=datasets.load_iris()#?使用?scikit-learn?自帶的?iris?數(shù)據(jù)集
????return??iris.datairis.target
def?test_Isomap(*data):
????‘‘‘
????測試?Isomap?的用法
????:param?data:?可變參數(shù)。它是一個元組,這里要求其元素依次為:訓(xùn)練樣本集、訓(xùn)練樣本的標(biāo)記
????:return:?None
????‘‘‘
????Xy=data
????for?n?in?[4321]:?#?依次考察降維目標(biāo)為?4維、3維、2維、1維
????????isomap=manifold.Isomap(n_components=n)
????????isomap.fit(X)
????????print(‘reconstruction_error(n_components=%d)?:?%s‘%
????????????(n?isomap.reconstruction_error()))
def?plot_Isomap_k(*data):
????‘‘‘
????測試?Isomap?中?n_neighbors?參數(shù)的影響,其中降維至?2維
????:param?data:?可變參數(shù)。它是一個元組,這里要求其元素依次為:
評論
共有 條評論