我想使用R.从带有亚马逊评论的UCI中读取一个数据集
数据集的格式为ARFF(.ARFF).
我正在使用以下脚本:
require("foreign")
setwd("H:/DataSet/amazon")
reviews <- read.arff("amazon.arff")
我得到以下错误
read.arff("amazon.arff")中出错:属性规范无效。
提前感谢您的帮助。
我想你指的是UCI机器学习库中的"亚马逊商业评论集数据集"。即使是Weka也无法打开这个数据集,称
"…未被识别为‘Arff数据文件’文件……属性名称不唯一。"
如果你查看文件,你会看到很多类似的条目
@attribute '''''''''''r'''''''''''' numeric
所以文件出了问题,这不是R或任何"Arff"读取例程的错。您应该询问数据集创建者,其姓名和电子邮件地址在描述页上提供。
我找到了让Weka打开.arff文件的解决方案。
无法将结构确定为arff(原因:java.lang.illegalArgumentException:属性名称不唯一!原因:"T"T"。
它不是像@attribute这样的属性"'\'\'\'\''\'r\'\'"。
如果你在文本编辑器中打开arff文件(我使用的是TextMate),你会发现罪魁祸首。(在文本中显示<NUL>)
- @attribute g_b numeric@attribute T numeric@属性ingnumeric@attribute T numeric@attribute rne numeric@属性Tnumeric@属性T numeric
您可以使用控件F在then属性中搜索"I"、"T"one_answers"Th"但为了加快搜索速度,这里有3个易于搜索的属性,它们靠近问题网站。
对于"I"搜索"t_wo",
对于'Th'搜索'ff_'
对于"T"搜索"x_"(属性将高于此属性)
你不能简单地删除它们,因为无法知道哪些数字适用,所以我建议将它们重命名为T2-4、I2-4 Th2-4。您还需要将属性"class"重命名为"class1"
在您的特定情况下,数据集有一些问题,我无法读取。
不确定它是否有帮助,但如果您想使用R读取.arff文件,另一种方法是使用RWeka包。
该包有一些依赖项:rJava(注1)和RWekajars。
然后,通过使用以下脚本,您将能够读取数据集(注2):
library(rJava)
library("RWeka")
x <- read.arff(file= "amazon.arff")
我还没有专门尝试过使用您的数据集(由于它的问题),但当使用iris.arff数据集时,脚本运行良好(当然,需要更改文件名)。
票据
- 如果您碰巧在rJava包中有任何错误,我在另一个问题上给出的这个答案可能会对您有所帮助
- 请确保您正在文件所在的文件夹中运行脚本。一种方法是在RStudio中创建一个新项目,将数据集保存在项目的目录中,然后运行所需的脚本