我试图使用 t-SNE 算法进行降维,我知道这不是该算法的主要用途,因此不推荐。我在这里看到了一个实现。我不相信 t-SNE 上的这种实现。
该算法的工作原理如下:
- 给定一个训练数据集和一个测试数据集,将两者组合成一个完整的数据集
- 在整个数据集上运行 t-SNE(不包括目标变量)
- 获取 t-SNE 的输出并将其作为K个新列添加到完整数据集中,K是 t-SNE 的映射维数。
- 将整个数据集重新拆分为训练和测试
- 将训练数据集拆分为N折
- 在N折上训练您的机器学习模型并进行N折交叉验证
- 在测试数据集上评估机器学习模型
我的主要问题不是关于 t-SNE,而是;
- 我可以通过在转换数据之前将数据集拆分为训练集和测试集,将下面的这个算法用于其他降维算法,例如 PCA?
- 这会有效吗?
维度对我的数据集来说不是问题,因为它已经很小了。具有高度相关的特征也不重要。