【问题标题】:how many classes h2o deep learning algorithm accepts?h2o 深度学习算法接受多少类?
【发布时间】:2018-12-10 01:46:39
【问题描述】:

我想预测响应变量,它有 700 个类。

深度学习模型参数

from h2o.estimators import deeplearning

dl_model = deeplearning.H2ODeepLearningEstimator(
                                    hidden=[200,200],
                                    epochs  = 10,
                                missing_values_handling='MeanImputation',
                                max_categorical_features=4,
                                distribution='multinomial'
                            )

# Train the model
dl_model.train(x = Content_vecs.names,
                y='tags',
               training_frame   = data_split[0],
               validation_frame = data_split[1]
               )

Orginal Response Variable -Tags: 
apps, email, mail
finance,freelancers,contractors,zen99
genomes
gogovan
brazil,china,cloudflare
hauling,service,moving
ferguson,crowdfunding,beacon
cms,naytev
y,combinator
in,store,
conversion,logic,ad,attribution

Response variable tags: 
[74]
[156, 89]
[153, 13, 133, 40]
[150]
[474, 277, 113]
[181, 117]
[15, 87, 8, 11]

错误:

OSError:密钥为 $03017f00000132d4ffffffff$_8355bcac0e9e98a86257f45c180e4898 的作业失败并出现异常:java.lang.UnsupportedOperationException:无法计算错误:类太多

堆栈跟踪: java.lang.UnsupportedOperationException:无法计算错误:类太多 在 hex.ConfusionMatrix.err(ConfusionMatrix.java:92)

但是在 h2o-core/src/main/java/hex/ConfusionMatrix.javaConfusionMatrix.java 写的是它可以计算1000个类。

【问题讨论】:

    标签: python-3.x deep-learning h2o multilabel-classification


    【解决方案1】:

    当你说你有 700 个类时,你的意思是你的响应变量是由这 700 个唯一数字的 数组 组成的吗?因为你举了这个例子:

    Response variable tags: 
    [74]
    [156, 89]
    [153, 13, 133, 40]
    [150]
    [474, 277, 113]
    [181, 117]
    [15, 87, 8, 11]
    

    H2O 无法预测数组。每个独特的数字组合都将计为一个类别。因此,从 H2O 的角度来看,您可能有 700 多个课程。

    如果您查看 Flow (http://127.0.0.1:54321/) 上的数据,它会告诉您“标签”中有多少个独特级别。 (您也可以从 python API 获取它,在框架上使用 describe(),或在相关列上使用 categories() 将列出所有级别。)

    你的下一个问题是如何处理这个问题。我建议提出一个新问题,在其中解释 700 值和数组代表什么;它几乎肯定会涉及一些特定领域的预处理。不过你可以试试categorical_encoding http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/categorical_encoding.html

    【讨论】:

    • 是的,响应变量由这 700 个唯一数字组成的数组组成,但我想预测一行中的两个或三个数字,而不是数组。因此,如果我想预测数字,那么我的响应变量在传递给深度学习之前的样子以及我的 categorical_encoding 是什么,它是 eigen 还是 label_encoder
    猜你喜欢
    • 2017-01-02
    • 2016-07-25
    • 1970-01-01
    • 2017-01-05
    • 2018-01-08
    • 2015-12-31
    • 1970-01-01
    • 2017-04-11
    • 2016-10-14
    相关资源
    最近更新 更多