模型原型

class sklearn.manifold.Isomap(n_neighbors=5,n_components=2,eigen_solver=’auto’,tol=0,max_iter=300,path_method=’auto’,neighbors_algorithm=’auto’)

参数

n_neighbors:近邻参数k
n_components:指定低维的维数
eigen_solver:指定求解特征值的算法’auto’:由算法自动选取‘arpack’:Arpack分解算法‘dense’:使用一个直接求解特征值的算法(如LAPACK)
tol:求解特征算法的收敛阙值
max_iter
path_method:指定寻找最短路径的算法’auto’:由算法自动选取‘FW’:使用Floyd_Warshall算法‘D’:使用Dijkstra算法
neighbors_algorithm:指定计算最近邻的算法’ball_tree’:使用BallTree算法‘kd_tree’:使用KDTree算法‘brute’:使用暴力搜索法

属性

- embedding_
- trainingdata:存储了原始训练数据
- distmatrix:存储了原始训练数据的距离矩阵

方法

- fit(X[,y,init])
- transform(X):转换X到低维空间
- fit_transform(X,[,y]):训练模型并将原始数据集转换到低维坐标
- reconstruction_error():计算重构误差

导入包

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets,decomposition,manifold

加载数据

def load_data():iris=datasets.load_iris()return iris.data,iris.target

使用类

def test_Isomap(*data):X,y=datafor n in [4,3,2,1]:isomap=manifold.Isomap(n_components=n)isomap.fit(X)print('reconstruction_error(n_components=%d):%s'%(n,isomap.reconstruction_error()))
X,y=load_data()
test_Isomap(X,y)

降维后的样本分布图

def plot_Isomap(*data):X,y=dataKs=[1,5,25,y.size-1]fig=plt.figure()for i,k in enumerate(Ks):isomap=manifold.Isomap(n_components=2,n_neighbors=k)X_r=isomap.fit_transform(X)ax=fig.add_subplot(2,2,i+1)colors=((1,0,0),(0,1,0),(0,0,1),(0.5,0.5,0),(0,0.5,0.5),(0.5,0,0.5),(0.4,0.6,0),(0.6,0.4,0),(0,0.6,0.4),(0.5,0.3,0.2),)for label,color in zip(np.unique(y),colors):position=y==labelax.scatter(X_r[position,0],X_r[position,1],label='target=%d'%label,color=color)ax.set_xlabel('X[0]')ax.set_ylabel('X[1]')ax.legend(loc='best')ax.set_title("k=%d"%k)plt.suptitle('Isomap')plt.show()plot_Isomap(X,y)

将原始数据的特征直接压缩到一维

def plot_Isomap_k_d1(*data):X,y=dataKs=[1,5,25,y.size-1]fig=plt.figure()for i,k in enumerate(Ks):isomap=manifold.Isomap(n_components=2,n_neighbors=k)X_r=isomap.fit_transform(X)ax=fig.add_subplot(2,2,i+1)colors=((1,0,0),(0,1,0),(0,0,1),(0.5,0.5,0),(0,0.5,0.5),(0.5,0,0.5),(0.4,0.6,0),(0.6,0.4,0),(0,0.6,0.4),(0.5,0.3,0.2),)for label,color in zip(np.unique(y),colors):position=y==labelax.scatter(X_r[position],np.zeros_like(X_r[position]),label='target=%d'%label,color=color)ax.set_xlabel('X[0]')ax.set_ylabel('Y')ax.legend(loc='best')ax.set_title("k=%d"%k)plt.suptitle('Isomap')plt.show()plot_Isomap_k_d1(X,y)

python Isomap函数数据降维相关推荐

  1. python降维之时间类型数据的处理_【Python算法】数据降维概述

    数据降维概述 1.数据降维概述 所谓的数据降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中,可以解决大规模特征下的数据显示问题,使得数据集更易使用,降低后续算法的计算,消除噪声影 ...

  2. 【Python数据处理】数据降维

    几种简单的数据降维方法以及demo PCA--主成分分析法 PCA是主成分分析法,为无监督的线性降维法.减去某些相对而言权重不那么高的特征. from sklearn.preprocessing im ...

  3. python编写函数_如何用Python编写自己喜欢的R函数

    python编写函数 数据科学和机器学习的伟大现代斗争之一是" Python vs. R". 毫无疑问,近年来两者都已经取得了巨大的发展,成为数据科学,预测分析和机器学习的顶级编程 ...

  4. 高维数据降维 国家自然科学基金项目 2009-2013 NSFC Dimensionality Reduction

    2013 基于数据降维和压缩感知的图像哈希理论与方法 唐振军 广西师范大学 多元时间序列数据挖掘中的特征表示和相似性度量方法研究 李海林 华侨大学       基于标签和多特征融合的图像语义空间学习技 ...

  5. python用tsne降维_哈工大硕士实现了 11 种经典数据降维算法,源代码库已开放

    网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码.这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA.LDA.MDS.LLE. ...

  6. python数据降维_使用python实现多维数据降维操作

    一,首先介绍下多维列表的降维 def flatten(a): for each in a: if not isinstance(each,list): yield each else: yield f ...

  7. std中稳定排序算法_源代码库已开放 | 哈工大硕士生用 Python 实现了 11 种经典数据降维算法...

    转自:AI开发者 网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码.这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA.LDA ...

  8. python降维之时间类型数据的处理_使用Python进行数据降维|线性降维

    前言 为什么要进行数据降维?直观地好处是维度降低了,便于计算和可视化,其深层次的意义在于有效信息的提取综合及无用信息的摈弃,并且数据降维保留了原始数据的信息,我们就可以用降维的数据进行机器学习模型的训 ...

  9. python 最优化算法库_哈工大硕士生用?Python 实现了 11 种经典数据降维算法,源代码库已开放...

    雷锋网 AI 开发者按:网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码.这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA. ...

最新文章

  1. kali linux改中文_kali linux 2019.4设置为中文方法
  2. 《开源思索集》一Source Code + X
  3. 数学分析:定积分的概念
  4. 联想移动裁员为求自保 摩托罗拉品牌逐渐消退
  5. 京东大数据方向-Java方向-实习面经一面二面(offer没去。。。)
  6. Staged Event Driven Architecture (SEDA) 介绍
  7. 百度网盘限速代理下载工具
  8. 账号和权限管理——管理用户账号和组账号(一)
  9. apprtcH5+iOS+android音视频通信
  10. 平台的核心交互与基础角色——互联网平台建设系列...
  11. XSS入门 XSS Challenges靶场搭建/前五关/基础教程
  12. 《冰雪奇缘》造雪花的技术,被MIT用来开发了一只软体机器人
  13. opencv接口那些不为人知的事!
  14. ENVI对GF-5高光谱数据进行FLAASH大气校正
  15. STM32CudeIDE:串口发送汉字乱码
  16. Java main正确形参_Java application 中的主类需包含 main 方法,以下哪项是 main 方法的正确形参?( )...
  17. bash脚本程序语法Linux
  18. Android实战--糗事
  19. 标准模板库(STL)
  20. 计算机在音乐教学的应用论文,【音乐教学论文】信息技术在音乐教学的应用(共2464字)...

热门文章

  1. tmux工具简单介绍
  2. eclipse 2022:安装中文语言包(babel language packs)塈切换语言的方法
  3. unity入门~炮弹打飞机(一)
  4. Oracle 12CR2查询转换之临时表转换
  5. Win11 禁用 Win+G 开启 XBox Gaming Bar
  6. Qt-网易云音乐界面实现-1 窗口隐藏拖拽移动,自定义标题栏
  7. 无线游戏蓝牙耳机怎么选?百元级高颜值小巧蓝牙耳机推荐
  8. 申报职称还考英语和计算机,评高级职称还要考外语和计算机吗?
  9. linux之awk命令格式化输出(printf)使用技巧
  10. HTML常用符号整合