sklearn库的总结 降维方式

可以看到库的算法主要有四类:分类,回归,聚类,降维。其中:


常用的回归:线性、决策树、SVM、KNN ;集成回归:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
常用的分类:线性、决策树、SVM、KNN,朴素贝叶斯;集成分类:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
常用聚类:k均值(K-means)、层次聚类(Hierarchical clustering)、DBSCAN
常用降维:LinearDiscriminantAnalysis、PCA


1. 线性回归
2. 逻辑回归
3. 朴素贝叶斯分类器
4. KNN
5. 决策树回归
6. 决策树分类
7. SVC
8. SVR
9. Adaboost
10. GradientBoost(GBDT)
11. RandomForest
12. ExtraTree
13. Bagging


1)LDA是有监督的降维方法,而PCA是无监督的降维方法
2)LDA降维最多降到类别数k-1的维数,而PCA没有这个限制。
3)LDA除了可以用于降维,还可以用于分类。
4)LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。


LinearDiscriminantAnalysis(LDA):
就是将多维的样本数据集映射到一个坐标轴上(可以是多维的(以降维作为目的)),使得样本数据可以在这个坐标轴上就可以进行分类,和最小的类内距离,投影后使样本在新的子空间有最大的类间距离即样本在该空间中有最佳的可分离性。(即用这个坐标系就可以进行样本分类了,以达到计算简单,减小计算时间)
分类前的降维
LDA降维:是为了在坐标轴上的同类更集中,异类更分散


PCA降维:(目的了减小维数,以达到计算简单,减小计算时间)
就是通过计算得到一个坐标轴,得到样本数据集在这个坐标轴上的映射可以最大情度的表示原来的数据集样本,(如车的速度(英里每小时,公里每小时,这两个数据就可以变为一个就可以了))
找到一组基向量来线性表示这些人脸向量,得到新的坐标向量能够有最大的方差。

信息冗余(就是某个维度的信息与另一个维度的信息的相关关系的,那么这个维度就可以不要了,达到降维的效果)

[url]https://blog.csdn.net/baimafujinji/article/details/79376378[/url]
PCA降维:是使样本数据集在某个坐标轴上更加分散,更能表达原样本数据集的分布情况(更能表达数据集的方向分布情况)


在真实的数据中总是会存在许多的冗余信息,比如:
1、一支笔的长度是15cm,也可以说是0.15m。但是把这两者当作两个特征,那么他们所表达的意义其实是完全一样的。这里我要表达的就是两个特征之间的相关性,如果两个特征相关性很强,那么完全可以合并成一个特征。
2、如果给你很多人的特征:身高、体重、头发长度、腿长、单眼皮/双眼皮、酒窝、大眼睛/小眼睛、黑头发/黄头发、是否有鼻炎……然后根据这些内容去区分是男人还是女人,但是呢,现在给你的人的样本数量又不多,里面刚好有鼻炎的全是女生,没有鼻炎的全是男生,但是其实鼻炎对于区分男女其实根本没有啥作用。(这就叫过拟合),所以很有必要对数据进行降维,去掉那些没有用的噪声。


KPCA,中文名称”核主成分分析“,是对PCA算法的非线性扩展。


LLE原理总结:局部线性嵌入(Locally Linear Embedding,以下简称LLE)也是非常重要的降维方法。LLE必须要基于流形不能闭合(相当于是从一个方向看去的感觉)
[url]https://blog.csdn.net/xiaomibaozi/article/details/69951477[/url]


MDS(multidimensional scaling)多维尺度分析(尽量保持空间欧氏距离一致)
[url]https://blog.csdn.net/u010705209/article/details/53518772?utm_source=itdadao&utm_medium=referral[/url]

Isomap(Isometric Feature Mapping)是流行学习的一种,用于非线性数据降维,是一种无监督算法。(等距特征映射)(就是保持样本点的测地距离相等(测地距离不是欧氏距离,是延面到达的距离,如南极到北极延地球表面的距离))
[url]https://blog.csdn.net/xiaoweidz9/article/details/79894126[/url]
[url]https://blog.csdn.net/lucky_yang_/article/details/50456877[/url]

t-SNE(t-Distributed Stochastic Neighbor Embedding)
[url]https://blog.csdn.net/hustqb/article/details/78144384[/url]

当我们想要对高维数据进行分类,又不清楚这个数据集有没有很好的可分性(即同类之间间隔小,异类之间间隔大),可以通过t-SNE投影到2维或者3维的空间中观察一下。
t-SNE(TSNE)将数据点之间的相似度转换为概率。原始空间中的相似度由高斯联合概率表示,嵌入空间的相似度由“学生t分布”表示。就是说以相似度进行降维的


其他的一些降维方法
MDS(Multidimensional Scaling )
Isomap
t-SNE(t-Distributed Stochastic Neighbor Embedding)
LDA(Linear Discriminant Analysis)

流形数据(流形学)


虽然Isomap,LLE和variants等数据降维和可视化方法,更适合展开单个连续的低维的manifold。


各种算法的效果图
[url]http://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html#sphx-glr-auto-examples-manifold-plot-compare-methods-py[/url]

你可能感兴趣的:(机器学习)