Я работаю над векторизованной реализацией линейной регрессии с использованием градиентного спуска. Чтобы определить, как далеко находятся веса, я использую r ^ 2 statisti c, но когда я пытаюсь получить остаточную и общую ошибку, у меня возникают проблемы с тензорным потоком. js method "get ( )».
Мой код выглядит следующим образом:
function test(tfeatures, tlabels) {
tfeatures = tf.tensor(tfeatures);
tlabels = tf.tensor(tlabels);
tfeatures = tf.ones([tfeatures.shape[0],1]).concat(tfeatures, 1);
const predictions = tfeatures.matMul(global.weights);
let tactual = tlabels.sub(predictions).pow(2).sum().get();
let tresidual = tlabels.sub(tlabels.mean()).pow(2).sum().get();
return 1-(tresidual/tactual);
}
//Assume global.weights is a tensor of shape [2,1].
Когда я пытаюсь выполнить этот код в небольших редакторах, у меня нет проблем, однако, когда я пытаюсь выполнить через командную строку, я получаю ошибка:
TypeError: tlabels.pow(...).sum(...).sub(...).get is not a function
at test (/home/runner/BasicFittingTests/index.js:7:48)
at /home/runner/BasicFittingTests/index.js:20:8
at Script.runInContext (vm.js:133:20)
at Object.<anonymous> (/run_dir/interp.js:156:20)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
Любая помощь приветствуется. Спасибо.