`
huangyongxing310
  • 浏览: 498981 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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

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

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


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


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


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


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

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

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

当我们想要对高维数据进行分类,又不清楚这个数据集有没有很好的可分性(即同类之间间隔小,异类之间间隔大),可以通过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。


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

分享到:
评论

相关推荐

    机器学习算法总结,包括代码sklearn库的

    1)回归算法:线性回归、多项式回归、LASSO、岭回归 2)聚类算法:K_Means及其推广,高斯混合聚类(GMM)、密度聚类、层次聚类 3)分类算法:逻辑回归、...4)数据降维L:PCA 5)集成算法:bagging、boosting、stacking

    python从numpy、matplotlib、pandas到sklearn总结教程文档

    sklearn是Python中最流行的机器学习库,提供了多种监督和无监督学习算法,包括分类、回归、聚类、降维等。`python_sklearn.docx`将介绍如何准备数据,如何选择和训练模型,以及如何评估模型性能。你将学习到如何使用...

    sklearn 的一些常见算法的使用

    本文将深入探讨sklearn库中的一些常见算法及其使用方法。 首先,我们来看决策树(Decision Tree)。决策树是一种基于树形结构进行分类或回归的模型。在sklearn中,`sklearn.tree`模块提供了`DecisionTreeClassifier...

    使用sklearn优雅地进行数据挖掘

    sklearn库提供了诸如StandardScaler、MinMaxScaler、Normalizer、Binarizer等标准化和归一化工具来转换特征。这些转换有的是无信息的,比如指数、对数变换;有的是有信息的,比如标准化、归一化等。有监督的转换如...

    机器学习Python算法知识点大全,包含sklearn中的机器学习模型和Python预处理的pandas和numpy知识点

    最后,sklearn库中的机器学习模型通常包括以下步骤:数据预处理(如归一化、编码、降维)、模型训练、模型评估和参数调优。sklearn提供了Pipeline和GridSearchCV等工具,使得整个流程可以自动化和优化。例如,...

    python sklearn库实现简单逻辑回归的实例代码

    Scikit-learn(简称 sklearn)是一个基于 Python 的开源机器学习库,它为多种机器学习算法提供了简单且高效的实现方式。sklearn 提供了丰富的功能,涵盖了监督学习、无监督学习、半监督学习以及强化学习等多个领域。...

    scikit-learn-0.18.tar.gz

    总结一下,scikit-learn 0.18是一个全面且易用的机器学习库,它包含了各种模型和预处理工具,适用于从初学者到高级用户的广泛需求。通过利用其高效的功能,用户可以快速实现从数据预处理、建模到模型评估的完整机器...

    文档Python机器学习库sklearn几种回归算法建模及分析

    `scikit-learn`是一个开源的Python库,用于简化机器学习任务,如分类、回归、聚类以及降维等。它基于NumPy、SciPy和matplotlib等库构建,提供了丰富的算法实现,使得用户可以快速地构建模型并对数据进行处理。 ####...

    机器学习模型总结(sklearn)

    本文档主要总结了sklearn库中的模型,包括监督学习和无监督学习模型、性能评估方法、特征提取工具以及模型选择和正则化技术。 1. 监督学习及相关模型 监督学习是指根据带有标签的数据来训练模型,使得模型能够对...

    TensorFlow和sklearn的基于CIFAR-10数据集的前馈神经网络实现

    在sklearn中,我们同样先加载CIFAR-10数据,但由于sklearn不直接支持大型图像数据,我们可能需要先对图像进行降维或提取特征。然后,实例化`MLPClassifier`,设置层数、神经元数量、激活函数(如tanh或relu)等参数...

    07-提交-无监督学习-降维-PCA-鸢尾花.pdf.zip

    例如,"a1.txt"可能介绍了PCA的基本概念和数学原理,"a2.txt"可能展示了如何在Python中使用sklearn库进行PCA操作,而"all"可能是综合性的总结或包含所有部分的内容。 PCA的执行过程通常包括以下步骤: 1. 标准化:...

    机器学习-sklearn-项目学习大全

    通过本文的学习,我们深入了解了sklearn中数据处理、特征提取、模型迭代的使用方法,同时也总结了机器学习各个算法的sklearn项目使用方法。从数据预处理到模型评估,sklearn提供了一整套完整的工具链,使得机器学习...

    python之sklearn.pdf

    Python的sklearn库提供了全面的机器学习功能,涵盖了从数据预处理到模型训练、评估的全过程。无论你是初学者还是经验丰富的数据科学家,都能借助sklearn轻松实现各种机器学习任务,提升数据洞察力和模型预测能力。...

    COD_SVM降维实例_光谱数据_stillztt_COD_

    它可能包含了导入必要的库(如numpy, pandas, sklearn等),加载光谱和浓度数据,执行SVM降维(可能使用RBF或线性内核),进行线性拟合,以及评估不同维度下模型性能的步骤。通过调整SVM的参数,比如惩罚参数C和内核...

    PCA.zip_PCA散点图_Python PCA_python pca 画图_python 图_降维

    在这个例子中,我们使用Python的`sklearn`库对鸢尾花数据集进行了PCA,将四维数据降维到二维,并通过散点图进行了可视化。这个过程帮助我们洞察数据的主要结构和潜在的关系,同时减少了后续分析的计算复杂度。

    PCA降维算法实践及应用.zip

    在Python中,PCA的实现通常借助于`sklearn.decomposition.PCA`库。在`pca.py`这个文件中,我们可以预期作者可能实现了PCA的基本流程,包括数据预处理、PCA变换以及结果解析。 1. 数据预处理:在应用PCA之前,通常...

    python-sklearn-用法.docx

    Scikit-learn,通常简称为sklearn,是Python编程语言中的一个强大机器学习库,它包含了大量的算法和工具,适用于各种机器学习任务,如分类、回归、聚类和降维等。下面将详细介绍如何利用Scikit-learn进行机器学习...

    sklearn.zip

    在Python的机器学习领域,scikit-learn(简称sklearn)是一个不可或缺的库。它以其简洁、高效和易用的特点,深受广大数据科学家和机器学习爱好者的喜爱。本篇文章将深入探讨sklearn的核心概念、常用模块以及实际应用...

Global site tag (gtag.js) - Google Analytics