博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之sklearn-特征工程-1.5 特征降维
阅读量:4202 次
发布时间:2019-05-26

本文共 1473 字,大约阅读时间需要 4 分钟。

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

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

二,主成分分析(PCA)的理解

将这个二维的数据简化成一维,并且损失少量的信息。

在这里插入图片描述
在这里插入图片描述

三,API

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

四,实例

from sklearn.decomposition import PCAdef pca():    """ 主成分分析进行降维 """    pca = PCA(n_components=0.99)    data = pca.fit_transform([[200,8,4,5],[600,3,0,8],[500,4,9,1]])    print(data)    return Noneif __name__ == "__main__":    pca()

五,网络实例

数据如下:

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

在这里插入图片描述

2,分析
  • 合并表,使得user_idaisle在一张表当中
  • 进行交叉表变换
  • 进行降维
3,完整代码
# 去读四张表的数据prior = pd.read_csv("./data/instacart/order_products__prior.csv")products = pd.read_csv("./data/instacart/products.csv")orders = pd.read_csv("./data/instacart/orders.csv")aisles = pd.read_csv("./data/instacart/aisles.csv")# 合并四张表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 = pc.fit_transform(cross)

转载地址:http://xsili.baihongyu.com/

你可能感兴趣的文章
linux -8 Linux磁盘与文件系统的管理
查看>>
linux 9 -文件系统的压缩与打包 -dump
查看>>
PHP在变量前面加&是什么意思?
查看>>
ebay api - GetUserDisputes 函数
查看>>
ebay api GetMyMessages 函数
查看>>
wdlinux
查看>>
关于mysql升级到5.5报错问题
查看>>
magento - 通过storeid,分类id,天数(几天内)得到产品
查看>>
一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂!
查看>>
Redis和Memcache对比及选择
查看>>
用谷歌账号登陆magento、
查看>>
php oauth 模块在linux下安装
查看>>
代替nginx的服务器 - The Tengine Web Server
查看>>
nginx 升级成 tengine 的代码
查看>>
magento rest api 调用
查看>>
magento rest api 调用!
查看>>
magento rest api get Token key and secret
查看>>
谷歌获取货币汇率代码
查看>>
安装nginx
查看>>
手动6 - 隐藏Nginx版本号
查看>>