【问题标题】:Specifying Multiple targets for regression in TFLearn在 TFLearn 中为回归指定多个目标
【发布时间】:2017-06-04 06:08:37
【问题描述】:

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

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

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

对此的任何解决方案。 谢谢

【问题讨论】:

    标签: python regression tflearn


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      通过TFLearn github repo 发现,我们不能直接使用load_csv 指定多个目标。

      需要通过pandas读取csv文件作为dataframe,并使用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 所提到的......只需提及输出层的单元数并将激活设置为线性,即没有激活并完成。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-28
        • 2020-02-10
        • 1970-01-01
        • 1970-01-01
        • 2020-11-22
        • 1970-01-01
        • 2013-02-01
        • 1970-01-01
        相关资源
        最近更新 更多