You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将neuralnet输出的分类矩阵转换为单列因子?

解决neuralnet预测结果矩阵转单列因子的问题

你可以通过以下步骤将3列的预测矩阵转换为与原数据class列格式一致的单列因子:

  • 提取类别编号
    利用max.col()函数获取每行中值为1的列的索引(你的矩阵每行仅有一个1,对应类别1/2/3),这个索引就是对应的类别编号:

    # 获取每行对应的类别编号
    pred_class_num <- max.col(pred.wine.nn.5.5)
    
  • 转换为匹配格式的因子
    将得到的类别编号转换为因子,并指定其水平与原数据框的class列完全一致,确保格式匹配:

    # 转换为因子,对齐原class列的水平
    pred_class_factor <- factor(pred_class_num, levels = levels(wine.test$class))
    

补充说明

  • 如果原class列的水平顺序不是默认的1、2、3(比如是字符型或自定义顺序),levels = levels(wine.test$class)会保证新因子的水平顺序、类型完全和原列一致。
  • 也可以用apply(pred.wine.nn.5.5, 1, which.max)替代max.col(),但max.col()在处理大矩阵时效率更高。

内容的提问来源于stack exchange,提问作者Tuan Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 05:27:38