在TFLearn中指定回归的多个目标

时间:2017-06-04 06:08:37

标签: python regression tflearn

如何在target_column方法中指定多个tflearn.data_utils.load_csv

根据Tflearn文档,load_csv将target_column作为整数。

尝试将我的target_columns作为load_csv方法中的列表传递,并按预期获得TypeError: 'list' object cannot be interpreted as an integer回溯。

任何解决方案。 感谢

2 个答案:

答案 0 :(得分:0)

这不是回归的工作方式。您必须只有一列作为目标。这就是为什么tensorflow API只允许一列成为回归的目标,用整数指定。

答案 1 :(得分:0)

经过TFLearn github repo后,事实证明,我们无法直接使用load_csv来指定多个目标。

需要通过pandas作为数据框读取csv文件,并使用dataframe.as_matrix()将其转换为矩阵,并指定数据和标签列。

例如,我的csv文件中有34列作为数据集,9列作为目标。

继承人我做了什么

import tflearn
from tflearn.optimizers import SGD
import pandas as pd,numpy as np

#name=input('name for run_id:')

csvfile = pd.read_csv('path/to/file.csv')

data = csvfile[['my','data','columns']] 
label= csvfile[['target','columns']]

data=data.as_matrix()
label= label.as_matrix()

并且如本文https://datascience.stackexchange.com/questions/16890/neural-network-for-multiple-output-regression所述......只需提及输出层的单位数,并将激活设置为线性,即不激活和完成。

希望这对有类似情况的其他人有所帮助。