Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
keras::fit()错误中的class_权重参数。类存在于数据中,但不存在于类中_R_Class_Keras_Deep Learning - Fatal编程技术网

keras::fit()错误中的class_权重参数。类存在于数据中,但不存在于类中

keras::fit()错误中的class_权重参数。类存在于数据中,但不存在于类中,r,class,keras,deep-learning,R,Class,Keras,Deep Learning,我有一个稍微不平衡的数据集,我试图给它分配权重 中提供的示例不适用于我。当我尝试使用相同的代码时: system.time ( baseline_history <- fit ( object = model_baseline, x = as.matrix(x_train_tbl), y = y_train_vec, ba

我有一个稍微不平衡的数据集,我试图给它分配权重

中提供的示例不适用于我。当我尝试使用相同的代码时:

system.time ( 
  baseline_history <- fit (
    object           = model_baseline,            
    x                = as.matrix(x_train_tbl), 
    y                = y_train_vec,             
    batch_size       = 1024,    
    epochs           = 30,    
    class_weight = list("0" = 1, "1" = 1.67),
    validation_split = 0.2) )
我有点不知所措,因为我在class_weights中明确指出它是一个列表。我甚至试过

weights <- list("0" = 1, "1" = 1.67)
> weights
$`0`
[1] 1

$`1`
[1] 1.67

is.list(weights)
[1] TRUE
权重
$`0`
[1] 1
$`1`
[1] 1.67
is.列表(权重)
[1] 真的

为了确保它工作,但我仍然得到相同的错误。有什么想法吗?

我假设你有你的
y\u train\u vec
作为一个因素,这就是问题所在

出于某种原因,
class_weight
似乎不能很好地处理因子,因此您可以简单地将其更改为数值

y\u train\u vec=as.numeric(y\u train\u vec)

这将为您提供因子的内部表示(它将为您提供1和2的列表),然后您可以相应地指定
class\u权重

system.time(
基线检查历史
weights <- list("0" = 1, "1" = 1.67)
> weights
$`0`
[1] 1

$`1`
[1] 1.67

is.list(weights)
[1] TRUE