可视化

高维数据可视化—Hypertools

简 介

平时可以通过seaborn,matplotlib,plotly等工具包进行二维,三维数据等可视化,但是高维度数据的可视化一直是一大难点,如果能对高维数据进行可视化,可以更容易识别不同数据列之间的隐藏模式、关联性等。今天和大家分享一个有趣的高维数据可视化工具—Hypertools。
Hypertools是建立在matplotlib、sklearn 和 seaborn 之上的,Hypertools通过降低数据维度来对高维数据集进行可视化。
高维数据可视化利器--更快从高维度数据中挖掘隐藏模式 - 图1
HyperTools的功能主要包括:

  • 在2/3D 中绘制高维数据集的;
  • 可以绘制静态图和动画图;
  • 自定义绘图样式的简单API;
  • 一组强大的数据操作工具,包括超对齐、k均值聚类、归一化等;
  • 支持Numpy数组、Pandas DataFrame、文本或(混合)列表;
  • 可以将主题模型和其他文本矢量化方法应用于文本数据;

    示例代码

  • 代码摘自:https://towardsdatascience.com/visualizing-high-dimensional-data-f59eab85f08b

    1、Basic Plot

    ```python

    pip install hypertools

    import hypertools as hyp %matplotlib inline

data loading

basic = hyp.load(‘weights_sample’) basic basic.plot(fmt=’.’)

  1. ![](https://cdn.nlark.com/yuque/0/2021/webp/396745/1638417745447-1b96a7a8-bf8d-4348-8c06-634504abcb6e.webp#clientId=u6e5d675d-8709-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u6c5a6925&margin=%5Bobject%20Object%5D&originHeight=229&originWidth=405&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=shadow&taskId=uc9231e77-63e9-4f3b-86f2-c97e7b0f963&title=)
  2. <a name="xsoEA"></a>
  3. ### 2、Cluster Plot
  4. ```python
  5. clust = hyp.load('mushrooms')
  6. # Creating plot
  7. clust.plot(n_clusters=10)

高维数据可视化利器--更快从高维度数据中挖掘隐藏模式 - 图2

3、Corpus Plots

  1. text = ['i am from India', 'India is in asia', 'Asia is the largest continent',
  2. 'There are 7 continents', 'Continents means earth surfaces ', 'Surfaces covers land area',
  3. 'land area is largest in asia']
  4. hyp.plot(text, '*', corpus=text)

高维数据可视化利器--更快从高维度数据中挖掘隐藏模式 - 图3

4、UMAP

  1. from sklearn import datasets
  2. data = datasets.load_digits(n_class=6)
  3. df = data.data
  4. hue = data.target.astype('str')
  5. hyp.plot(df, '.', reduce='UMAP', hue=hue, ndims=2)

高维数据可视化利器--更快从高维度数据中挖掘隐藏模式 - 图4

5、Animated Plots

  1. ani = hyp.load('weights_avg')
  2. ani.plot(animate=True, chemtrails=True)

高维数据可视化利器--更快从高维度数据中挖掘隐藏模式 - 图5