首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Weka中加载CSV机器学习数据

更多腾讯海量技术文章,请关注云+社区:https://cloud.tencent.com/developer

Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化(与之对应的是SPSS公司商业数据挖掘产品--Clementine )的,基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data mining)软件。它和它的源代码可在其官方网站下载。有趣的是,该软件的缩写WEKA也是新西兰独有的一种鸟名,而Weka的主要开发者同时恰好来自新西兰的the University of Waikato(来自百度百科,译者注)。

如何在Weka中加载CSV机器学习数据

在开始建模之前,您必须能够加载(您的)数据。

在这篇文章中,您将了解如何在Weka中加载您的CSV数据集。阅读这篇文章后,你会知道:

关于ARFF文件格式以及它在Weka中表示数据的默认方式。

如何在Weka Explorer中加载CSV文件并将其保存为ARFF格式。

如何在ArffViewer工具中加载CSV文件并将其保存为ARFF格式。

本教程假定您已经安装了Weka。

让我们开始吧。

How To Load CSV Machine Learning Data in Weka

注:照片由Thales提供,保留某些权利。

如何在Weka中描述数据

机器学习算法主要被设计为与数组阵列一起工作。

这被称为表格化或结构化数据,因为数据在由行和列组成的电子表格中看起来就是这样。

Weka在描述数据时拥有特定的以计算机科学为中心的词汇表:

实例(Instance):一行数据被称为一个实例,就像在一个实例中或来自问题域中的观察(observation)一样。

属性(Attribute):一列数据被称为一个特征或属性,就像在观察的特征中那样。

每个属性可以有不同的类型,例如:

实数(Real)表示数值,如1.2。

整数(Integer)表示没有小数部分数的数值,如5。

标称(Nominal)表示分类数据,如“狗”和“猫”。

字符串(String)表示单词组成的列表,如同这个句子本身。

在分类问题上,输出变量必须是标称的。对于回归问题,输出变量必须是实数。

Weka中的数据

Weka倾向于以ARFF格式加载数据。

(WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。二维表格存储ARFF文件中。译者注)

ARFF是表示属性关系文件格式的首字母缩略词。它是使用标题的CSV文件格式的扩展,提供有关列中数据类型的元数据。

例如,CSV格式经典的鸢尾花数据集的前几行如下所示:

ARFF格式的文件如下所示:

你可以看到指令以符号(@)开始,其中有一个表示数据集的名称(例如@RELATION iris),有一个指令来定义每个属性的名称和数据类型(例如@ATTRIBUTE sepallength REAL),并有一个指令指示原始数据的开始(例如@DATA)。

ARFF文件中以百分比符号(%)开头的行表示注释。

原始数据部分中具有问号(?)的值表示未知或缺失的值。格式支持数字和分类值(categorical values),如上面的鸢尾示例,但也支持日期和字符串值。

根据您的Weka安装(方式),您的Weka安装目录data /子目录下可能有或者没有一些默认的数据集。与Weka一起分发的这些默认数据集都是ARFF格式,并且具有.arff文件扩展名。

在ARFF-Viewer中加载CSV文件

您的数据可能不是ARFF格式的。

事实上,它更可能是逗号分隔值(Comma Separated Value,CSV)格式。这是一种简单的格式,其中数据在行和列的表格中进行布局,而逗号用于分隔行中的值。引号也可以用来包围值,特别是如果数据包含带空格的文本字符串。

CSV格式很容易从Microsoft Excel导出,所以一旦您可以将数据导入到Excel中,您可以轻松地将其转换为CSV格式。

Weka提供了一个方便的工具来加载CSV文件,并保存成ARFF。你只需要用你的数据集做一次(这样的操作)。

使用以下步骤,您可以将数据集从CSV格式转换为ARFF格式,并将其与Weka workbench结合使用。如果您没有方便的CSV文件,可以使用鸢尾花数据集。从UCI Machine Learning存储库(https://archive.ics.uci.edu/ml/datasets/Iris) (传送门(https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data))中下载文件并将其保存到iris.csv的当前工作目录中。

1.启动Weka Chooser(选择器)。

Weka GUI选择器的屏幕截图

2.通过点击菜单中的“Tools”,选择“ArffViewer,来打开ARFF-Viewer”。

3.您将看到一个空的ARFF-Viewer窗口。

Weka ARFF Viewer

4.点击“File”菜单,在ARFF-Viewer中打开您的CSV文件,然后选择“Open”。导航到您当前的工作目录。将“Files of Type”过滤器更改为“CSV data files (*.csv)”。选择你的文件,然后点击“Open”按钮。

在ARFF Viewer中加载CSV

5.你现在应该可以看到你的CSV文件加载到ARFF-Viewer的一个示例样本。

6.通过点击“File”菜单并选择“Save as...”,以ARFF格式保存您的数据集。你需要输入带有.arff扩展名的文件名并单击“Save”按钮。

您现在可以将保存的.arff文件直接加载到Weka中。

请注意,ARFF-Viewer提供了在保存之前修改数据集的选项。例如,您可以更改值,更改属性的名称和更改其数据类型。

强烈建议您指定每个属性的名称,因为这将有助于稍后对数据进行分析。另外,确保每个属性的数据类型都是正确的。

在Weka Explorer中加载CSV文件

您也可以直接在Weka Explorer界面中加载您的CSV文件。

如果您急着想快速测试一个想法,这很方便。

本节介绍如何在Weka Explorer界面中加载CSV文件。您可以再次使用虹膜数据集,如果您没有加载CSV数据集,则练习。

1.启动Weka GUI Chooser(选择器)。

2.通过单击“资源管理器”按钮启动Weka资源管理器。

Weka资源管理器的屏幕截图

3.点击“Open file…”按钮。

4.导航到您当前的工作目录。将“Files of Type”更改为“CSV data files (*.csv)”。选择你的文件,然后点击“打开”按钮。

您可以直接用数据开始工作。您也可以通过点击“Save”按钮并输入文件名,以ARFF格式保存数据集。

使用Excel中的其他文件格式

如果您有其他格式的数据,请先将其加载到Microsoft Excel中。

以另一种格式(如CSV)这样使用不同的分隔符或固定宽度字段来获取数据是很常见的。Excel有强大的工具来加载各种格式的表格数据。使用这些工具,并首先将您的数据加载到Excel中。

将数据加载到Excel后,可以将其导出为CSV格式。然后,您可以直接或通过首先将其转换为ARFF格式在Weka中使用它。

资源

下面是一些额外的资源,你会发现这些资源对在Weka中使用CSV data进行工作非常有帮助。

Attribute-Relation File Format(http://www.cs.waikato.ac.nz/ml/weka/arff.html)

Can I use CSV files?(https://weka.wikispaces.com/Can+I+use+CSV+files%253F)

CSV File Format(https://en.wikipedia.org/wiki/Comma-separated_values)

概要

在这篇文章中,您发现了如何将您的CSV数据加载到Weka中进行机器学习。

具体来说,你了解到:

关于ARFF文件格式以及Weka如何使用它来表示机器学习的数据集。

如何使用ARFF-Viewer加载您的CSV数据并将其保存为ARFF格式。

如何直接在Weka Explorer中加载CSV数据并将其用于建模。

如果你有关于本文中的Weka加载数据的任何问题?可以在评论中提出您的问题,我会尽我所能来回答。

翻译人:Steve Wang,该成员来自云+社区翻译社

原文作者:Jason Brownlee

原文标题:How To Load CSV Machine Learning Data in Weka

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180228A0YQYB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券