一、資料格式
了解資料格式後,就可以完全控制資料預處理過程。
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完全同義) 枚舉類型(花括号枚舉全部值) 日期類型(日期格式預設) 資料開始标志 (逗号分割資料) |
說明:
- relation, string, data這些内置關鍵字無所謂大小寫,使用string.equalsIgnoreCase()方法比對字元串。但資料值嚴格區分大小寫。
- weka隻解析4中資料類型:字元串、數值、枚舉、日期。
- 數值型标志numeric、integer、real完全同義。
- 枚舉類型無關鍵字,直接花括号擴住所有枚舉值。
- 日期類型的格式字元串不指定,則預設使用 "yyyy-MM-dd'T'HH:mm:ss" (2011-06-10T00:00:00)。
- 缺失值用半角問号表示 ? ,不認識 NULL。
- 解析arff過程并非逐行讀取資料,而是使用java.io.StreamTokenizer 。是以 string,nominal 如果值内沒有空格,則不需要用引号包括。空行随便加。
1.2 CSV格式
- weka對待csv格式的檔案比較粗暴,對第一行指定的屬性,假定是數值型,然後在後續讀取對應的資料時,嘗試解析數值,如果某一個解析失敗,就将該屬性重新标記為枚舉型(無string、date);如果全部資料都能解析成數值,就認為該屬性是數值型。
1.3 Arff Viewer
界面:GUI Chooser > Tools > Arff Viewer
[界面截圖略]
作用:以表格形式顯示資料。并可對資料初步處理。
點選表頭對資料排序(單擊正序排列、shift+單擊逆序排列),然後處理噪聲值。對特别大或特别小的資料,手動改為均值(右鍵表頭> get mean)或缺失值(将值删除為空)。
注:csv格式的解析方式是内置的,屬性被認為是數值還是枚舉,在這裡不能更改。
二、 資料了解
2.1 資料集概覽
界面:GUI Chooser > Explorer按鈕 > Preprocess面闆
作用:
1、單屬性統計資訊浏覽。
2、屬性剔除。
3、對資料集做預處理(歸一化、離散化等)。
2.2 單屬性直方圖
界面:GUI Chooser > Explorer按鈕 > Preprocess面闆 > Visualize All
作用:僅觀察了解資料。
2.3 二維散點圖
界面:GUI Chooser > Explorer按鈕 > Visualize面闆
1、檢視各屬性之間的關系,深入了解資料集。
2、進行資料選擇(放大散點圖後進行)。
2.4 屬性選擇
界面:GUI Chooser > Explorer按鈕 > Select attributes 面闆
1、 檢視所有屬性對于某一個屬性的重要程度(最能區分指定屬性的,最重要,一般使用Gain名額)。
三、分類
界面:GUI Chooser > Explorer按鈕 > Classify 面闆
作用:分類。
●屬性類型和算法選擇
●算法參數
●測試集
●結果顯示
四、聚類
界面:GUI Chooser > Explorer按鈕 > Cluster 面闆
作用:聚類。
●聚類模式
五、關聯規則
界面:GUI Chooser > Explorer按鈕 > Associate 面闆
由于weka arff格式的限制,其關聯規則分析挖掘功能很不實用。類似于背包分析的問題,需要自己寫apriori算法。Apriori算法比較耗資源,可使用FP-Tree算法。
六、挖掘模型固化
界面:GUI Chooser > KnowledgeFlow按鈕
說明:知識流可以認為是weka核心的一個完全圖形化接口,挖掘功能方面與Explorer一樣。但這裡可以将資料挖掘全過程中的操作用一個流程表示,并且可以儲存起來,多次使用(每次使用隻需要更改資料集)。
當對某一主題探索出合适的挖掘流程後,可以在這裡固化一個挖掘模型,以後多次使用。
七、其他