主成分分析(PCA)

简介: 定义:高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量

一、什么是主成分分析(PCA)

  • 定义:高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量
  • 作用:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
  • 应用:回归分析或者聚类分析当中

那么更好的理解这个过程呢?

1.我们来看一张图

2345_image_file_copy_102.jpg

2. 计算案例理解

3. 假设对于给定5个点,数据如下

(-1,-2) (-1, 0) ( 0, 0) ( 2, 1) ( 0, 1)

2345_image_file_copy_103.jpg

要求:将这个二维的数据简化成一维? 并且损失少量的信息

2345_image_file_copy_104.jpg

这个过程如何计算的呢?找到一个合适的直线,通过一个矩阵运算得出主成分分析的结果

2345_image_file_copy_105.jpg

二、API

sklearn.decomposition.PCA(n_components=None)
  • 将数据分解为较低维数空间
  • n_components:
  • 小数:表示保留百分之多少的信息
  • 整数:减少到多少特征
PCA.fit_transform(X) X:numpy array格式的数据[n_samples,n_features]
  • 返回值:转换后指定维度的array

数据计算检测

先拿个简单的数据计算一下

2345_image_file_copy_106.jpg

返回结果:

2345_image_file_copy_107.jpg

三、 案例:探究用户对物品类别的喜好细分降维

2345_image_file_copy_108.jpg

数据如下:

  • order_products__prior.csv:订单与商品信息
  • 字段:order_id, product_id, add_to_cart_order, reordered
  • products.csv:商品信息
  • 字段:product_id, product_name, aisle_id, department_id
  • orders.csv:用户的订单信息
  • 字段:order_id,user_id,eval_set,order_number,….
  • aisles.csv:商品所属具体物品类别
  • 字段: aisle_id, aisle

1.需求

2345_image_file_copy_109.jpg

2345_image_file_copy_110.jpg

2 分析

  • 合并表,使得user_id与aisle在一张表当中
  • 进行交叉表变换
  • 进行降维

3 完整代码

2345_image_file_copy_111.jpg

2345_image_file_copy_112.jpg

返回结果

(206209, 44)
目录
相关文章
|
11月前
|
消息中间件 分布式计算 大数据
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
438 0
|
11月前
|
SQL 安全 关系型数据库
SQL授权用户查看表的详细步骤与技巧
在数据库管理中,控制不同用户对数据的访问权限是至关重要的
|
缓存 应用服务中间件 nginx
[nginx]proxy_cache缓存系统
[nginx]proxy_cache缓存系统
360 4
|
Kubernetes Cloud Native Linux
CKAD考试实操指南(一)--- 登顶CKAD:征服考试的完美蓝图
Certified Kubernetes Application Developer (CKAD)是由Linux Foundation和Cloud Native Computing Foundation (CNCF)联合推出的一项专业认证,旨在验证候选人是否具备Kubernetes应用开发者所需的技能、知识和能力。CKAD考试是一个在线的、监考的、基于性能的考试,由一系列需要在命令行中解决的性能型任务(问题)组成,考试时间为2小时。
1401 0
CKAD考试实操指南(一)--- 登顶CKAD:征服考试的完美蓝图
|
存储 前端开发 JavaScript
构建高性能返利App的技术架构解析
构建高性能返利App的技术架构解析
|
人工智能 数据安全/隐私保护
如何实现AI检测与反检测原理
AI检测器用于识别AI生成的文本,如ChatGPT,通过困惑度和爆发性指标评估文本。低困惑度和低爆发性可能指示AI创作。OpenAI正研发AI文本水印系统,但尚处早期阶段。现有检测器对长文本较准确,但非100%可靠,最高准确率约84%。工具如AIUNDETECT和AI Humanizer提供AI检测解决方案,适用于学生、研究人员和内容创作者。
|
Java 编译器 Go
QT软件开发:基于libVLC内核设计视频播放器
QT软件开发:基于libVLC内核设计视频播放器
1248 0
QT软件开发:基于libVLC内核设计视频播放器
|
JSON 开发者 数据格式
开发者的瑞士军刀:DevToys带你探索更简单、更便捷的开发方式
开发者的瑞士军刀:DevToys带你探索更简单、更便捷的开发方式
281 0
|
中间件 人工智能 数据库
不做会死!互联网时代的企业必定都要实现中台
作者 | 刘燕采访嘉宾 | 谢纯良编辑 | Natalie AI 前线导读: 自 2018 年底以来,伴随着阿里、腾讯、百度、京东等一众互联网巨头的大规模组织架构调整,“中台”的热度陡然攀升。一时间,各大互联网公司纷纷开始跟随建设中台。
10377 93
|
NoSQL 关系型数据库 MySQL
Linux中安装Docker,在Docker中安装MySQL和Redis并在Windows下连接访问(图文教程)
Linux中安装Docker,在Docker中安装MySQL和Redis并在Windows下连接访问(图文教程)
777 0
Linux中安装Docker,在Docker中安装MySQL和Redis并在Windows下连接访问(图文教程)