我有一个传统的预测设置,有一个训练数据集train
和一个测试数据集test
。我不知道这组的y
结果test
。
我发现 tsne 很好地分离了我的二进制分类设置。但是,tsne 不能真正用于预测,就像predict(tsne, newdata=test)
PCA 可以做的那样。
这里最好的方法是什么?
我应该结合我的train
和test
设置(即,rbind
)并在整个数据集上运行 tsne 吗?
我有一个传统的预测设置,有一个训练数据集train
和一个测试数据集test
。我不知道这组的y
结果test
。
我发现 tsne 很好地分离了我的二进制分类设置。但是,tsne 不能真正用于预测,就像predict(tsne, newdata=test)
PCA 可以做的那样。
这里最好的方法是什么?
我应该结合我的train
和test
设置(即,rbind
)并在整个数据集上运行 tsne 吗?
您可以尝试对组合的测试和训练数据执行 t-SNE,然后根据 -NN 与 t-SNE 坐标中的训练数据。
但是,我不相信 t-SNE 有任何保证,因此您可能需要寻找另一种方法。我关于使用可能性的问题-NN 与 t-SNE 在这里。
t-SNE 并不是这样设计的。由于 t-SNE 是非参数的,因此没有将数据从输入空间映射到映射的函数。标准方法通常是训练多元回归以根据输入数据预测地图位置。您可以在这篇论文t-SNE中了解更多相关信息。在论文中你应该注意到作者采用了直接最小化 t-SNE 损失的方法。
这是一种方法:
这可确保您的训练集和测试集之间没有数据泄漏。我相信这种方法是一种将 t-SNE 带入二元分类图的 hacky 方式。
请注意,t-SNE 主要用于高维数据点的可视化,而不是为分类模型提取好的特征。您可以使用 t-SNE 可视化观察到类之间的明显分离这一事实意味着可以使用非线性分类算法轻松地将数据建模为二进制分类任务。
如果我是你,我会考虑使用 ELM、带有非线性内核的 SVM 或带有正则化的旧式 Logistic 回归。