当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Tensorflow.js tf.data.csv()用法及代码示例


Tensorflow.js是Google开发的开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。

tf.data.csv() 函数用于通过从提供的 URL 或本地路径读取和解码 CSV 文件来创建 CSV-Dataset。

用法:

tf.data.csv(source, csvConfig);

参数:该方法接受以下两个参数。

  • source:它是获取 CSV 文件的 URL 或本地路径。
  • csv-Config:它是一个 CSV-Config 对象,包含从 CSV 文件读取和解码的配置,它是一个可选参数,具有以下属性。
    • hasHeader:它用于指示提供的 CSV 文件的第一行是否是带有列名的标题行,不应包含在数据中。
    • columnNames:它用于表示与 CSV 列名称对应的字符串列表。
    • columnConfigs:一个字典,其键是列名,值是一个对象,说明是否需要该列,列的数据类型默认值,以及该列是否是标签。它有以下键:
      • required:如果将其设置为 true,则用于使此列中的值成为必需。
      • dtype:用于表示该列的数据类型。
      • Default:用于表示该列的默认值。
      • IsLabel:用于指示该列是否是标签而不是特征。
      • configuredColumnsOnly:如果将其设置为 true,则只有 columnconfigs 中提供的列才会在迭代期间被解析和提供。
      • delimiter:它用于表示用于解析输入文件每一行的字符串。
      • delimWhitespace:确实如此,分隔符字段应该为空,解析分隔符是空格并将连续的多个空格视为一个分隔符。

返回值:它返回 tf.data.CSVDataset 对象。



范例1:在此示例中,我们将通过提供 URL 和数据集中的谓词单列来读取和解码 CSV 文件来创建数据集。

Javascript


// Requiring module
const tf = require("@tensorflow/tfjs")
  
// Sample CSV data link
const csvUrl = `https://storage.googleapis.com/tfjs-examples/
multivariate-linear-regression/data/boston-housing-train.csv`;
  
async function predicateSingleColumn() {
    // We want to predict single column "indus".
    const list = ['crim', 'zn', 'indus',
        'chas', 'nox', 'rm',
        'age', 'dis', 'rad',
        'tax', 'ptratio',
        'lstat', 'medv'];
    const csvDataset = tf.data.csv(
        csvUrl, {
        hasHeader:true,
        columnNames:list,
        columnConfigs:{
            indus:{
                isLabel:true
            }
        },
        cofiguredColumnsOnly:true,
        delimWhitspace:true
    });
    console.log(csvDataset)
}
  
// Function call
predicateSingleColumn();

输出:

CSVDataset {
  size:null,
  input:URLDataSource {
    url:'https://storage.googleapis.com/tfjs-examples/\n' +
      'multivariate-linear-regression/data/boston-housing-train.csv',
    fileOptions:{}
  },
  hasHeader:true,
  fullColumnNames:[
    'crim',    'zn',
    'indus',   'chas',
    'nox',     'rm',
    'age',     'dis',
    'rad',     'tax',
    'ptratio', 'lstat',
    'medv'
  ],
  columnNamesValidated:false,
  columnConfigs:{ indus:{ isLabel:true } },
  configuredColumnsOnly:undefined,
  delimiter:',',
  delimWhitespace:false,
  base:TextLineDataset {
    size:null,
    input:URLDataSource {
      url:'https://storage.googleapis.com/tfjs-examples/\n' +
        'multivariate-linear-regression/data/boston-housing-train.csv',
      fileOptions:{}
    }
  }
}

范例2:在此示例中,我们将通过提供 URL 和谓词数据集中的多个列来读取和解码 CSV 文件来创建数据集。

Javascript


// Requiring module
const tf = require("@tensorflow/tfjs")
  
// Sample CSV data link
const csvUrl = `https://storage.googleapis.com/tfjs-examples/
multivariate-linear-regression/data/boston-housing-train.csv`;
  
async function predicateMultipleColumns() {
    // We want to predict the multiple column.
    const list = ['crim', 'zn', 'indus',
        'chas', 'nox', 'rm',
        'age', 'dis', 'rad',
        'tax', 'ptratio',
        'lstat', 'medv'];
    const csvDataset = tf.data.csv(
        csvUrl, {
        hasHeader:true,
        columnNames:list,
        columnConfigs:{
            indus:{
                isLabel:true
            },
            rad:{
                isLabel:true
            },
            ram:{
                isLabel:true
            }
        },
        cofiguredColumnsOnly:true,
        delimWhitspace:true
    });
    console.log(csvDataset)
}
  
// Function call
predicateMultipleColumns();

输出:

CSVDataset {
  size:null,
  input:URLDataSource {
    url:'https://storage.googleapis.com/tfjs-examples/\n' +
      'multivariate-linear-regression/data/boston-housing-train.csv',
    fileOptions:{}
  },
  hasHeader:true,
  fullColumnNames:[
    'crim',    'zn',
    'indus',   'chas',
    'nox',     'rm',
    'age',     'dis',
    'rad',     'tax',
    'ptratio', 'lstat',
    'medv'
  ],
  columnNamesValidated:false,
  columnConfigs:{
    indus:{ isLabel:true },
    rad:{ isLabel:true },
    ram:{ isLabel:true }
  },
  configuredColumnsOnly:undefined,
  delimiter:',',
  delimWhitespace:false,
  base:TextLineDataset {
    size:null,
    input:URLDataSource {
      url:'https://storage.googleapis.com/tfjs-examples/\n' +
        'multivariate-linear-regression/data/boston-housing-train.csv',
      fileOptions:{}
    }
  }
}

参考:https://js.tensorflow.org/api/latest/#data.csv




相关用法


注:本文由纯净天空筛选整理自satyam00so大神的英文原创作品 Tensorflow.js tf.data.csv() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。