天天看點

資料挖掘工具軟體Weka學習教程

一、資料格式

了解資料格式後,就可以完全控制資料預處理過程。

1.1 ARFF格式

樣例 說明

%整行注釋

@relation person

@attribute name string %半行注釋

@attribute age numeric

@attribute sex {male,female}

@attribute birthday date "yyyy-MM-dd HH:mm:ss"

@data

"Zhang San",85,male,'2011-06-10 00:00:00'

Lisi,?,male,"2011-06-11 00:00:00"

……

關系名,在Explorer界面顯示

String 類型(文本挖掘使用)

數值類型(integer,real完全同義)

枚舉類型(花括号枚舉全部值)

日期類型(日期格式預設)

資料開始标志

(逗号分割資料)

說明:

  1. relation, string, data這些内置關鍵字無所謂大小寫,使用string.equalsIgnoreCase()方法比對字元串。但資料值嚴格區分大小寫。
  2. weka隻解析4中資料類型:字元串、數值、枚舉、日期。
  3. 數值型标志numeric、integer、real完全同義。
  4. 枚舉類型無關鍵字,直接花括号擴住所有枚舉值。
  5. 日期類型的格式字元串不指定,則預設使用 "yyyy-MM-dd'T'HH:mm:ss" (2011-06-10T00:00:00)。
  6. 缺失值用半角問号表示 ? ,不認識 NULL。
  7. 解析arff過程并非逐行讀取資料,而是使用java.io.StreamTokenizer 。是以 string,nominal 如果值内沒有空格,則不需要用引号包括。空行随便加。

1.2 CSV格式

  1. weka對待csv格式的檔案比較粗暴,對第一行指定的屬性,假定是數值型,然後在後續讀取對應的資料時,嘗試解析數值,如果某一個解析失敗,就将該屬性重新标記為枚舉型(無string、date);如果全部資料都能解析成數值,就認為該屬性是數值型。

1.3 Arff Viewer

界面:GUI Chooser > Tools > Arff Viewer

[界面截圖略]

作用:以表格形式顯示資料。并可對資料初步處理。

點選表頭對資料排序(單擊正序排列、shift+單擊逆序排列),然後處理噪聲值。對特别大或特别小的資料,手動改為均值(右鍵表頭> get mean)或缺失值(将值删除為空)。

注:csv格式的解析方式是内置的,屬性被認為是數值還是枚舉,在這裡不能更改。

二、 資料了解

2.1 資料集概覽

界面:GUI Chooser > Explorer按鈕 > Preprocess面闆

資料挖掘工具軟體Weka學習教程

作用:

1、單屬性統計資訊浏覽。

2、屬性剔除。

3、對資料集做預處理(歸一化、離散化等)。

2.2 單屬性直方圖

界面:GUI Chooser > Explorer按鈕 > Preprocess面闆 > Visualize All

作用:僅觀察了解資料。

2.3 二維散點圖

界面:GUI Chooser > Explorer按鈕 > Visualize面闆

資料挖掘工具軟體Weka學習教程

1、檢視各屬性之間的關系,深入了解資料集。

2、進行資料選擇(放大散點圖後進行)。

2.4 屬性選擇

界面:GUI Chooser > Explorer按鈕 > Select attributes 面闆

資料挖掘工具軟體Weka學習教程

1、 檢視所有屬性對于某一個屬性的重要程度(最能區分指定屬性的,最重要,一般使用Gain名額)。

三、分類

界面:GUI Chooser > Explorer按鈕 > Classify 面闆

作用:分類。

●屬性類型和算法選擇

●算法參數

●測試集

●結果顯示

四、聚類

界面:GUI Chooser > Explorer按鈕 > Cluster 面闆

作用:聚類。

●聚類模式

五、關聯規則

界面:GUI Chooser > Explorer按鈕 > Associate 面闆

由于weka arff格式的限制,其關聯規則分析挖掘功能很不實用。類似于背包分析的問題,需要自己寫apriori算法。Apriori算法比較耗資源,可使用FP-Tree算法。

六、挖掘模型固化

界面:GUI Chooser > KnowledgeFlow按鈕

資料挖掘工具軟體Weka學習教程

說明:知識流可以認為是weka核心的一個完全圖形化接口,挖掘功能方面與Explorer一樣。但這裡可以将資料挖掘全過程中的操作用一個流程表示,并且可以儲存起來,多次使用(每次使用隻需要更改資料集)。

當對某一主題探索出合适的挖掘流程後,可以在這裡固化一個挖掘模型,以後多次使用。

七、其他

繼續閱讀