吴裕雄 python 机器学习——等度量映射Isomap降维模型
- # -*- coding: utf-8 -*-
- import numpy as np
- import matplotlib.pyplot as plt
- from sklearn import datasets,manifold
- def load_data():
- '''
- 加载用于降维的数据
- '''
- # 使用 scikit-learn 自带的 iris 数据集
- iris=datasets.load_iris()
- return iris.data,iris.target
- #等度量映射Isomap降维模型
- def test_Isomap(*data):
- X,y=data
- # 依次考察降维目标为 4维、3维、2维、1维
- for 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
- test_Isomap(X,y)
- def plot_Isomap_k(*data):
- '''
- 测试 Isomap 中 n_neighbors 参数的影响,其中降维至 2维
- '''
- X,y=data
- # n_neighbors参数的候选值的集合
- Ks=[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)
- ## 两行两列,每个单元显示不同 n_neighbors 参数的 Isomap 的效果图
- 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==label
- ax.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_k
- plot_Isomap_k(X,y)
- def plot_Isomap_k_d1(*data):
- '''
- 测试 Isomap 中 n_neighbors 参数的影响,其中降维至 1维
- '''
- X,y=data
- # n_neighbors参数的候选值的集合
- Ks=[1,5,25,y.size-1]
- fig=plt.figure()
- for i, k in enumerate(Ks):
- isomap=manifold.Isomap(n_components=1,n_neighbors=k)
- #原始数据集转换到 1 维
- X_r=isomap.fit_transform(X)
- ## 两行两列,每个单元显示不同 n_neighbors 参数的 Isomap 的效果图
- 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==label
- ax.scatter(X_r[position],np.zeros_like(X_r[position]),label="target= %d"%label,color=color)
- ax.set_xlabel("X")
- ax.set_ylabel("Y")
- ax.legend(loc="best")
- ax.set_title("k=%d"%k)
- plt.suptitle("Isomap")
- plt.show()
- # 调用 plot_Isomap_k_d1
- plot_Isomap_k_d1(X,y)
吴裕雄 python 机器学习——等度量映射Isomap降维模型的更多相关文章
- 吴裕雄 python 机器学习——局部线性嵌入LLE降维模型
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datas ...
- 吴裕雄 python 机器学习——主成份分析PCA降维
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datas ...
- 吴裕雄 python 机器学习——多项式贝叶斯分类器MultinomialNB模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,naive_bayes from skl ...
- 吴裕雄 python 机器学习——数据预处理二元化OneHotEncoder模型
from sklearn.preprocessing import OneHotEncoder #数据预处理二元化OneHotEncoder模型 def test_OneHotEncoder(): X ...
- 吴裕雄 python 机器学习——数据预处理二元化Binarizer模型
from sklearn.preprocessing import Binarizer #数据预处理二元化Binarizer模型 def test_Binarizer(): X=[[1,2,3,4,5 ...
- 吴裕雄 python 机器学习——集成学习AdaBoost算法回归模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...
- 吴裕雄 python 机器学习——集成学习AdaBoost算法分类模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...
- 吴裕雄 python 机器学习——人工神经网络与原始感知机模型
import numpy as np from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D from ...
- 吴裕雄 python 机器学习——支持向量机SVM非线性分类SVC模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...
随机推荐
- mybatis association表关联与rowbounds共同使用时的异常及其解决方案
按照mybatis手册中所说的,association有两种实现方式,嵌套查询和嵌套结果映射.如手册中所述,select方式会带来N+1次查询的问题,考虑到效率问题的话建议使用嵌套结果映射.但是在结合 ...
- canvas渐变
代码: 1 /** 2 * Created by Administrator on 2016/1/29. 3 */ 4 function draw(id){ 5 var canvas = docume ...
- MySQL mysqldump 备份脚本(按照db.sql)
mysqldump逻辑备份,按照db.sql文件区分,并压缩 #! /bin/bash #35 02 * * * mysql /data/mysqldata/scripts/mysqldump_per ...
- 通过phpMyAdmin拿webshell
general_log默认为关闭的,root权限开启后,general_log_file会保存所有的查询语句 所以可以开启general_log,然后设置general_log_file为一个php文 ...
- c#的日志插件NLog基本使用
本文介绍c#的日志插件NLog 安装插件 创建logger 日志级别 书写日志信息 配置 包装器 布局 安装插件 直接下载插件包 Install-Package NLog.Config 创建logge ...
- 如何设置linux在出现kernel panic后自动重启 (ZT)
Automatic reboot after Linux kernel panic http://www.syn-ack.org/centos-linux/automatic-reboot-after ...
- 环境变量,include搜索路径,lib库搜索路径
环境变量 系统环境变量 我们知道,我们经常要设置一些环境变量,系统环境变量我们非常容易理解.其实我们在windows中经常容易接触.其实环境变量是一个非常广泛的一个概念,它与web应用程序中的web. ...
- SpringBoot05 数据操作01 -> JPA的基本使用、基本使用02
前提: 创建一个springboot项目 创建一个名为springboottest的MySQL数据库 1 jar包准备 jpa的jar包 mysql驱动的jar包 druid数据库连接池的jar包 l ...
- Win10_禁用自动更新(官方版)
1> win键>输入服务>打开>找到windowsUpdate-->启动类型为-禁用 -->> 恢复失三个选项改为-->>无操作 2>win ...
- Python 网络爬虫 002 (入门) 爬取一个网站之前,要了解的知识
网站站点的背景调研 1. 检查 robots.txt 网站都会定义robots.txt 文件,这个文件就是给 网络爬虫 来了解爬取该网站时存在哪些限制.当然了,这个限制仅仅只是一个建议,你可以遵守,也 ...