【问题标题】:converting csv to arff将csv转换为arff
【发布时间】:2017-11-24 06:58:49
【问题描述】:

我正在做一个数据挖掘的学校项目,我们从 kaggle 获得了 CSV 数据(这就是数据的外观(6970 行中有 2 行)):

4,1970,Female,150,DomesticPartnersKids,Bachelor's Degree,Democrat,,Yes,No,No,No,Yes,Public,No,Yes,No,Yes,No,No,Yes,Science,Study first,Yes,Yes,No,No,Receiving,No,No,Pragmatist,No,No,Cool headed,Standard hours,No,Happy,Yes,Yes,Yes,No,A.M.,No,End,Yes,No,Me,Yes,Yes,No,Yes,No,Mysterious,No,No,,,,,,,,,,Mac,Yes,Cautious,No,Umm...,No,Space,Yes,In-person,No,Yes,Yes,No,Yay people!,Yes,Yes,Yes,Yes,Yes,No,Yes,,,,,,,,,,,,,,,,,No,No,No,Only-child,Yes,No,No
5,1997,Male,75,Single,High School Diploma,Republican,,Yes,Yes,No,,Yes,Private,No,No,No,Yes,No,No,Yes,Science,Study first,,Yes,No,Yes,Receiving,No,Yes,Pragmatist,No,Yes,Cool headed,Odd hours,No,Right,Yes,No,No,Yes,A.M.,Yes,Start,Yes,Yes,Circumstances,No,Yes,No,Yes,Yes,Mysterious,No,No,Tunes,Technology,Yes,Yes,Yes,Yes,No,Supportive,No,PC,No,Cautious,No,Umm...,No,Space,No,In-person,No,No,Yes,Yes,Grrr people,Yes,No,No,No,No,No,No,Yes,No,No,Yes,No,Own,Pessimist,Mom,No,No,No,No,Nope,Yes,No,No,No,Yes,No,Yes,No,Yes,No

我们必须将其转换为 .arff 格式以便在 weka 中使用。我手动输入了标题(107 个属性)

@ATTRIBUTE  user_id  NUMERIC
@ATTRIBUTE  yob      NUMERIC
@ATTRIBUTE  gender   {Male,Female}
@ATTRIBUTE  income   {150,100,75,50,25,10}
@ATTRIBUTE  householdstatus {MarriedKids,Married,DomesticPartnersKids,DomesticPartners,Single,SingleKids}
@ATTRIBUTE  educationlevel {Bachelor's Degree,High School Diploma,Current K-12,Current Undergraduate,Master's Degree,Associate's Degree,Doctoral Degree}
@ATTRIBUTE  party {Democrat,Republican}
@ATTRIBUTE  Q124742 {Yes,No}
@ATTRIBUTE  Q124122 {Yes,No}

我得到了这个错误:

} 预计在枚举结束时读取令牌 eol

然后我尝试使用weka转换器,但它给了我一个错误

值数错误。读取 2,预期 1,读取 Token[EOL],第 4 行遇到的问题:第 3 行

【问题讨论】:

标签: csv weka arff kaggle


【解决方案1】:

这是我所做的: 我从 Kaggle 下载了 train.csv(5568 个实例,最高 ID 号 6960)。

我没有使用转换器——只是将它作为 CSV 文件加载到 Weka Explorer 中。一些问题及其解决方法:

  1. 第 3 行:“学士学位”的第一个实例。它不喜欢那个单引号(“第 3 行,阅读 7,预期为 108”)。摆脱所有单引号(在文本编辑器中使用全局替换)。然后我再次尝试将其加载到 Weka。
  2. 该文件的最后一行末尾没有 CR(键盘上的 Enter 键),这会导致错误(“第 5569 行为空”)。我又在文本编辑器中添加了一个。然后我将它加载到 Weka 中,并查看了变量。
  3. 约 300 个实例缺少 YOB(出生年份),并填写了“NA”。因此,它既不是字符串也不是数字。将这些编辑为空单元格。然后我将其加载到 Weka。
  4. 当然,将 Party 移动为类变量(最后)。我是在 Weka 做的。
  5. 将此保存为 train.arff

  6. 重新加载它,它似乎工作正常。我使用 OneR 分类器生成了 51% 的准确率,但您不会期望 OneR 分类器在这里运行良好。我相信你可以做得更好。

请注意,我没有手动输入任何标题。这肯定需要一段时间!

祝你好运!

【讨论】:

  • 我仍然没有让它工作我尝试了你的方式,但我得到了一个错误。 drive.google.com/open?id=0B6ozOhSRitenRzZDNElMUVBSeFk (这是我到目前为止所做的链接,我得到一个错误的过早结束行)。很抱歉打扰你,但你能看看文件并告诉我哪里出错了。
  • 当我将 arff 文件的数据部分加载到 Excel 中时,除了几条记录外,它会输出到 DD 列。第一个不是第 118 行 - 你得到的错误(当我重复它时)在第 119 行。该列(以及文件后面的类似列)中是否应该有一个问号?
  • 我设法把它从一开始就重新做一遍 enyway 非常感谢你的帮助,如果你看到这就是我所做的drive.google.com/open?id=0B6ozOhSRitenZ3VxLWFFcG1IQ1U
  • 乐于助人。如果您不介意,请“接受”我上面的回答。这将帮助 StackOverflow 清除已回答的问题。
猜你喜欢
  • 2015-05-20
  • 2012-05-07
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 2020-09-14
  • 1970-01-01
  • 1970-01-01
  • 2014-06-11
相关资源
最近更新 更多