我已经采用了在Iris csv上训练的预制代码并试图使用我自己的csv。
此处发生错误
train_data = "train_data.csv"
test_data = "test_data.csv"
training_set = tf.contrib.learn.datasets.base.load_csv_with_header(
filename=train_data,
target_dtype=np.int,
features_dtype=np.float32)
错误
ValueError: invalid literal for int() with base 10: 'feature1'
csv看起来像这样
feature1,feature2,feature3,label
1028.0,1012.0,1014.0,1
1029.0,1011.0,1017.0,-1
1027.0,1013.0,1015.0,1
...(and so on)
我得知错误是试图说feature1不是整数。但是,当我对Iris数据集使用相同的代码时,有些字符串标头不用作张量。 Iris数据csv看起来像这样。
30,4,setosa,versicolor,virginica
5.9,3.0,4.2,1.5,1
6.9,3.1,5.4,2.1,2
5.1,3.3,1.7,0.5,0
另外,不确定我是否应该将此问题作为一个不同的问题,但我将功能标题更改为
1,2,3,4
1028.0,1012.0,1014.0,1
1029.0,1011.0,1017.0,-1
1027.0,1013.0,1015.0,1
...(and so on)
我现在收到此错误
ValueError: could not broadcast input array from shape (3) into shape (2)
非常感谢任何想法或帮助!感谢!!!
答案 0 :(得分:2)
如果要使用此功能,则必须以预期格式编写数据集。第一行应该是:
n_samples, n_features, [feature names]
例如,您显示的虹膜数据集的格式正确:
30,4,setosa,versicolor,virginica
即。 30个样本4个特征
如果您创建的数据集中有50个样本,则应该是:
50,4,labelname
1028.0,1012.0,1014.0,1
1029.0,1011.0,1017.0,-1
1027.0,1013.0,1015.0,1
...(and so on)