BC.Wang Welcome

使用UmapLearn进行高维数据可视化和降维,以及使用O(1)类似KNN算法的格点label预测

2019-02-12
BCWang

阅读:


  • umap-learn看上去像是一个很好用的模块https://umap-learn.readthedocs.io/en/latest/basic_usage.html#digits-data,可以将高维度的数据压缩为2维然后可视化,从对手写数字的处理上来看效果很好,并且它本身可以作为一种机器学习算法。
  • umap进行label预测:可以使用umap训练一个投影器,将高维数据投影成2维。如果投影过后这些label能够分开,则训练了一个很好的分类器,对于新的数据进行预测,可以将新的高维数据使用这个训练的投影器降维成2维,然后使用KNN通过与其他分类点的欧式距离来求得label。但KNN毕竟还是计算量太大,倒不如使用一个以划分了格点的X和Y作为key,然后格子里面的点作为value进行索引,比如把浮点数划为0~9的10个点,用作字典的第一个key,然后另一个维度的Y也是10个点,这样所有数据点分成100分,给一个坐标比如1.1,4.2,首先取整数得到1,4然后找1,4所对应的样本点(也就是所有在0.5~1.5, 3.5~4.5的点),然后做KNN或者直接把这个区域的label拿出来,这样就把>O(n)的算法变成了几乎O(1)的算法,只需要每次更新每个区域的label状态,更新字典即可

Comments

Content
0