1. 程式人生 > >How To Load CSV Machine Learning Data in Weka (如何在Weka中載入CSV機器學習資料)

How To Load CSV Machine Learning Data in Weka (如何在Weka中載入CSV機器學習資料)

How To Load CSV Machine Learning Data in Weka

原文作者:Jason Brownlee
原文地址:https://machinelearningmastery.com/load-csv-machine-learning-data-weka/
譯者微博:@從流域到海域
譯者部落格:blog.csdn.net/solo95
本文同樣刊載於騰訊雲+:https://cloud.tencent.com/developer/article/1040260

如何在Weka中載入CSV機器學習資料

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格式經典的鳶尾花資料集的前幾行如下所示:

5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa

ARFF格式的檔案如下所示:

 @RELATION iris

@ATTRIBUTE sepallength REAL
@ATTRIBUTE sepalwidth REAL
@ATTRIBUTE petallength REAL
@ATTRIBUTE petalwidth REAL
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}

@DATA
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa

你可以看到指令以符號(@)開始,其中有一個表示資料集的名稱(例如@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儲存庫(傳送門)中下載檔案並將其儲存到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進行工作非常有幫助。

概要

在這篇文章中,您發現瞭如何將您的CSV資料載入到Weka中進行機器學習。

具體來說,你瞭解到:

  • 關於ARFF檔案格式以及Weka如何使用它來表示機器學習的資料集。
  • 如何使用ARFF-Viewer載入您的CSV資料並將其儲存為ARFF格式。
  • 如何直接在Weka Explorer中載入CSV資料並將其用於建模。

如果你有關於本文中的Weka載入資料的任何問題?可以在評論中提出您的問題,我會盡我所能來回答。