如何解决规范相关分析 (CCA) 输出错误的标签编码?
主要问题
我正在实施 sklearn
CCA 分类器。我原以为分类会返回整数,就像我用于标签的整数一样,但它返回浮点数:
[Label] 0 vs. 0.99999994 [Predict]
[Label] 0 vs. 1.00000062 [Predict]
[Label] 1 vs. 1.00000042 [Predict]
[Label] 1 vs. 0.99999991 [Predict]
[Label] 2 vs. 0.99999998 [Predict]
[Label] 2 vs. 0.99999945 [Predict]
即使我使用整数作为输入标签,CCA 输出也会浮动是否正常?
实验详情
实验可以有三种可能的输出。对于每个输出,我一直使用简单的标签编码(输出 1 = 0,输出 2 = 1,输出 3 = 2)。对于训练,输入有 63 个特征和 81 个样本(取决于训练模式,最多可以有 441 个样本),我目前仅使用一个组件进行 CCA 分类。
我的实现的一个粗略示例(我无法再重现,因为我们的数据仍然保密):
from sklearn.cross_decomposition import CCA
CCA_model = CCA(n_components = 1)
#Gets features and labels from training dataset and creates model
model = CCA_model.fit(feature_set,label_set)
#Gets features and labels from validation dataset and predicts `y` & compares with real label `ll`
y = CCA_model.predict(feat)
print('[Label]',ll,'vs.',y,' [Predict]')
这让我感到奇怪
- 如果这是由于我的标记方法引起的,应该更像是 One-Hot encoding 或类似的东西
- 如果我的数据集太小(因为 CCA 以需要大量数据而闻名[Finding the needle in high-dimensional haystack: A tutorial on canonical correlation analysis]),这就是分类如此糟糕的原因
- 如果这是由于我当前使用的组件数量过多,并且有更多(2 个或 3 个甚至更多),那么分类器会更容易
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。