我们如何应用 PCA 来降低异构数据集的维数?

数据挖掘 机器学习 scikit-学习 主成分分析
2022-03-03 01:07:18

我有一个数据集,其中包含带有定量和定性变量的保险索赔,但 PCA 拒绝转换或使用“字符串”类型变量。

这是我使用的代码:

from sklearn.decomposition import PCA
claims=pd.read_csv('./insurance_claims.csv',sep=',',header=0)
X=claims.ix[:,1:].values
pca=PCA(n_components=12)
pca.fit(X)

我正在尝试降低维度以对数据集进行聚类并检测欺诈性索赔。如果对于异构数据有任何替代 PCA 的方法,我们将不胜感激。

1个回答

是的,因为机器无法量化定性(或)有时称为分类数据。当与定量数据一起处理时,我们必须手动量化数据。转换这些分类数据的一种方法是一次热编码,通过执行一次热编码,您可以将分类数据转换为数字数据,这是机器可以理解的。在某些情况下,一次热编码会失败。当类别数量很高时,您将获得高度稀疏的特征,这毫无意义例如:国家作为类别标签。在这些类型的情况下,您可以计算所有国家与地球上某个点的距离 例如:计算每个国家与赤道的距离。我只是DS的初学者。