【问题标题】:Convert CSV to ARFF using weka使用 weka 将 CSV 转换为 ARFF
【发布时间】:2012-05-07 16:11:23
【问题描述】:

我一直试图将这个数据集http://archive.ics.uci.edu/ml/datasets/Communities+and+Crime+Unnormalized 导入 Weka,但一点运气都没有。我将其转换为 CSV,然后将其加载到 Weka,然后尝试将其转换为 ARFF,但仍然给我错误 "attribute names are not unique"

另外,我必须将训练数据集与测试数据集分开还是将它们放在一起?

【问题讨论】:

    标签: weka


    【解决方案1】:

    您也可以使用 ArffViewer(工具 -> ArffViewer 或 Ctrl+A)。然后打开您的 CSV 文件。

    接下来转到文件 -> 另存为...并选择 Arff 数据文件(应该默认选中)。

    请注意,您的字段必须用逗号而不是分号分隔。

    【讨论】:

    • 我在ArffViewer 中找不到将数字转换为名义的选项,反之亦然。那里有吗?
    • 这非常有效!应该是选择的答案
    【解决方案2】:

    在 WEKA 中实现了一些转换器。以下是与该主题相关的 API 页面:http://weka.sourceforge.net/doc.stable/weka/core/converters/package-summary.html

    例如这里是如何从 CSV 转换为 ARFF:

    java -cp /path/to/weka.jar weka.core.converters.CSVLoader filename.csv > filename.arff
    

    【讨论】:

    • 只是给像我这样笨的人的评论 - 上面的命令将在进入安装 weka 的目录后运行,即你可以看到 weka/core/converters/CSVLoader 作为目录结构。
    • 你也可以java -cp /path/to/weka.jar weka.core.converters.CSVLoader filename.csv > filename.arff
    • 我收到此错误“错误:无法找到或加载主类 weka.core.converters.CSVLoader”如何解决?
    • 确保您在类路径中包含 weka.jar(使用“-cp ”),如答案中的代码行中所示。另外,请确保您的 JAR 文件中包含 CSVLoader 类! JAR 文件只是一个 zip 文件,因此双击它并探索路径“weka/core/converters/”。你应该在那里找到一个 CSVLoader.class 文件。
    【解决方案3】:

    将您的 .CSV 格式文件上传到 this。从此您的 .CSV 格式将转换为 WEKA .arff 格式。完成后,将 .arff 文件获取到 Weka 工具。现在您可以继续进行数据分析。

    【讨论】:

      【解决方案4】:

      您需要 csv 中的标题字段。需要在csv文件第一行添加attr0,attr1,...,labels。

      【讨论】:

        【解决方案5】:

        我没有遇到任何问题。好的,请执行以下操作。在您指定的网页中,

        • 复制“.arff header for weka:”和“Relevant Papers”之间的段。
        • 将其粘贴到 .txt 文件中
        • this location打开数据文件
        • 复制实例并将其附加到您的 .txt 文件中,紧跟在 @data 部分之后
        • 将 .txt 文件另存为 .arff 文件

        你现在可以走了。

        我必须将训练数据集与测试数据集分开还是将它们放在一起?

        这取决于您的分类方法。如果您选择 10 倍 CV,则将它们放在一起。如果要使用约定方法,请将它们分开。同样,这完全取决于您的方法。

        【讨论】:

        • 为什么会有人对这个问题投反对票?另外,因为它解决了问题,为什么我的回答得到了反对票?奇葩!
        • OP 要求将 CSV 转换为 ARFF。但你没有回答那部分。因此,我认为有人反对。
        【解决方案6】:

        将 .csv 转换为 .arff 文件格式以在 Weka 中使用。 注意: .csv 文件应该是正确的,否则它不会转换为 .arff 文件。它不应在列中包含任何空值。 下载 weka 核心 jar。 在Eclipse -->Configure Build path,添加weka core jar,编写下面这行代码并执行代码:

        CSVToArff.java

        import weka.core.Instances;
        import weka.core.converters.ArffSaver;
        import weka.core.converters.CSVLoader;
        
        import java.io.File;
        
        public class CSVToArff {
        
           public static void main(String[] args) throws Exception {
        
        
            // load CSV
            CSVLoader loader = new CSVLoader();
            loader.setSource(new File("Provide the input file location (.csv) "));
            Instances data = loader.getDataSet();
        
            // save ARFF
            ArffSaver saver = new ArffSaver();
            saver.setInstances(data);
            saver.setFile(new File("Provide the output file location (.arff) ");
            saver.writeBatch();
            // .arff file will be created in the output location
          }
        }
        

        【讨论】:

          【解决方案7】:

          这个在线 CSV 到 ARFF 转换器可能有用吗?

          http://slavnik.fe.uni-lj.si/markot/csv2arff/csv2arff.php

          【讨论】:

          • 我使用了上面的链接,但我的值没有分开。这意味着我的 8227 行文件包含三行,1. 标题,2. 属性,3. 值。如何逐行划分?
          【解决方案8】:

          在 weka 中使用 Simple CLI,我们可以轻松地将 .csv 文件转换为 .arff 文件。

          只需导航到简单 CLI -> 在提供的文本字段中输入以下命令(首先提供 .csv 文件名,然后提供要转换的 .arff 的名称)

          java weka.core.converters.CSVLoader D:\L4S1\DataMining-Lab-Assignment-02\filename.csv > D:\L4S1\DataMining-Lab-Assignment-02\filename.arff
          

          下图显示了简单 CLI 窗口

          【讨论】:

            【解决方案9】:

            有效

            例如:- C:\Users\User\Desktop>java -cp "e:\data\weka-3-6-10\weka.jar;." weka.core.converters.CSVLoader data1.csv >> data1.arff 1. 转换前检查 excel 中的 csv 是否有任何单元格不正确 2. 检查属性是否正确

            对于普通的 csv - 你必须根据需要添加标题行,即使是 x,y,z,...

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2020-09-14
              • 1970-01-01
              • 1970-01-01
              • 2015-05-21
              • 2015-05-20
              • 2017-11-24
              • 2015-11-20
              • 2019-09-03
              相关资源
              最近更新 更多