Tensorflow:我一直不确定

时间:2019-08-10 14:07:23

标签: tensorflow

我正在尝试使用Tensorflow进行分析,但我一直不确定。我试图修改自己的版本,并要求语句,甚至重构了knn,结果仍然无法解决undefined的问题。

testLabels应该是一个数组数组,所以我要从中获取行和美元值。

require("@tensorflow/tfjs-node");
const tf = require("@tensorflow/tfjs");
const loadCSV = require("./load-csv");

function knn(features, labels, predictionPoint, k) {
  features
    .sub(predictionPoint)
    .pow(2)
    .sum(1)
    .pow(0.5)
    .expandDims(1)
    .concat(labels, 1)
    .unstack()
    .sort((a, b) => (a.get(0) > b.get(0) ? 1 : -1))
    .slice(0, k)
    .reduce((acc, pair) => acc + pair.get(1), 0) / k;
}

let { features, labels, testFeatures, testLabels } = loadCSV(
  "kc_house_data.csv",
  {
    shuffle: true,
    splitTest: 10,
    dataColumns: ["lat", "long"],
    labelColumns: ["price"]
  }
);

features = tf.tensor(features);
labels = tf.tensor(labels);

const result = knn(features, labels, tf.tensor(testFeatures[0]), 10);
console.log("Guess", result, testLabels[0][0]);

我继续得到这个结果:

Guess undefined 1085000

我已经在所有位置记录了控制台,除了变量result以外,什么都没有返回:

console.log("Guess", result, testLabels[0][0]);

所以问题似乎出在knn算法本身上,但是我不知道它是什么。

0 个答案:

没有答案