数据降维与无监督学习技术解析
1. 选择合适的降维维度
在进行数据降维时,随意选择降维的维度通常不是一个好方法。更可取的做法是选择能累积到足够大比例方差(例如 95%)的维度数量。不过,如果降维是为了数据可视化,一般会将维度降至 2 维或 3 维。
以下代码展示了如何在不进行降维的情况下计算 PCA,然后找出保留训练集 95% 方差所需的最小维度数:
pca = PCA()
pca.fit(X_train)
cumsum = np.cumsum(pca.explained_variance_ratio_)
d = np.argmax(cumsum >= 0.95) + 1
之后可以将 n_components 设置为 d 并再次运行 PCA。但还有更好的选择,即可以将 n_components 设置为 0.0 到 1.0 之间的浮点数,表示希望保留的方差比例:
pca = PCA(n_components=0.95)
X_reduced = pca.fit_transform(X_train)
另一种方法是绘制解释方差随维度数量变化的曲线(即绘制 cumsum )。通常曲线会有一个“肘部”,在这个点之后解释方差的增长速度会变慢。可以将这个点视为数据集的内在维度。在这种情况下,将维度降至约 100 维不会损失太多解释方差。
超级会员免费看
订阅专栏 解锁全文
769

被折叠的 条评论
为什么被折叠?



