首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS机器学习算法中的.get(0)不起作用

JS机器学习算法中的.get(0)不起作用
EN

Stack Overflow用户
提问于 2021-03-09 20:22:21
回答 1查看 29关注 0票数 1

我正在创建我的第一个学习机器学习的KNN Algo。我正在看一个在线的基础课程来解释它,我感觉我和他做的完全一样。

但是当我运行它的时候,我得到了js的一个非常基本的错误。我正在使用TensorFlow。

代码语言:javascript
复制
.sort((a, b) => (a.get(0) > b.get(0) ? 1 : -1))
                     ^
TypeError: a.get is not a function

代码语言:javascript
复制
require('@tensorflow/tfjs-node');
const tf = require('@tensorflow/tfjs');
const loadCSV = require('./load-csv');

function knn(features, labels, predictionPoint, k) {
  return (
    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);
console.log(features, labels, tf.tensor(testFeatures[0]), 10);
const result = knn(features, labels, tf.tensor(testFeatures[0]), 10);
console.log('Guess', result, testLabels[0][0]);
console.log(features);

顶部的日志,以查看传入函数的内容。

代码语言:javascript
复制
Tensor {
  kept: false,
  isDisposedInternal: false,
  shape: [ 21602, 2 ],
  dtype: 'float32',
  size: 43204,
  strides: [ 2 ],
  dataId: { id: 0 },
  id: 0,
  rankType: '2'
} Tensor {
  kept: false,
  isDisposedInternal: false,
  shape: [ 21602, 1 ],
  dtype: 'float32',
  size: 21602,
  strides: [ 1 ],
  dataId: { id: 1 },
  id: 1,
  rankType: '2'
} Tensor {
  kept: false,
  isDisposedInternal: false,
  shape: [ 2 ],
  dtype: 'float32',
  size: 2,
  strides: [],
  dataId: { id: 2 },
  id: 2,
  rankType: '1'
} 10

EN

回答 1

Stack Overflow用户

发布于 2021-03-09 20:54:00

经过长时间的研究,花了很多时间。

TensorFlow删除了您将使用的.get函数,而不是arraySync。例如。

代码语言:javascript
复制
pair.get(1)[0]

将是:

代码语言:javascript
复制
pair.arraySync(1)[0]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66546790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档