[机器学习]特征工程:主成分分析

这篇具有很好参考价值的文章主要介绍了[机器学习]特征工程:主成分分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

主成分分析

1、简介

2、帮助理解

3、API调用

4、案例


本文介绍主成分分析的概述以及python如何实现算法,关于主成分分析算法数学原理讲解的文章,请看这一篇:

探究主成分分析方法数学原理_逐梦苍穹的博客-CSDN博客https://blog.csdn.net/qq_60735796/article/details/132339011

感谢大家支持!您的一键三连,就是我创作的最大动力!

主成分分析

1、简介

[机器学习]特征工程:主成分分析,人工智能,信息可视化,python,机器学习,人工智能,主成分分析

主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维和特征提取技术用于将高维数据转化为低维表示,同时保留数据的主要特征。

它通过线性变换将原始特征投影到新的坐标轴上,使得投影后的特征具有最大的方差,从而达到降低数据维度的目的。

PCA 的主要思想是寻找数据中的主要方向,即数据的主成分,这些主成分是数据变化最大的方向。通过保留最重要的主成分,可以将数据的维度减少,从而减少存储和计算的成本,同时可以降低数据中的噪声和冗余信息,提高模型的泛化能力。

PCA 的工作步骤如下:

  1. 标准化数据
  2. 计算数据的协方差矩阵。
  3. 对协方差矩阵进行特征值分解,得到特征值和特征向量。
  4. 将特征值按从大到小的顺序排列,选择前几个特征值对应的特征向量作为主成分。
  5. 将原始数据投影到选定的主成分上,得到降维后的数据。

PCA 在许多领域中有广泛的应用,包括数据可视化、特征工程、模式识别、图像处理等。它可以帮助我们理解数据的内在结构,去除冗余信息,提高模型的效果和效率。

需要注意的是,PCA 假设数据分布在高维空间中呈线性关系,因此在存在非线性关系的情况下,PCA 可能效果不佳。在这种情况下,可以考虑使用非线性降维技术,如核主成分分析(Kernel PCA)。

2、帮助理解

如何使用最少的特征,保留原始的主成分,如图所示:

[机器学习]特征工程:主成分分析,人工智能,信息可视化,python,机器学习,人工智能,主成分分析

3、API调用

sklearn.decomposition.PCA(n_components=None)

将数据分解为较低维数空间

n_components:

小数:表示保留百分之多少的信息

整数:减少到多少特征

PCA.fit_transform(X) X:numpy array格式的数据[n_samples,n_features]

返回值:转换后指定维度的array

# -*- coding: utf-8 -*-
# @Author:︶ㄣ释然
# @Time: 2023/8/16 15:42
from sklearn.decomposition import PCA

'''
sklearn.decomposition.PCA(n_components=None)
    将数据分解为较低维数空间
    n_components:
    小数:表示保留百分之多少的信息
    整数:减少到多少特征
    PCA.fit_transform(X) X:numpy array格式的数据[n_samples,n_features]
    返回值:转换后指定维度的array
'''
def pca_demo():
    """
    对数据进行PCA降维
    """
    data = [[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]]
    # 1、实例化PCA, 小数——保留多少信息
    transfer = PCA(n_components=0.9)
    # 2、调用fit_transform
    data1 = transfer.fit_transform(data)
    print("保留90%的信息,降维结果为:\n", data1)
    
    # 1、实例化PCA, 整数——指定降维到的维数
    transfer2 = PCA(n_components=3)
    # 2、调用fit_transform
    data2 = transfer2.fit_transform(data)
    print("降维到3维的结果:\n", data2)


if __name__ == '__main__':
    pca_demo()

输出结果:

[机器学习]特征工程:主成分分析,人工智能,信息可视化,python,机器学习,人工智能,主成分分析

4、案例

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

[机器学习]特征工程:主成分分析,人工智能,信息可视化,python,机器学习,人工智能,主成分分析

数据如下:

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在一张表当中

进行交叉表变换

进行降维

[机器学习]特征工程:主成分分析,人工智能,信息可视化,python,机器学习,人工智能,主成分分析

[机器学习]特征工程:主成分分析,人工智能,信息可视化,python,机器学习,人工智能,主成分分析

代码:

from sklearn.decomposition import PCA
import pandas as pd


def data_demo():
    # 1、获取数据集
    # ·商品信息- products.csv:
    # Fields:product_id, product_name, aisle_id, department_id
    # ·订单与商品信息- order_products__prior.csv:
    # Fields:order_id, product_id, add_to_cart_order, reordered
    # ·用户的订单信息- orders.csv:
    # Fields:order_id, user_id,eval_set, order_number,order_dow, order_hour_of_day, days_since_prior_order
    # ·商品所属具体物品类别- aisles.csv:
    # Fields:aisle_id, aisle
    products = pd.read_csv("data/instacart/products.csv")
    order_products = pd.read_csv("data/instacart/order_products__prior.csv")
    orders = pd.read_csv("data/instacart/orders.csv")
    aisles = pd.read_csv("data/instacart/aisles.csv")

    # 2、合并表,将user_id和aisle放在一张表上
    # 1)合并orders和order_products on=order_id tab1:order_id, product_id, user_id
    tab1 = pd.merge(orders, order_products, on=["order_id", "order_id"])
    # 2)合并tab1和products on=product_id tab2:aisle_id
    tab2 = pd.merge(tab1, products, on=["product_id", "product_id"])
    # 3)合并tab2和aisles on=aisle_id tab3:user_id, aisle
    tab3 = pd.merge(tab2, aisles, on=["aisle_id", "aisle_id"])

    # 3、交叉表处理,把user_id和aisle进行分组
    table = pd.crosstab(tab3["user_id"], tab3["aisle"])

    # 4、主成分分析的方法进行降维
    # 1)实例化一个转换器类PCA
    transfer = PCA(n_components=0.95)
    # 2)fit_transform
    data = transfer.fit_transform(table)

    print(data.shape)

if __name__ == '__main__':
    data_demo()

结果:

[机器学习]特征工程:主成分分析,人工智能,信息可视化,python,机器学习,人工智能,主成分分析文章来源地址https://www.toymoban.com/news/detail-660522.html

到了这里,关于[机器学习]特征工程:主成分分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【兔子王赠书第7期】机器学习与人工智能实战:基于业务场景的工程应用

    新的一周开始啦,本周博主给大家带来《机器学习与人工智能实战:基于业务场景的工程应用》,感兴趣的小伙伴快来看看吧! 下面是一个使用Python实现简单线性回归模型的代码示例: 在上面的代码中, SimpleLinearRegression 类是我们实现的简单线性回归模型。在 fit 方法中,我

    2024年02月05日
    浏览(41)
  • 软件工程中的人工智能与机器学习:未来研发效能的驱动力

    人工智能(Artificial Intelligence, AI)和机器学习(Machine Learning, ML)在过去的几年里已经成为软件工程中最热门的话题之一。随着数据量的增加,计算能力的提升以及算法的创新,人工智能和机器学习技术已经成为软件开发过程中不可或缺的一部分。 在软件工程中,人工智能和机器学

    2024年02月21日
    浏览(47)
  • 文献速递:人工智能医学影像分割---人工智能辅助的CT分割用于体成分分析:一项验证研究

    Title 题目 Artificial intelligence-aided CT segmentation for body composition analysis: a validation study 人工智能辅助的CT分割用于体成分分析:一项验证研究 Abstract -Background 摘要-背景 Body composition is associated with survival outcome in oncological patients, but it is not routinely calculated. Manual segmentation of subcuta

    2024年01月23日
    浏览(45)
  • 数据分析的未来:机器学习和人工智能的革命

    数据分析是现代科学和工业的核心技术,它涉及到大量的数据收集、存储、处理和分析。随着数据的增长和复杂性,传统的数据分析方法已经不能满足需求。机器学习和人工智能技术正在革命化数据分析领域,为我们提供了更高效、准确和智能的解决方案。 在本文中,我们将

    2024年02月20日
    浏览(143)
  • 数据分析师在人工智能与机器学习领域的重要作用

    人工智能(Artificial Intelligence, AI)和机器学习(Machine Learning, ML)是当今最热门的技术领域之一,它们正在驱动我们进入第四次工业革命。这些技术正在改变我们的生活方式、工作方式和社会结构。数据分析师在这个领域的作用非常重要,因为他们是在这个领域中的核心组成部分。

    2024年02月19日
    浏览(44)
  • 数据探索的人工智能与机器学习:如何应用AI技术提高分析效率

    数据探索是数据科学家和机器学习工程师在处理新数据集时所经历的过程。在这个过程中,他们需要理解数据的结构、特征和关系,以便为业务提供有价值的见解。然而,随着数据规模的增加,手动进行这些分析变得越来越困难。因此,人工智能和机器学习技术在数据探索领

    2024年02月20日
    浏览(81)
  • 人工智能+物联网:从传感器到机器学习:智能化的数据采集和分析

    作者:禅与计算机程序设计艺术 大数据时代是一个数据爆炸的时代。如何从海量数据中快速找到隐藏在其中价值的信息,成为当今企业竞争中不可或缺的能力?人工智能和物联网正在成为经济领域和产业界的主流,新一代互联网物联网平台、AI智能终端、海量数据和算法驱动

    2024年02月09日
    浏览(69)
  • Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能

    安装 Python 环境,选择一个 IDE,如 PyCharm、VSCode等。 安装 Python 环境是使用 Python 进行编程的第一步。Python 官网提供了 Windows、Linux 和 macOS 等主流操作系统的安装包,可以前往官网下载对应版本的 Python 并进行安装。 在安装完 Python 后,需要使用 pip 工具对常用的第三方库进行

    2024年02月09日
    浏览(64)
  • 人工智能学习5(特征抽取)

    编译环境:PyCharm 特征选择和特征抽取都减少了数据的维度(降维),但是特征选择是得到原有特征的子集,特征抽取是将原有特征结果函数映射转化为新的特征。 特征抽取分为无监督特征抽取和有监督特征抽取。 无监督 : 没有标签 PCA降维 ( 主成分分析 )基本思想:构造一系

    2024年02月03日
    浏览(36)
  • 机器学习——主成成分分析PCA

    如上图所示,一共有4个属性,身高( m为单位),身高(cm),时速(每小时公里),时速(每小时里),身高的两个属性是相关的,时速的两个属性也是相关的,我们把四组具有相关性的变量转换成了两组不相关的变量,我们把转换后的这2组变量称为它的主成分。说白了,就

    2024年01月18日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包