2016-12-16 59 views
0

我已经采用了在Iris csv上训练并试图使用我自己的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) 

我得到的错误是试图说优点1是不是一个整数。但是,当我为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) 

任何意见或非常感谢帮助!谢谢!!!

回答

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) 
+0

的伟大工程,谢谢! –

+0

我的上帝我到处寻找解释错误“无法广播输入数组从形状x到x”,这就是它!我试图使用我自己的csv文件没有标题 –

+0

非常感谢btw!这真的让我很头疼! –

相关问题