【问题标题】:Scikit-Learn cross validation with two inputs, one outputScikit-Learn 交叉验证,两个输入,一个输出
【发布时间】:2020-02-08 10:26:07
【问题描述】:

我正在构建一个 CNN 模型来对数据进行分类,并且正在研究使用 Scikit-Learn 进行交叉验证。我正在使用两个输入,并且想知道如何使用两个输入进行交叉验证。

据我所知,它只接受 X 输入和 y 输出,并尝试使用输入列表,但它们被读取为单个列表。

我已使用以下代码遍历一个模型并对其进行交叉验证,但是我没有看到任何使用两个输入进行交叉验证的方法。

np.random.seed(seed)
kfold = StratifiedKfold(n_splits=10m shuffle=True, random_state=seed)
for train, test in kfold.split(x, y):
  input = Input(shape=(100, 150, 1))
  dense = Dense(2, activation='relu')(input)
  output = Dense(1, activation='relu')(dense)
  model = Model(input, output)
  model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
  model.fit(X[train], Y[train], epochs=150, batch_size=10, verbose=0)
  scores = model.evaluate(X[test], Y[test], verbose=0)
  print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
  cvscores.append(scores[1] * 100)
print("%.2f%% (+/- %.2f%%)" % (numpy.mean(cvscores), numpy.std(cvscores)))

【问题讨论】:

    标签: tensorflow machine-learning keras scikit-learn


    【解决方案1】:

    我知道这有点晚了,但希望它对遇到同样问题的人有用。

    一种可能的解决方案是连接两个输入,然后在循环内相应地拆分它们。

    举个例子:

    我已经将两个输入连接到“x_agg”中,第一个输入有 2001 列。

    for train_index, valid_index in kfold.split(x_agg, y):
            X_train_fold = x_agg[train_index]
            X_valid_fold = x_agg[valid_index]
            y_train_fold = y[train_index]
            y_valid_fold = y[valid_index]
    
            x_train_global = X_train_fold[0:, :2001] # Split First Input (Training)
            x_train_local = X_train_fold[0:, 2001:]  
            x_valid_global = X_valid_fold[0:, :2001] # Split First Input (Validation)
            x_valid_local = X_valid_fold[0:, 2001:]
    
        model.fit([x_train_global, x_train_local], y_train_fold,...]
        score = model.evaluate([x_valid_global, x_valid_local], y_valid_fold, verbose=0)[1]
    

    【讨论】:

      猜你喜欢
      • 2016-04-25
      • 2020-04-08
      • 2017-09-02
      • 1970-01-01
      • 2015-05-27
      • 2016-05-09
      • 2012-01-07
      • 2015-06-22
      • 2021-10-25
      相关资源
      最近更新 更多