首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用主成分分析法展开维数

用主成分分析法展开维数
EN

Data Science用户
提问于 2022-03-14 20:15:44
回答 2查看 124关注 0票数 1

我试图使用the算法进行降维,我知道这不是这个算法的主要用途,也不推荐。我看到了一个在t上实现的这里。,我不相信这个实现。

该算法的工作方式如下:

  1. 给定训练数据集和测试数据集,将2合并成一个完整的数据集。
  2. 在完整数据集上运行the (不包括目标变量)
  3. 将the的输出作为K个新列添加到完整的数据集中,K是the的映射维数。
  4. 将整个数据集重新分割为培训和测试。
  5. 将训练数据集分割成N个折叠
  6. 在N个折叠上训练机器学习模型并做N个交叉验证。
  7. 在测试数据集中评估机器学习模型

我的主要问题不是关于the但是;

  • 在数据转换之前,我可以将数据集分割成训练集和测试集,用于其他降维算法(如PCA )吗?
  • 这会有效吗?

维度对于我的数据集来说不是一个问题,因为它已经是一个小问题。拥有高度相关的特征也不重要。

EN

回答 2

Data Science用户

回答已采纳

发布于 2022-03-14 20:55:55

只有当由流形学习( the )创建的嵌入捕捉到特征本身不具备的信息时,您的算法才能工作。

正如注释中提到的,如果使用the,则必须对相同的数据进行拟合和预测,从而导致泄漏。另一种选择是使用UMAP,所以您的方法是:

对于K (number_of_folds):

  1. 将UMAP安装在火车上,不包括目标变量。
  2. 将UMAP的输出作为U新列添加到完整的数据集中,U是UMAP的映射维度。
  3. K-1折叠上训练您的机器学习模型。
  4. 评估K折叠上的机器学习模型。
票数 0
EN

Data Science用户

发布于 2022-03-14 20:37:47

这种方法让我觉得是一种糟糕的做法,因为它立刻摧毁了拥有任何独立测试数据的希望,从而对算法性能进行了公正的测量。通过合并所有数据并执行the,您将生成在培训和测试数据中都具有解释力的the功能。无论之后如何分割数据,都不可能有真正独立的测试数据,因为所有的数据首先都用于定义特性。

看到这种方法的性能统计数据有了明显的改善,我一点也不感到惊讶,因为这是一种偏颇的方法,它“窥探”了测试数据,而且可能过于乐观。在分割成火车/测试数据集之前,您不应该执行特征选择/降维,否则,您将使用测试数据污染过程,而测试数据只应在模型建立之后使用。将测试数据用于测试以外的任何东西(在这种情况下,降维)将在评估中引入偏差。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/109042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档