天天看點

Weka 入門1

     本人也是借鑒網上他人資料。主要介紹使用java調用Weka庫。

     首先介紹weka,Weka的全名是懷卡托智能分析環境,是基于開源環境的機器學習和資料挖掘軟體。我們可以去weka官網下載下傳最新的Weka軟體,目前最新版本是3.7.9。預設安裝會儲存

在C:\Program Files\Weka-3-7目錄下,目錄下有一個data的檔案夾,裡面存放的是一些資料集,我們也可以把data檔案拷到别的地方更友善調用,這裡面的資料可以用于我們學習Weka的使用。我們以data檔案夾中的一個.arff檔案為例對檔案格式進行說明,如下圖:

Weka 入門1

(1)關系聲明

格式為@relation <relation-name>在檔案的第一行,關系名稱不能有空格,如有空格需要用加上引号。

(2)屬性說明

格式為@attribute <attribute-name> <data-type>

attribute-name是屬性名稱,區分大小寫。data-type是資料類型,常用類型有numeric(數值型:整數,小數等)nominal(分類型:舉個例子如@attribute outlook{sunny,overcast,rainy},取值集合就是後面sunny,overcast,rainy)

(3)資料說明

資料資訊以@data作為标志。

在@data下面的行中,每一行作為一個例子,包含了是以已經聲明的屬性,如果屬性值為空則要求用“ ?”來代替

下面我們便使用java簡單調用Weka使用,軟體的使用在這裡不介紹,這裡隻說明如何對weka進行2次開發。

Instances:我們可以認為它是資料集的執行個體集合。

package InstanceTest;

import weka.core.Instances;

import java.io.*;

public class InstanceTest {

public static Instances GetInstance(String FileName)throws Exception

{

FileReader reader=new FileReader(FileName);

Instances data=new Instances(reader);

return data;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

try

{

Instances date=GetInstance("D://train.arff");

// System.out.print(date); 全部輸出資料集或者也可以使用numInstances循環輸出

for(int i=0;i<date.numInstances();i++)

{

System.out.println(date.instance(i));

}

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

轉載于:https://www.cnblogs.com/GuoJiaSheng/p/3832978.html