vik*_*kky 20 python machine-learning data-mining scikit-learn
根据我的理解,我认为PCA只能用于连续功能.但是,虽然试图理解onehot编码和标签编码之间的区别来自以下链接中的帖子:
何时使用One Hot Encoding vs LabelEncoder vs DictVectorizor?
它指出PCA之后的一个热编码是一种非常好的方法,这基本上意味着PCA应用于分类特征.因此困惑,请建议我一样.
Ano*_*sse 33
我不同意其他人的意见.
虽然你可以在二进制数据(例如单热编码数据)上使用PCA,但这并不意味着它是一件好事,或者它可以很好地工作.
PCA被设计为连续变量.它试图最小化方差(=平方偏差).当你有二元变量时,平方偏差的概念会崩溃.
所以是的,你可以使用PCA.是的,你得到一个输出.它甚至是一个最小平方的输出 - 它不像PCA会对这些数据进行分段.它有效,但它的意义远不如你想要的那么有意义 ; 并且据说比频繁模式挖掘更有意义.
小智 10
MCA 是用于分类数据降维的已知技术。在 R 中有很多包可以使用 MCA,甚至在混合上下文中与 PCA 混合使用。在 python 中也存在一个 mca 库。MCA 应用了与 PCA 类似的数学,实际上法国统计学家曾经说过,“数据分析是找到正确的矩阵来对角化”
http://gastonsanchez.com/visually-enforced/how-to/2012/10/13/MCA-in-R/
基本上,PCA 发现并消除特征集上信息量较少(重复)的信息并降低特征空间的维数。换句话说,想象一个 N 维的超空间,PCA 找到了数据变化最大的 M (M < N) 个特征。通过这种方式,数据可以表示为 M 维特征向量。从数学上讲,它是某种特征空间的特征值和特征向量计算。
因此,特征是否连续并不重要。
PCA 广泛用于许多应用程序。主要用于在分类/识别之前消除来自某些传感器或硬件的嘈杂、信息较少的数据。
编辑:
从统计学上讲,分类特征可以看作是区间 [0,1] 中的离散随机变量。期望 E{X} 和方差 E{(XE{X})^2) 的计算对于离散 rvs 仍然有效且有意义。在分类特征的情况下,我仍然支持 PCA 的适用性。
考虑这样一种情况,您想预测“某一天是否会下雨”。您有分类特征 X,即“我是否必须在特定日期上班”,1 表示是,0 表示否。显然天气状况不取决于我们的工作时间表,所以 P(R|X)=P(R)。假设每周工作 5 天,在我们随机收集的数据集中,X 的 1 比 0 多。PCA 可能会导致在您的特征表示中删除这种低方差维度。
归根结底,PCA 用于降维,同时将信息损失降至最低。直观地说,我们依靠给定轴上数据的方差来衡量其对任务的有用性。我认为将其应用于分类特征没有任何理论上的限制。实际价值取决于应用和数据,连续变量也是如此。
在对被视为单纯形顶点的分类变量计算 PCA 时,以下出版物显示了重要且有意义的结果:
Niitsuma H., Okada T. (2005) 分类变量的协方差和 PCA。见:Ho TB, Cheung D., Liu H. (eds) 知识发现和数据挖掘的进展。PAKDD 2005。计算机科学讲义,第 3518 卷。斯普林格,柏林,海德堡
可通过https://arxiv.org/abs/0711.4452(包括 PDF)获得。