链接:sklearn.manifold.TSNE
TSNE:是可视化高维数据的工具。它将数据点之间的相似性转换为联合概率,并尝试最小化低维嵌入和高维数据的联合概率之间的Kullback-Leibler差异。t-SNE的成本函数不是凸的,即使用不同的初始化,我们可以获得不同的结果。
调用代码:

from sklearn.manifold import TSNE

class sklearn.manifold.TSNE(n_components=2, *, perplexity=30.0, early_exaggeration=12.0, learning_rate=200.0, n_iter=1000, n_iter_without_progress=300, min_grad_norm=1e-07, metric=‘euclidean’, init=‘random’, verbose=0, random_state=None, method=‘barnes_hut’, angle=0.5, n_jobs=None, square_distances=‘legacy’)

n_componentsint, default=2: 嵌入空间的尺寸。

perplexityfloat, default=30.0:这种困扰与其他流形学习算法中使用的最近邻数有关。更大的数据集通常需要更大的困惑。考虑在5和50之间选择一个值。不同的值可能导致显著不同的结果。

early_exaggerationfloat, default=12.0:控制原始空间中的自然簇在嵌入空间中的紧密程度以及它们之间的空间大小。对于较大的值,自然簇之间的空间将在嵌入空间中更大。同样,这个参数的选择不是很关键。如果在初始优化时成本函数增加,则早期夸大因子或学习率可能过高。

n_iter_without_progressint, default=300:在我们中止优化之前没有进展的最大迭代数,在250个初始迭代之后使用。注意,每50次迭代才检查一次进度,所以这个值四舍五入到50的下一个倍数。
New in version 0.17: parameter n_iter_without_progress to control stopping criteria.

min_grad_normfloat, default=1e-7:如果梯度范数低于这个阈值,优化将停止。

metricstr or callable, default=’euclidean’:在计算特性数组中实例之间的距离时使用的度量。
如果metric是一个字符串,它必须是scipy.spatial.distance.pdist所允许的参数之一,或者是pair中列出的参数。如果度规是“预先计算的”,则假定X是一个距离矩阵。或者,如果metric是一个可调用的函数,则对每一对实例(行)调用它并记录结果值。可调用对象应该从X中取两个数组作为输入,并返回一个表示它们之间距离的值。默认是“欧几里得”,它被解释为平方欧几里得距离。

init{‘random’, ‘pca’} or ndarray of shape (n_samples, n_components), default=’random’:初始化的嵌入。可能的选项是’ random ‘,’ pca '和numpy数组的形状(n_samples, n_components)。PCA初始化不能与预先计算的距离一起使用,而且通常比随机初始化更全局稳定。

angle:float, default=0.5仅当method= ’ barnes_hut ‘时使用。这是Barnes-Hut T-SNE在速度和准确性之间的权衡。“角”是从一个点测量的一个遥远节点的角度大小(在[3]中称为)。如果这个大小低于’ angle ',那么它将被用作包含在其中的所有点的汇总节点。这种方法对这个参数在0.2 - 0.8范围内的变化不是很敏感。
小于0.2的角度计算时间快速增加,大于0.8的角度计算误差快速增加。

square_distancesTrue or ‘legacy’, default=’legacy’TSNE是否应将距离值平方。“legacy”意味着距离值只有在米制=“欧几里德”时才平方。True表示所有度量的距离值都是平方的。
Methods:
fit(X[,y]): fit X into an embedded space.
fit_transform(X[,y]): fit X into an embedded space and return that transformed output
get_params([deep]): get parameters for this estimator
set_params(**params): set the parameters of this estimator.

>>> import numpy as np
>>> from sklearn.manifold import TSNE
>>> X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
>>> X_embedded = TSNE(n_components=2).fit_transform(X)
>>> X_embedded.shape

教材书:《Python数据分析与挖掘实战》

import pandas as pd
from sklearn.manifold import TSNE# 参数初始化
inputfile = 'consumption_data.xls'  # 销量及其他属性数据
inputfile1 = 'data_type.xls'
data = pd.read_excel(inputfile, index_col = 'Id')  # 读取数据
data_zs = (data - data.mean())/data.std() r = pd.read_excel(inputfile1, index_col='Id')tsne = TSNE(random_state=105)
tsne.fit_transform(data_zs)  # 进行数据降维emb_data = pd.DataFrame(tsne.embedding_, index = data_zs.index)  # 转换数据格式import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号# 不同类别用不同颜色和样式绘图
for k, color in enumerate(['r.','go','b^']):d = emb_data[r['聚类类别'] == k]plt.plot(d[0], d[1], color, label=k)plt.legend()
plt.show()

Python聚类分析之sklearn.manifold.TSNE相关推荐

  1. sklearn 笔记 TSNE

    0 基本介绍 机器学习笔记:t-SNE_UQI-LIUWJ的博客-CSDN博客 将高维数据降维,使得高维数据各点的联合概率,和对应的低维数据各点的联合概率之间的 KL散度尽量小 对T-SNE使用不同的 ...

  2. Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略

    Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...

  3. python 聚类分析 k means

    Kmeans 是一种动态聚类方法,其基本思想是:首先随机选取 K 个点作为初始凝聚点,按照距离最近原则划分为 K 类:然后重新计算 K 个类的重心作为新的凝聚点,再按照距离最近原则重新分类:重复这一过 ...

  4. 机器学习之K-means原理详解、公式推导、简单实例(python实现,sklearn调包)

    目录 1. 聚类原理 1.1. 无监督与聚类 1.2. K均值算法 2. 公式推导 2.1. 距离 2.2. 最小平方误差 3. 实例 3.1. python实现 3.2. sklearn实现 4. ...

  5. 作业1:关于使用python中scikit-learn(sklearn)模块,实现鸢尾花(iris)相关数据操作(数据加载、标准化处理、构建聚类模型并训练、可视化、评价模型)

    操作题:利用鸢尾花数据实现数据加载.标准化处理.构建聚类模型并训练.聚类效果可视化展示及对模型进行评价 一.数据加载 from sklearn.datasets import load_iris fr ...

  6. Python聚类分析

    Python聚类分析 导入类模块 from sklearn.cluster import KMeans #导入K均值聚类算法 import matplotlib.pyplot as plt impor ...

  7. python 中的sklearn

    sklearn是python的重要机器学习库,其中封装了大量的机器学习算法,如:分类.回归.降维以及聚类:还包含了监督学习.非监督学习.数据变换三大模块.sklearn拥有完善的文档,使得它具有了上手 ...

  8. python中算法(sklearn)的最优超参数寻优:skopt贝叶斯搜索

    python中算法(sklearn)的最优超参数寻优:skopt贝叶斯搜索 Jeff Dean在ICML 2019上进行了有关AutoML的演讲,并将自动化分为4个级别 手动构造预测变量,不引入学习的 ...

  9. python 聚类算法包_Python聚类算法之DBSACN实例分析 python怎么用sklearn包进行聚类

    python 怎么可视化聚类的结果 science 发表的聚类算法的python代码 测试数据长什...说明你的样本数据中有nan值,通常是因为原始数据中包含空字符串或None值引起的. 解决办法是把 ...

最新文章

  1. “隐私快递单”的保护理念应全面推行
  2. 钟国晨160809323 (作业9)
  3. android studio 安装问题,解决Android Studio的安装问题
  4. 作者:钱宇华(1976-),男,博士,山西大学计算智能与中文信息处理教育部重点实验室教授...
  5. 牛客网算法工程师能力评估
  6. leetcode题库1314-- 矩阵区域和
  7. 个人信息保护与大数据应用如何共存
  8. 【论文阅读】Table-to-text Generation by Structure-aware Seq2seq Learning
  9. Fusion Studio 17 for Mac(视频后期特效合成软件)
  10. unittest框架(惨不忍睹低配版)
  11. php openssl.so加载,LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)...
  12. ln 创建软链接硬链接命令
  13. 标准粒子群优化算法 PSO
  14. 学生简单个人博客网页DW模板 简单HTML静态网页设计个人主页制作 大学生个人网站模板下载 网页作业个人主页制作
  15. matlab 读取odb,求教用C++方式读取abaqus的odb数据中的问题!!!
  16. Python计算股票收益率、Alpha和Beta系数
  17. Comsol多孔介质内的粒子流动案例,可以追踪粒子运动轨迹
  18. PB函数大全【转自 http://blog.csdn.net/xiaoxian8023 】
  19. HBase hmaster无法正常启动,日志报错Operation category READ is not supported in state standby.hdfs ha hbase配置修改
  20. Dataset:White Wine Quality白葡萄酒品质数据集的简介、下载、使用方法之详细攻略

热门文章

  1. 【电量计芯片】鼎盛合分享手机电量显示电量芯片技术
  2. 基于 socketio 的 room 的使用
  3. Unity 异步使用Additive加载场景导致的光照贴图出错的坑及解决办法
  4. 都 2023 年了,你还在用 Kafka?快试试这个全新平台吧
  5. 【b站黑马程序员学习笔记-shell入门编程】
  6. disabled 属性
  7. 解析 RC4 加密算法(C语言、python)
  8. 北京海淀区统计数据集(2016年3月-2019年3月)
  9. wxml如何注释_WXML注释规范.md
  10. 如何推动电信 计算机和信息服务贸易,信息通信技术推动国际贸易变革 我国数字贸易规模扩大...