将数据导入张量流的正确方法是什么?

时间:2018-11-17 15:23:57

标签: python tensorflow

我是Tensorflow的新手,正在尝试制作自己的小项目。我想将CSV文件作为数据集导入,然后将其拆分为训练和测试集,并能够从我的数据集中进行批量处理。
我的CSV文件包含3列数字,因此我设法找到了这些代码行

filenames = ['mydata.csv']
record_defaults = [tf.float32] * 3
dataset = tf.contrib.data.CsvDataset(filenames, record_defaults, header=True, select_cols=[1,2,3])

如何将该对象转换为张量或数据集,以便可以拆分数据或创建一批数据?

2 个答案:

答案 0 :(得分:0)

使用工具sklearn.model_selection.train_test_split拆分数据:

X_train, X_test, y_train, y_test = train_test_split(
    dataset[:2], dataset[2], test_size=0.33, random_state=42)

例如,如果您的数据集由两个要素列和一个输出标签组成。

答案 1 :(得分:0)

如tensorflow指南here所述,您已经有了数据集,此后,您可以使用Dataset.map()转换对某些定义的函数进行数据预处理。在病房之后,也可以使用dataset.batch(Batch_size)dataset.shuffle(buffer_size=Buffer_Size)进行批处理和改组。您可以阅读该指南以获取更多详细信息。