主成分分析

目标

  • 应用PCA实现特征的降维

  • 应用:用户与物品类别之间主成分分析

什么是主成分分析(PCA)

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

作用:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。

应用:回归分析或者聚类分析当中

那么更好的理解这个过程呢?我们来看一张图

API

  • sklearn.decomposition.PCA(n_components=None)

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

数据计算

[[2,8,4,5],
[6,3,0,8],
[5,4,9,1]]
def pca():"""主成分分析进行降维:return:"""# 信息保留70%pca = PCA(n_components=0.7)data = pca.fit_transform([[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]])print(data)return None

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

数据

  • 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

分析

  • 合并表,使得user_id与aisle在一张表当中

  • 进行交叉表变换

  • 进行降维

def pca_case_study():""":return: """# 去读四张表的数据prior = pd.read_csv("./instacart/order_products__prior.csv")products = pd.read_csv("./instacart/products.csv")orders = pd.read_csv("./instacart/orders.csv")aisles = pd.read_csv("./instacart/aisles.csv")print(prior)# 合并四张表mt = pd.merge(prior, products, on=['product_id', 'product_id'])mt1 = pd.merge(mt, orders, on=['order_id', 'order_id'])mt2 = pd.merge(mt1, aisles, on=['aisle_id', 'aisle_id'])# pd.crosstab 统计用户与物品之间的次数关系(统计次数)cross = pd.crosstab(mt2['user_id'], mt2['aisle'])# PCA进行主成分分析pc = PCA(n_components=0.95)data_new = pc.fit_transform(cross)print("data_new:\n", data_new.shape)return None

【机器学习】特征降维-主成分分析相关推荐

  1. 机器学习--特征降维方法总结

    本篇博文主要总结一下机器学习里面特征降维的方法,以及各种方法之间的联系和区别. 机器学习中我个人认为有两种途径可以来对特征进行降维,一种是特征抽取,其代表性的方法是PCA,SVD降维等,另外一个途径就 ...

  2. Matlab中特征降维主成分分析(PCA)使用方法(整套流程)

    1. PCA简介: PCA(Principal Component Analysis)主成分分析方法是一种常见的数据降维方法.数据维度过高可能会使得模型效果不佳.PCA主要原理是将高维原数据通过一个转 ...

  3. [学习笔记] [机器学习] 8. 聚类算法(聚类算法:K-means、K-means++;聚类算法评估;特征降维:特征选择(Pearson相关系数、Spearman相关系数)、PCA主成分分析)

    视频链接 数据集下载地址:无需下载 1. 聚类算法简介 学习目标: 掌握聚类算法实现过程 知道 K-means 算法原理 知道聚类算法中的评估模型 说明 K-means 的优缺点 了解聚类中的算法优化 ...

  4. 机器学习-特征工程中的特征降维

    对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...

  5. 机器学习-特征处理/归一化/标准化/降维03

    归一化 from sklearn.preprocessing import MinMaxScaler def mm(): # 归一化处理mm = MinMaxScaler()data = mm.fit ...

  6. 稀疏学习、稀疏表示、稀疏自编码神经网络、字典学习、主成分分析PCA、奇异值分解SVD 等概念的梳理,以及常用的特征降维方法

    稀疏学习.稀疏表示.稀疏自编码神经网络.字典学习.主成分分析PCA.奇异值分解SVD 等概念的梳理,以及常用的特征降维方法 关于稀疏 稀疏编码 Sparse Coding 与字典学习 神经网络的正则化 ...

  7. 【机器学习】特征降维

    特征降维 学习目标 知道特征选择的嵌入式.过滤式以及包裹氏三种方式 应用VarianceThreshold实现删除低方差特征 了解相关系数的特点和计算 应用相关性系数实现特征选择 降维 降维是指在某些 ...

  8. 主成分分析(Principal components analysis)(特征降维)(PCA)-最大方差解释

    在这一篇之前的内容是<Factor Analysis>,由于非常理论,打算学完整个课程后再写.在写这篇之前,我阅读了PCA.SVD和LDA.这几个模型相近,却都有自己的特点.本篇打算先介绍 ...

  9. 机器学习:基于主成分分析(PCA)对数据降维

    机器学习:基于主成分分析(PCA)对数据降维 作者:AOAIYI 作者简介:Python领域新星作者.多项比赛获奖者:AOAIYI首页

最新文章

  1. Python使用matplotlib可视化自定义背景色实战:自定义可视化图像的背景色(Background Color)
  2. Linux jobs等前后台运行命令详解
  3. python添加时间戳_在python中添加时间戳
  4. 前端学习(2306):react之组件使用
  5. 【转】ABP源码分析十一:Timing
  6. C#托管代码调用C++非托管代码
  7. 如何花“一点点小钱”突破华为云CCE服务的“防线”
  8. OpenShift 4 之AMQ Streams(2) - 用Kafka Connect访问数据源
  9. 玩转Git三剑客01:Git基础
  10. 77----空间直角坐标变换、平移、旋转、伸缩
  11. java+spring+vue基于ssm的员工公寓后勤管理系统
  12. shopify的前端开发教程
  13. 3D Max模型贴图以及优化
  14. abi-compliance-checker 理解
  15. AcWing 741. 斐波那契数列
  16. linux内核协议栈 TCP层数据发送之发送新数
  17. idea中TKK: 更新 TKK 失败,请检查网络连接
  18. 从零基础到web前端工程师(三)
  19. mysql是什么?mysql的特点
  20. Multisim软件的基本使用

热门文章

  1. 从4篇最新论文详解NLP新范式——Continuous Prompt
  2. Russell大师课+大厂专家倾授+5小时黑客松,上海临港人工智能开发者大会倒计时5天...
  3. 今日直播 | 全国高校人工智能人才与科技莫干山论坛直播来袭!
  4. 51Nod1079 中国剩余定理
  5. KMP字符串搜索算法
  6. hdu 2046 骨牌铺方格 递推求解
  7. mybatis分页查询
  8. 十大经典排序算法之插入排序及其二分优化
  9. Java实现替换多个字符串中的参数
  10. OFFICE——Word与Excel交互处理——邮件合并