1

我想使用 sklearn 进行 pca 分析(然后是回归和 kmeans 聚类)。我有一个包含 20k 特征、2000k 行的数据集。然而,对于数据集中的每一行,只测量了特征的一个子集(通常是 20k 中的任何 5 个左右)。

我应该如何填充我的 pandas 数据框/设置 sklearn,以便 sklearn 不对未测量值的实例使用功能?(例如,如果我将空特征值设置为 0.0,这会扭曲结果吗?)。

例如:

X = array[:,0:n]
Y = array[:,n]
pca = PCA()
fit = pca.fit(X)

如果大多数特征值用零填充数据集 - 那么 pca 是否有效?

4

1 回答 1

1

我看到 3 个选项,但是没有一个选项可以解决您的问题:

1)您将空值替换为 0,但这肯定会恶化您的结果;

2)你用每个特征的平均值或中值替换未知值,这可能会更好,但它仍然会给你一个扭曲的 PCA;

3)最后一个选项不使用 PCA 并为稀疏数据搜索降维技术。

于 2016-10-27T13:41:30.703 回答