當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。