【问题标题】:Read CSV file with features and labels in the same row in Tensorflow在 Tensorflow 的同一行中读取具有特征和标签的 CSV 文件
【发布时间】:2018-12-07 22:16:56
【问题描述】:

我有一个包含大约 5000 行和 3757 列的 .csv 文件。每行的前 3751 列是特征,最后 6 列是标签。每行是一组特征-标签对。

我想知道是否有内置函数或任何我可以的快速方法:

  1. 将前 3751 列解析为特征(这些列没有标题)
  2. 将最后 6 列中的任何一个解析为标签,这意味着我想将最后 6 列中的任何一个作为标签进行训练。

基本上我想训练一个具有 3751 个特征和 1 个标签的 DNN 模型,我希望将解析函数的输出输入以下函数进行训练:

train_input_fn = tf.estimator.inputs.numpy_input_fn(
      x={"x": np.array(training_set.data)},
      y=np.array(training_set.target),
      num_epochs=None,
      shuffle=True) 

我知道像“tf.contrib.learn.datasets.base.load_csv_without_header”这样的一些函数可以做类似的事情,但它已经被弃用了。

【问题讨论】:

    标签: python python-3.x pandas tensorflow


    【解决方案1】:

    您可以查看tf.data.Dataset 的输入管道 (LINK)。你基本上做的是你可以读取一个 csv 文件,可能以某种方式对其进行批处理/随机播放/映射,并在数据集上创建一个迭代器。每当您评估 iterator.get_next() 时,您都会从 csv 中获得与批量大小相等的行数。关于特征和标签的分离,您可以使用标准 python 语法简单地访问批处理的单个元素,例如features = batch[:-6]label = batch[-1] 并将它们提供给您喜欢的任何功能。

    在 tensorflow 网站上,有一个关于如何使用这些输入管道 (LINK) 的深入教程。

    【讨论】:

      【解决方案2】:
      train_features_interim = []
        train_labels_interim = []
        with open(train_file) as f:
            csvreader = csv.reader(f)
            for row in csvreader:
                train_features_interim.append(row)  
      
        train_features_interim = pd.DataFrame(train_features_interim)      
        a = len(train_features_interim.columns)-6
        train_labels_interim = train_features_interim.iloc[:, a:a+1]   #train one label first
        train_features_interim = train_features_interim.iloc[:, :a]
        train_features_numpy = np.asarray(train_features_interim, dtype=np.float32)
        train_labels_numpy = np.asarray(train_labels_interim, dtype=np.float32)
      

      我现在有这个工作。虽然它不是很干净,但它确实有效。我可以调整“a:a+1”部分来决定我想放入多少(或哪些)列 inot train_labels_interim。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-17
        • 2013-07-24
        • 2020-12-24
        • 2022-06-30
        相关资源
        最近更新 更多