如何为csv数据集创建模型并使用TensorFlow JS计算预测结果

如何为csv数据集创建模型并使用TensorFlow JS计算预测结果,tensorflow,tensor,tensorflow.js,Tensorflow,Tensor,Tensorflow.js,我是TensorFlow JS的新手。 我按照TensorFlow JS文档创建模型,并训练它根据创建的模型计算预测结果 但我不知道如何为CSV文件训练创建的模型,并计算CSV文件中两列或更多列的预测结果 有没有人能给我一个用CSV文件创建、训练模型和计算预测结果的示例 const csvUrl = 'https://storage.googleapis.com/tfjs-examples/multivariate-linear-regression/data/boston-housing-tr

我是TensorFlow JS的新手。 我按照TensorFlow JS文档创建模型,并训练它根据创建的模型计算预测结果

但我不知道如何为CSV文件训练创建的模型,并计算CSV文件中两列或更多列的预测结果

有没有人能给我一个用CSV文件创建、训练模型和计算预测结果的示例

const csvUrl = 'https://storage.googleapis.com/tfjs-examples/multivariate-linear-regression/data/boston-housing-train.csv';

function save(model) {
    return model.save('downloads://boston_model');
}

function load() {
    return tf.loadModel('indexeddb://boston_model');
}

async function run() {
  // We want to predict the column "medv", which represents a median value of a
  // home (in $1000s), so we mark it as a label.
  const csvDataset = tf.data.csv(
    csvUrl, {
      columnConfigs: {
        medv: {
          isLabel: true
        }
      }
    });
  // Number of features is the number of column names minus one for the label
  // column.
  const numOfFeatures = (await csvDataset.columnNames()).length - 1;

  // Prepare the Dataset for training.
  const flattenedDataset =
    csvDataset
    .map(([rawFeatures, rawLabel]) =>
      // Convert rows from object form (keyed by column name) to array form.
      [Object.values(rawFeatures), Object.values(rawLabel)])
    .batch(10);

  // Define the model.
  const model = tf.sequential();
  model.add(tf.layers.dense({
    inputShape: [numOfFeatures],
    units: 1
  }));
  model.compile({
    optimizer: tf.train.sgd(0.000001),
    loss: 'meanSquaredError'
  });

  // Fit the model using the prepared Dataset
  model.fitDataset(flattenedDataset, {
    epochs: 10,
    callbacks: {
      onEpochEnd: async (epoch, logs) => {
        console.log(epoch, logs.loss);
      }
    }
  });

  const savedModel=save(model);
}

run().then(() => console.log('Done'));
使用可以使用csv文件训练模型

但是,浏览器无法直接读取文件。因此,您必须在本地服务器上提供csv文件

更新


您的模型只使用一个感知器。使用多个感知器有助于提高模型的准确性,即添加多个层。您可以查看它是如何完成的。

是否要使用单个模型来预测两列或更多列,或者用一个模型来预测每一列?@scai你能和我分享这两个吗?这样可以帮助我了解更多。我已经尝试过这个解决方案,但我从训练模型得到的预测结果与原始值相差太大。通过参考下面的链接,我想我错过了一些东西。如果您与示例模型共享一个示例代码片段以计算与此相关的预测结果,这将非常有用。如果您在问题中添加GitHub代码的相关部分以演示您迄今为止所做的工作,那么添加一个代码片段将更容易。您可以编辑问题。请从此链接中查找代码段。如果您进行必要的更改以计算给定列的预测结果,这将非常有用