专栏首页数据STUDIO数据挖掘中常用的基本降维思路及方法总结

数据挖掘中常用的基本降维思路及方法总结

👆点击关注|选择星标|干货速递👆


01 降维的意义

  • 降低无效、错误数据对建模的影响,提高建模的准确性。
  • 少量切具有代表性的数据将大幅缩减挖掘所需的时间。
  • 降低存储数据的成本。

02 需要降维的情况

大多数情况下,面临高维数据,就要降维处理

  • 维度数量。降维基本前提是高维。
  • 建模输出是否必须保留原始维度。如果需要最终建模输出是能够分析、解释和应用,则只能通过特征筛选或聚类等方式降维。
  • 对模型对计算效率和建模时效性有要求。
  • 是否需要保留完整的数据特征。

03 基于特征选择的降维

根据一定的规则和经验,直接选取原有维度的一部分参与后续的计算和建模过程,用选择的维度代替所有维度。优势是既能满足后续数据处理和建模要求,又能保留维度原本的业务含义,以便业务理解和应用。

四种思路

经验法: 根据业务专家或数据专家的以往经验、实际数据情况、业务理解程度等进行综合考虑。

测算法: 通过不断测试多种维度选择参与计算,通过结果来反复验证和调整,并最终找到最佳特征方案。

基于统计分析方法: 通过相关分析不同维度间的线性关系,在相关性高的维度中进行人工去除或筛选

  • 方差过滤:classs sklearn.feature_selection.VarianceThreshold(threshold=0.0) .fit_transform(X,y)
  • 卡方过滤:原假设是相互独立 SelectKBest(chi2,k).fit_transform(X,y)
  • F检验:原假设是不存在显著的线性关系 SelectKBest(f_classif,k).fit_transform(X,y)
  • 通过计算不同维度间的互信息,找到具有较高互信息的特征集,然后去除或留下其中一个。SelectKBest(model,k).fit_transform(X,y) 其中 model=multual_info_classif 或 multual_info_regression

机器学习算法: 通过机器学习算法得到不同特征的特征值或权重,选择权重较大的特征。

  • 嵌入法:精确度模型本身,是过滤法的进阶版。 sklearn.feature_selection.SelectFromModel(sklearn.ensemble.RandomForestClassifier(),threshold=0.01).fit_transfrom(X,y)
  • 包装法: sklearn.feature_selection.RFE(sklearn.SVM.SVC(),k).fit_transfrom(X,y)

04 基于特征转换的降维

按照一定的数学变换方法,把给定的一组相关变量(特征)通过数学模型将高维空间数据点映射到低维空间中,然后用映射后到变量的特征来表示原有变量的总体特征。这种方式是一种产生新维度的过程,转换后的维度并非原有的维度本体,而是其综合多个维度转换或映射后的表达式。

PCA(主成分分析)

PCA (Principal Component Analysis) sklearn.decomposition.PCA(n_components=None,whiten=False)

from sklearn.decomposition import PCA
pca=PCA().fit()
pca.components_ # 返回模型各个特征向量
pca.explained_variance_ratio_ # 返回各自成分的方差百分比

图片来源网络

按照一定的数学变换方法,把给定的一组相关变量(特征)通过线性变换转换成另一组不相关的变量,这些新变量按照方差依次递减的顺序排列。方法越大,包含的信息越多。(无监督式学习,从特征的协方差角度,去选择样本点投影具有最大方差方向)n维可用。

二维转一维举例

x1_{var} = x2_{var} = \frac{(1-2)^2+(2-2)^2+(3-2)^2}{2}=1
x1_{var} = \frac{(\sqrt{2}-2\sqrt{2})^2+(2\sqrt{2}-2\sqrt{2})^2+(3\sqrt{2}-2\sqrt{2})^2}{2}=2

所谓主成分:选出比原始变量个数少、能够解释数据中大部分的变量的几个新变量,来替换原始变量进行建模。

PCA是将数据投影到方差最大的几个相互正交的方向上,以期待保留最多的样本信息。

PCA算法 1,将原始数据按列组成

n

m

列矩阵

X

2,将

X

的每一行(代表一个属性字段) 进行标准化处理。 3,求出相关系数矩阵

R

4,求出

R

的特征值

\lambda_i

及对应的特征向量

\beta_i

5,将特征向量按对应特征值大小从上到下按行排列成矩阵,取前

k

行组成矩阵

P

6,

Y=PX
P=E^T

,

E=[\beta_1,\beta_2,...,\beta_k]

LDA(线性判别分析)

LDA (Linear Discriminant Analysis)

通过已知类别的“训练样本”,来建立判别准则,并通过预测变量来为已知数据进行分类。(有监督式学习,考虑分类标签信息,投影后选择分类性能最好的方向) C-1维(分类标签数-1)

基本思想是将高维数据的模式样本投影到最佳鉴别矢量空间,已到达抽取分类信息和压缩特征空间维度的效果。投影后保证模式样本在新子空间的类空间距离和最小的类距离,集模式在该空间中有最佳可分离性。

使样本尽可能好分的投影方向,就是要使投影后使得同类样本尽可能近,不同类样本尽可能远。

图片来源网络

05 基于特征组合的降维

将输入特征与目标预测变量做拟合的过程,它将输入特征经过运算,并得出能对目标变量作出很好解释(预测性)对复合特征,这些特征不是原有对单一特征,而是经过组合和变换后的新特征。

优点: 提高模型准确率、降低噪声干扰(鲁棒性更强)、增加了对目标变量的解释性。

方法:

  • 基于单一特征离散化后的组合。 现将连续性特征离散化后组合成新的特征。如RFM模型
  • 基于单一特征的运算后的组合。 对于单一列基于不同条件下获得的数据记录做求和、均值等获得新特征。
  • 基于多个特征的运算后的组合。 将多个单一特征做复合计算(包括加减乘除对数等),(一般基于数值型特征)获得新特征。
  • 基于模型等特征最优组合。 基于输入特征与目标变量,在特定的优化函数的前提下做模型迭代计算,以到达模型最优的解。如多项式的特征组合、基于GBDT的特征组合。

GBDT

sklearn.ensemble.GradientBoostingClassifier(
        ).fit(X,y).apply(X)[:,:,0]

apply()返回的是 [n_samples,n_estimators, n_classes]

多项式

sklearn.preprocessing.\
PolynomialFeatures.fit_transform(X,y
                    ).get_feature_names()

Ok,今天的分享就到这里啦,更多原创好文,请关注数据STUDIO!

本文分享自微信公众号 - 数据STUDIO(jim_learning),作者:云朵君

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-06-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据思维|总结常用的数据分析思维和分析方法

    掌握常用的数据分析方法论是培养数据分析思维的基础,俗话说“工欲善其事,必先利其器”,而数据分析方法论就是数据分析是最强大的武器之一。这一节会围绕数据分析常用分析...

    数据万花筒
  • 挖掘机指数告诉你不一样的中国经济

    大数据文摘
  • 腾讯设计精品课首发

    腾讯ISUX
  • 大数据思维与数据挖掘能力正成为大型商业银行核心竞争力

    大数据文摘
  • 一文看懂数据预处理最重要的3种思想和方法

    导读:本文我们考虑应当采用哪些预处理步骤,让数据更加适合挖掘。数据预处理是一个广泛的领域,包含大量以复杂的方式相关联的不同策略和技术。我们将讨论一些最重要的思想...

    华章科技
  • 干货分享|达观数据情感分析架构演进

    在互联网日益发达的今天,许多消费者不管是通过线上电商网站或者线下门店购买商品后,包括买车、买手机等,都会到品牌官网或者一些专业网站甚至社交媒体去发表对产品的评价...

    达观数据
  • 面试机器学习、数据挖掘等大数据岗位必备

    ? part1—-面试常见内容及面试技巧 机器学习、大数据相关岗位的职责 自己参与面试的提供算法岗位的公司有 BAT、小米、360、飞维美地、宜信、猿题库 等...

    小莹莹
  • 我在面试机器学习、大数据岗位时遇到的各种问题

    自己的专业方向是机器学习、数据挖掘,就业意向是互联网行业与本专业相关的工作岗位。各个企业对这类岗位的命名可能有所不同,比如数据挖掘/自然语言处理/机器学习算法工...

    小莹莹
  • 给应聘分析/数据科学公司的校园新生应聘者的一些建议

    作者:@太极儒 出处:@太极儒的博客 自己的专业方向是机器学习、数据挖掘,就业意向是互联网行业与本专业相关的工作岗位。各个企业对这类岗位的命名可能有所不同...

    机器学习AI算法工程
  • 【机器学习】我在面试机器学习、大数据岗位时遇到的各种问题

    自己的专业方向是机器学习、数据挖掘,就业意向是互联网行业与本专业相关的工作岗位。各个企业对这类岗位的命名可能有所不同,比如数据挖掘/自然语言处理/机器学习算法工...

    陆勤_数据人网
  • 主编推荐 | 学会数据分析背后的挖掘思维,分析就完成了一半!

    主编推荐:通过言简意赅的语言把数据挖掘的原理、建模过程、数据分析和数据挖掘关系说的比较清楚,适合入门者了解相关概念。 正文如下: 在数据分析中,模型是非常有用和...

    小莹莹
  • 基于多维数据频繁项挖掘的母机隐患排查

    本文首先通过“啤酒与尿布”的故事入手,介绍机器学习中常见问题——频繁项挖掘的应用背景;其次,简要介绍频繁项挖掘最常用的两种算法——Apriori算法和FP-gr...

    roganhuang
  • 面试机器学习、大数据岗位时遇到的各种问题

    作者:@太极儒 自己的专业方向是机器学习、数据挖掘,就业意向是互联网行业与本专业相关的工作岗位。各个企业对这类岗位的命名可能有所不同,比如数据挖掘/自然语言处理...

    机器学习AI算法工程
  • 数据的分类(Data Classification)常识(3)

    大数据是驱动机器学习等业务的燃料,机器学习构成了人工智能(AI)的基石。通过挖掘(和分析)大数据,人们能够发现某种模式,以更好地理解事情发生的原因。然后,他们还...

    秦陇纪
  • 《R语言游戏数据分析与挖掘》新书推荐

    作者:谢佳标 微软中国MVP,多届中国R语言大会演讲嘉宾,目前在创梦天地担任高级数据分析师一职, 作为创梦天地数据挖掘组的负责人,带领团队对游戏数据进行深度挖掘...

    小莹莹
  • ☞【PPT】数据挖掘方法及案例介绍

    1、数据挖掘的引入 面对山一样高的,海一样广的数据,我们该怎么办? ? 数据挖掘中的5W问题 ❶为什么要使用数据挖掘? ❷数据挖掘是什么? ❸谁在使用数据挖掘?...

    小莹莹
  • 数据挖掘思维如何炼成!

    在数据分析中模型是非常有用和有效的工具和数据分析应用的场景,在建立模型的过程中,数据挖掘很多时候能够起到非常显著的作用。伴随着计算机科学的发展,模型也越来越向智...

    Python数据科学
  • 零经验转行数据分析,需要做什么准备?

    毕业后我去了一家世界500强企业,从事的是搭建手机通信芯片里面一个小电路的工作。干了一年半,在转行的念头中挣扎了半年,然后裸辞回家,思考人生。

    猴子聊数据分析
  • 【BDTC 2015】互联网大数据分论坛:滴滴、百度、京东等大数据实践

    2015年12月10-12日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所、北京中科天玑科技有限公司与CSDN共同协办,...

    CSDN技术头条

扫码关注云+社区

领取腾讯云代金券