sklearn降维

PCA LDA 对鸢尾花降维后的结果 先导入数据包 比我是直接下好的数据,没有用网上的 import pandas as pd from pandas import DataFrame import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.discriminant_analysis import LinearDiscr... 阅读详情

文章目录

PCA

from sklearn.datasets import load_iris
from sklearn.decomposition import PCA
import matplotlib.pyplot as mp, seaborn
from mpl_toolkits import mplot3d
import matplotlib.gridspec as mg  # 子图绘制

# 载入样本
iris = load_iris()
X = iris.data
y = iris.target

# 降维、设置参数
pca3 = PCA(n_components=3)  # 降到3d
X3 = pca3.fit_transform(X)
print(pca3.explained_variance_ratio_)

pca2 = PCA(n_components=0.93)  # 降到2d
X2 = pca2.fit_transform(X)

pca1 = PCA(n_components=1)  # 降到1d
X1 = pca1.fit_transform(X)

# 绘图
ax = mplot3d.Axes3D(mp.figure(figsize=(4, 3)))
ax.scatter(X3[:, 0], X3[:, 1], X3[:, 2], s=88, c=y, alpha=0.5)
mp.show()

c = ['purple', 'cyan', 'yellow']
gs = mg.GridSpec(1, 3)
mp.subplot(gs[0, :2])
mp.scatter(X2[:, 1], X2[:, 0], s=88, c=y, alpha=0.5)
mp.subplot(gs[0, 2])
for i in range(3):
    seaborn.boxplot(data=X1[y == i, 0], color=c[i])
mp.xticks(())
mp.yticks(())
mp.show()

在这里插入图片描述

LDA

from sklearn.datasets import load_iris
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
import matplotlib.pyplot as mp, seaborn
import matplotlib.gridspec as mg

# 载入样本
iris = load_iris()
X = iris.data
y = iris.target

# 降维、设置参数
lda2 = LinearDiscriminantAnalysis(n_components=2)  # 最多降到类别数k-1的维数
X2 = lda2.fit(X, y).transform(X)
print(lda2.explained_variance_ratio_)

lda1 = LinearDiscriminantAnalysis(n_components=1)  # 降到1维
X1 = lda1.fit(X, y).transform(X)

# 绘图
c = ['purple', 'cyan', 'yellow']
gs = mg.GridSpec(1, 3)
mp.subplot(gs[0, :2])
for i in range(3):
    mp.scatter(X2[y == i, 1], X2[y == i, 0], s=50, c=c[i], alpha=0.5)
mp.subplot(gs[0, 2])
for i in range(3):
    seaborn.boxplot(data=X1[y == i, 0], color=c[i])
mp.xticks(())
mp.yticks(())
mp.show()

在这里插入图片描述

附录

EnCn
Dimensionality reduction降维
Principal Components Analysis主成分分析
Linear Discriminant Analysis线性判别分析
decompositionn. 分解
variance变异;方差
ratio比例
MLE最大似然估计
Maximum Likelihood Estimate
Sklearn 机器学习 数据降维PCA 自己实现PCA降维算法 PCA(主成分分析)的原理与实现方法。 阅读详情

相关推荐

(机器学习)sklearn降维算法PCA(用几个小案例详解PCA降维)

本文主要参考菜菜的机器学习课程及其课件 本篇博文基本不涉及PCA的任何数学过程,仅讲解在sklearn中如何调用相关类实现PCA降维 目录1.维度和降维的定义1.1维度的定义1.2降维的含义1.3降维的步骤2.PCA和SVDclass sklearn.decomposition.PCA2.1重要参数n_components2.1.1案例:高维数据的可视化2.1.2 最大似然估计自选超参数n_components2.1.3 按信息量占比选超参数n_components2.2重要参数svd_solver 与 r

m0_46177963的博客 1万+

特征变换以及维度下降——Linear Discriminant Analysis(二)

线性判别分析(Linear discriminant analysis, LDA),是一种监督学习算法,也叫做Fisher线性判别(Fisher Linear Discriminant, FLD),是模式识别的经典算法,它是在1996年由Belhumeur引入模式识别和人工智能领域的。

James Zhang's Blog 3647

PCA降维原理及sklearn代码实现

PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。本文从实际问题代入探索PCA,尽量避免纯数学的推导,更简单明了地讲解PCA原理。 1.数据的向量表示及降维问题的产生 一般情况下,在数据挖掘和机器学习中,数据被表示为向量来进行处理,就拿我近期做的...

Y_hero的博客 5935

sklearn学习笔记:LDA和PCA降维

1. 导入需要的包:# encoding: utf-8 from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt from sklearn import datasets from sklearn.decomposition import PCA from sklearn.discriminant_analysi...

chloe_0906的博客 1235

机器学习sklearn-PCA降维算法

1 概述 1.1 什么叫“维度” 对于数组和Series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维。 针对每一张表,维度指的是样本的数量或特征的数量,一般无特别说明,指的都是特征的数 量。 对图像来说,维度就是图像中特征向量的数量。特征向量可以理解为是坐标轴。 **降维算法中的”降维“,指的是降低特征矩阵中特征的数量。**降维的目的是为了让算法运算更 快,效果更好,但其实还有另一种需求:数据可视化。 1.2 sklearn中的降维算法 sklearn中降维算法都被包括在模块

weixin_44376037的博客 9818

【机器学习】sklearn核心降维算法比较

综上所述,不同的降维算法各有侧重,它们根据不同的原则和方法来简化数据,因此即使是针对同一数据集,也会产生不同的降维结果。PCA 寻找的是数据的主要波动方向,因此得到的散点图可能会显示数据的主要趋势。使用不同的降维算法对同一个数据集进行分析时,生成的散点图分布形态之所以不同,主要是因为每种降维算法的目标、假设以及处理数据的方式各不相同。不同的算法有不同的计算复杂度,这也影响了它们在处理大数据集时的表现。PCA 和 LDA 是线性降维方法,它们试图找到一个线性的投影,使得数据在新的低维空间中有较好的表示。

weixin_41359455的博客 1562

Python 机器学习3:sklearn 数据降维

数据降维,维度即特征的数量,降维即降低特征的数量。有些特征对目标值影响不大可以删掉,称为降维。 1. 特征选择 对于包括冗余或者噪声的数据,选择一部分作为机器学习的输入数据。 import sklearn.feature_selection VarianceThreshold 方差阈值,删除所有低方差特征。 from sklearn.feature_selection import VarianceThreshold 1. 实例化VarianceThreshold 参数threshold:

Amzmks的博客 1008

【python 机器学习】sklearn 降维

降维是指将高维数据映射到低维空间的过程。通过降维,能够减少特征的数量,同时尽可能保留原始数据中的重要信息。减少计算复杂度:在高维空间中,计算量和存储空间需求增加,降维可以显著减少计算和存储的开销。改善模型性能:高维数据可能包含冗余信息和噪声,降维可以去除这些无关信息,改善模型的泛化能力。可视化:降维可以将高维数据映射到低维空间,使得数据可以被直观地可视化,帮助分析和理解数据的结构。降维是减少数据维度、提高模型效率和性能的重要技术。通过使用sklearn中的PCA。

m0_62599305的博客 1036

sklearn库LDA进行图片数据降维

1.简介 在另一篇文章中讲了利用PCA对图片数据进行降维,这次介绍一下另一种降维方法——LDA(Linear Discriminant Analysis),即线性判别分析。跟PCA不同,LDA是一种supervised的降维方法。即我们对数据降维时需要数据的label。 LDA的原理是要找到一个投影面,使得投影后相同类别的数据点尽可能的靠在一起,而不同类别的数据点尽可能的分开...

qq_29848559的博客 4445

sklearn0.19中文文档

sklearn0.19中文文档 PDF格式高清。 .1. 广义线性模型 1.1.1. 普通最小二乘法 1.1.1.1. 普通最小二乘法复杂度 1.1.2. 岭回归 1.1.2.1. 岭回归的复杂度 1.1.2.2. 设置正则化参数:广义交叉验证 1.1.3. Lasso 1.1.3.1. 设置正则化参数 1.1.3.1.1. 使用交叉验证 1.1.3.1.2. 基于信息标准的模型选择 1.1.3.1.3. 与 SVM 的正则化参数的比较 1.1.4. 多任务 Lasso 1.1.5. 弹性网络 1.1.6. 多任务弹性网络 1.1.7. 最小角回归 1.1.8. LARS Lasso 1.1.8.1. 数学表达式 1.1.9. 正交匹配追踪法(OMP) 1.1.10. 贝叶斯回归 1.1.10.1. 贝叶斯岭回归 1.1.10.2. 主动相关决策理论 - ARD 1.1.11. logistic 回归 1.1.12. 随机梯度下降, SGD 1.1.13. Perceptron(感知器) 1.1.14. Passive Aggressive Algorithms(被动攻击算法) 1.1.15. 稳健回归(Robustness regression): 处理离群点 (outliers)和模型错误 1.1.15.1. 各种使用场景与相关概念 1.1.15.2. RANSAC: 随机抽样一致性算法(RANdom SAmple Consensus) 1.1.15.2.1. 算法细节 1.1.15.3. Theil-Sen 预估器: 广义中值估计 1.1.15.3.1. 算法理论细节 1.1.15.4. Huber 回归 1.1.15.5. 注意 1.1.16. 多项式回归:用基函数展开线性模型 1.2. 线性和二次判别分析 1.2.1. 使用线性判别分析来降维 1.2.2. LDA 和 QDA 分类器的数学公式 1.2.3. LDA 的降维数学公式 1.2.4. Shrinkage(收缩) 1.2.5. 预估算法 1.3. 内核岭回归 1.4. 支持向量机 1.4.1. 分类 1.4.1.1. 多元分类 1.4.1.2. 得分和概率 1.4.1.3. 非均衡问题 1.4.2. 回归 1.4.3. 密度估计, 异常(novelty)检测 1.4.4. 复杂度 1.4.5. 使用诀窍 1.4.6. 核函数 1.4.6.1. 自定义核 1.4.6.1.1. 使用 python 函数作为内核 1.4.6.1.2. 使用 Gram 矩阵 1.4.6.1.3. RBF 内核参数 1.4.7. 数学公式 1.4.7.1. SVC 1.4.7.2. NuSVC 1.4.7.3. SVR 1.4.8. 实现细节 1.5. 随机梯度下降 1.5.1. 分类 1.5.2. 回归 1.5.3. 稀疏数据的随机梯度下降 1.5.4. 复杂度 1.5.5. 实用小贴士 1.5.6. 数学描述 1.5.6.1. SGD 1.5.7. 实现细节 1.6. 最近邻 1.6.1. 无监督最近邻 1.6.1.1. 找到最近邻 1.6.1.2. KDTree 和 BallTree 类 1.6.2. 最近邻分类 1.6.3. 最近邻回归 1.6.4. 最近邻算法 1.6.4.1. 暴力计算 1.6.4.2. K-D 树 1.6.4.3. Ball 树 1.6.4.4. 最近邻算法的选择 1.6.4.5. leaf_size 的影响 1.6.5. 最近质心分类 1.6.5.1. 最近缩小质心 1.7. 高斯过程 1.7.1. 高斯过程回归(GPR) 1.7.2. GPR 示例 1.7.2.1. 具有噪声级的 GPR 估计 1.7.2.2. GPR 和内核岭回归(Kernel Ridge Regression)的比 较 1.7.2.3. Mauna Loa CO2 数据中的 GRR 1.7.3. 高斯过程分类(GPC) 1.7.4. GPC 示例 1.7.4.1. GPC 概率预测 1.7.4.2. GPC 在 XOR 数据集上的举例说明 1.7.4.3. iris 数据集上的高斯过程分类(GPC) 1.7.5. 高斯过程内核 1.7.5.1. 高斯过程内核 API 1.7.5.2. 基础内核 1.7.5.3. 内核操作 1.7.5.4. 径向基函数内核 1.7.5.5. Matérn 内核 1.7.5.6. 有理二次内核 1.7.5.7. 正弦平方内核 1.7.5.8. 点乘内核 1.7.5.9. 参考文献 1.7.6. 传统高斯过程 1.7.6.1. 回归实例介绍 1.7.6.2. 噪声数据拟合 1.7.6.3. 数学形式 1.7.6.3.1. 初始假设 1.7.6.3.2. 最佳线性无偏预测(BLUP) 1.7.6.3.3. 经验最佳线性无偏估计(EBLUP) 1.7.6.4. 关联模型 1.7.6.5. 回归模型 1.7.6.6. 实现细节 1.8. 交叉分解 1.9. 朴素贝叶斯 1.9.1. 高斯朴素贝叶斯 1.9.2. 多项分布朴素贝叶斯 1.9.3. 伯努利朴素贝叶斯 1.9.4. 堆外朴素贝叶斯模型拟合 1.10. 决策树 1.10.1. 分类 1.10.2. 回归 1.10.3. 多值输出问题 1.10.4. 复杂度分析 1.10.5. 实际使用技巧 1.10.6. 决策树算法: ID3, C4.5, C5.0 和 CART 1.10.7. 数学表达 1.10.7.1. 分类标准 1.10.7.2. 回归标准 1.11. 集成方法 1.11.1. Bagging meta-estimator(Bagging 元估计器) 1.11.2. 由随机树组成的森林 1.11.2.1. 随机森林 1.11.2.2. 极限随机树 1.11.2.3. 参数 1.11.2.4. 并行化 1.11.2.5. 特征重要性评估 1.11.2.6. 完全随机树嵌入 1.11.3. AdaBoost 1.11.3.1. 使用方法 1.11.4. Gradient Tree Boosting(梯度树提升) 1.11.4.1. 分类 1.11.4.2. 回归 1.11.4.3. 训练额外的弱学习器 1.11.4.4. 控制树的大小 1.11.4.5. Mathematical formulation(数学公式) 1.11.4.5.1. Loss Functions(损失函数) 1.11.4.6. Regularization(正则化) 1.11.4.6.1. 收缩率 (Shrinkage) 1.11.4.6.2. 子采样 (Subsampling) 1.11.4.7. Interpretation(解释性) 1.11.4.7.1. Feature importance(特征重要性) 1.11.4.7.2. Partial dependence(部分依赖) 1.11.5. Voting Classifier(投票分类器) 1.11.5.1. 多数类标签 (又称为 多数/硬投票) 1.11.5.1.1. 用法 1.11.5.2. 加权平均概率 (软投票) 1.11.5.3. 投票分类器(VotingClassifier)在网格搜索 (GridSearch)应用 1.11.5.3.1. 用法 1.12. 多类和多标签算法 1.12.1. 多标签分类格式 1.12.2. 1对其余 1.12.2.1. 多类学习 1.12.2.2. 多标签学习 1.12.3. 1对1 1.12.3.1. 多类别学习 1.12.4. 误差校正输出代码 1.12.4.1. 多类别学习 1.12.5. 多输出回归 1.12.6. 多输出分类 1.12.7. 链式分类器 1.13. 特征选择 1.13.1. 移除低方差特征 1.13.2. 单变量特征选择 1.13.3. 递归式特征消除 1.13.4. 使用 SelectFromModel 选取特征 1.13.4.1. 基于 L1 的特征选取 1.13.4.2. 基于 Tree(树)的特征选取 1.13.5. 特征选取作为 pipeline(管道)的一部分 1.14. 半监督学习 1.14.1. 标签传播 1.15. 等式回归 1.16. 概率校准 1.17. 神经网络模型(有监督) 1.17.1. 多层感知器 1.17.2. 分类 1.17.3. 回归 1.17.4. 正则化 1.17.5. 算法 1.17.6. 复杂性 1.17.7. 数学公式 1.17.8. 实用技巧 1.17.9. 使用 warm_start 的更多控制

保姆级教程:用NILMTK和REDD数据集,5分钟跑通你的第一个负荷分解模型

本文提供了一份详细的NILMTK和REDD数据集负荷分解模型教程,适合零基础用户快速上手。从环境准备、数据获取到模型构建和评估,全程仅需5分钟即可完成。特别适合希望快速入门非侵入式负荷分解(NILM)的开发者,涵盖数据预处理、模型训练及结果可视化等关键步骤。

weixin_30493401的博客 442

sklearn(聚类和降维)

聚类(clustering) 聚类(clustering),就是根据数据的“相 似性”将数据分为多类的过程。 评估两个不同样本之间的“相似性” ,通 常使用的方法就是计算两个样本之间的“距离”。 使用不同的方法计算样本间的距离会关系到聚类 结果的好坏。 欧氏距离 欧氏距离是最常用的一种距离度 量方法,源于欧式空间中两点的距离。 其计算方法如下 曼哈顿距离 曼哈顿距离也称作“城市街区距 离”,类...

微信号:RunsenLiu 2422

保姆级教程:在LKD3588开发板上为RK3588添加SC2210摄像头驱动(含完整DTS配置)

本文提供了一份详细的教程,指导如何在LKD3588开发板上为RK3588处理器添加SC2210摄像头驱动,包括完整的DTS配置和内核编译步骤。教程涵盖了环境准备、驱动文件添加、DTS配置详解、内核编译与烧录、驱动测试以及常见问题排查,帮助开发者快速实现SC2210传感器在RK3588平台上的集成与优化。

weixin_42641741的博客 480

Sklearn - PCA数据降维

PCA是无监督数据降维方式,目的是将一个高维数据集转换为一个低维数据集。如今我们的数据集往往有成百上千维的特征,但并不是所有的特征都很重要,通过降维,去除那些不重要的特征。数据维度的降低了,同时计算机的运算效率也得到了提升。在人工智能技术刚起步的时候,人们关注的焦点在于算法的准确性,通过不断优化算法中的计算参数,来提高运算结果的准确率。今天,随着存储与通信技术的发展,数据规模变得空前的庞大,所以运算效率变成了我们不得不考虑的问题。 假如我们有一份医患数据集,该数据集有许多患者特征,如:年龄、性别、身高、体重

taon1607的博客 9069

电力抄表协议DL/T645和698.45到底有啥区别?一张图帮你选对协议

本文深入对比了电力抄表协议DL/T645和DL/T698.45的技术差异,从协议架构、报文结构、功能覆盖到实施成本进行全面分析。通过实际案例和数据,揭示698.45协议在通信效率、业务扩展性和长期成本上的优势,并提供清晰的选型决策流程图,帮助工程师根据具体需求选择最适合的电力抄表协议。

weixin_38168696的博客 407

ctf——writeup

ctf线上赛——第三关地址:http://106.75.86.18:2222提示:ip spoofing——ip伪造首先访问目标地址,一个正常的网页,挺文艺的。上面有些提示。根据上面的提示,我们浏览网页。找了好久,终于找到你。这个跳转链接。(在这个页面下方)我们接着点击这个链接,就跳转到administrator.php这个页面了。看到这个登录页面,就要知道用户名,密码,可是没有怎么办。一开始也试

Child_by_dream的博客 1321

sklearn学习-降维算法

sklearn学习-降维算法

weixin_42856170的博客 477

泛微E9集成登录实战:5分钟搞定第三方系统单点登录配置(附避坑指南)

本文详细解析了泛微E9集成登录的实战配置流程与核心原理。通过理解其基于信任代理的身份传递机制,文章指导用户如何在5-10分钟内完成第三方系统的单点登录对接,涵盖基础配置、核心参数设置、高级表达式应用,并提供了编码问题、账号不一致等常见避坑指南,助力企业快速构建统一身份认证门户。

weixin_29185493的博客 298

【sklearn】降维处理PCA&SVD

sklearn降维笔记

Enchanted to meet U 501

西门子1500 PLC与巴鲁夫RFID实战:从硬件接线到数据读写的完整流程

本文详细介绍了西门子S7-1500 PLC与巴鲁夫RFID系统集成的完整实战流程。内容涵盖从硬件选型、接线、PROFINET网络配置,到在TIA Portal中安装GSD文件、组态设备、分配地址,再到使用标准功能块(如FB31)进行程序架构设计、实现数据读写以及错误诊断。文章重点分享了硬件连接要点、软件配置步骤、数据块管理技巧以及调试中常见问题的解决方案,为工业自动化工程师实施RFID项目提供了清晰的指导。

weixin_29161785的博客 387

1 电科院FTU检测标准学习笔记-外观检查

作者简介:本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验。

sixtome 1852

sklearn入门——降维算法

概述

weixin_47037146的博客 1257

CAPL通过SecMgrCANoeClient.dll实现AES 128

需要加载SecMgrCANoeClient.dll这个动态库,可以在canoe安装路径下Exec32这个文件夹里找。这个库不是哪版canoe都带,canoe15就没有,11,14是有的。我需要用到的是AES 128 ECB nopadding,这里函数介绍说是padding mode PKCS5,但是最后算出的结果是我可以使用的。CAPL中可以使用下列函数实现AES 128的算法。需要注意输入输出字节的长度。

天赐好车的博客 4932

使用sklearn处理数据和降维

1.加载datasets模块中的数据集 2.划分训练集和测试集 3.使用sklearn转换器数据预处理与降维

freeline的博客 2832

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Python】使用sklearn PCA对人脸数据降维

【python】sklearn PCA对人脸数据降维与识别1. PCA1.1 PCA原理1.2 sklearn PCA使用方法2. 人脸数据降维2.1 读取图片2.2 使用PCA进行降维参考文献 1. PCA PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法。PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。 1.1 PCA原理 PCA算法步骤是从原始的空间中顺序

qq_40876059的博客 8396

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: sklearn各分类模型的比较
下一篇: 中文依存句法分析接口
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值