RandomForest多类多输出分数?

时间:2019-09-07 18:48:12

标签: machine-learning scikit-learn random-forest

使用RandomForest时出现以下错误:

const trainingData = [
  { input: { [norm(3)]: 1 }, output: { [norm(9)]: 1 } },
  { input: { [norm(9)]: 1 }, output: { [norm(81)]: 1 } },
  { input: { [norm(6)]: 1 }, output: { [norm(36)]: 1 } },
  { input: { [norm(8)]: 1 }, output: { [norm(64)]: 1 } }
];

我认为这是因为我使用了多整数标签,而不是单引号标签。 我必须使用整数标签。

在我的场景中,有没有一种方法可以计算分数?

1 个答案:

答案 0 :(得分:0)

到目前为止,这似乎是正确的解决方案:

def scores(original, predicted):
  row_matches = np.sum(np.all(original == predicted, axis=1))
  row_total = float(original.shape[0])

  matches = np.sum(original == predicted)
  total = (row_total * original.shape[1])

  mse = ((original - predicted)**2).mean(axis=1).mean()


  return { 'acc_row' : row_matches/row_total, 'acc_items' : matches/total, 'mse': mse }