数据的降维—特征选择+降维案例

目录

特征选择

VarianceThreshold语法

PCA(主成分分析)

降维案例


降维:维度:特征的数量

数据降维:1.特征选择 2.主成分分析

特征选择

原因:1.冗余:部分特征的相关度高,容易消耗计算性能

           2.噪声:部分特征对预测结果有影响

VarianceThreshold语法

 

from sklearn.feature_selection import VarianceThreshold

def var():
    """特征选择-删除低方差的特征"""
    var = VarianceThreshold(threshold=0.0)
    data = var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])
    print(data)
    return None

if _name_=="main":
    var()

PCA(主成分分析)

本质:PCA是一种分析、简化数据集的技术

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

作用:可以削减回归分析或者聚类分析中特征的数量

(特征数量达到上百的时候,考虑数据的简化,数据也会改变,特征数量也会减少)

from sklearn.decomposition import PCA

def pca():
    """主成分分析进行特征降维"""
    pca = PCA(n_components=0.9)
    data = pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
    print(data)
    return None

if _name_=="main":
    pca()

降维案例

 

import pandas as pd
from sklearn.decomposition import PCA

# 读取四张表的数据
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")

# 合并四张表到一张表(用户-物品类别)
_mg = pd.merge(prior, products, on=['product_id','product_id'])
_mg = pd.merge(_mg, orders, on=['order_id','order_id'])
mt = pd.merge(_mg, aisles, on=['aisle_id','aisle_id'])

# 交叉表(特殊的分组工具)
cross = pd.crosstab(mt['user_id'],mt['aisle'])

# 进行主成分分析
pca = PCA(n_components=0.9)
data = pca.fit_transform(cross)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值