數據挖掘與機器學習——weka應用技術與實踐

第一章 weka介紹算法

1.1 weka簡介數據庫

       weka是懷卡託智分析環境(Waikato Environment for Knowledge Analysis)的英文縮寫,官方網址爲:<http://www.cs.waikato.ac.nz/ml/weka/>,在該網站能夠免費下載可運行軟件和代碼,還能夠得到說明文檔、常見問題解答、數據集和其餘文獻等資源。服務器

      1.1.1 Weka的歷史網絡

       團隊宣稱:咱們的目標是要創建最早進的軟件開發機器學習技術,並將其應用於解決現實世界的數據挖掘問題。目標:是機器學習技術容易得到,開發新的機器學習算法並推向世界。app

     1.1.2 Weka功能簡介機器學習

       Weka系統聚集了最前沿的機器學習算法和數據預處理工具。它爲數據挖掘的整個過程提供了全面的支持,包括準備輸入數據統計評估學習方案輸入數據和學習效果的可視化
函數

       Weka系統包括處理標準數據挖掘問題的全部方法:迴歸分類聚類關聯規則以及屬性選擇。分析要進行處理的數據是重要的一個環節,Weka提供了不少用於數據可視化和預處理的工具。輸入數據能夠由兩種形式,第一種是以ARFF格式爲表明的文件;另外一種是直接讀取數據庫表
工具

       使用Weka的方式主要有三種:第一種是將學習方案應用於某個數據集,而後分析其輸出從而更多地瞭解這些數據;第二種是使用已經學習到的模型對新實例進行預測;第三種是使用多種學習器,而後根據其性能表現來選擇其中的一種來進行預測。性能

       Weka提供的最容易使用的圖形用戶接口稱爲Explorer。經過選擇菜單和填寫表單,能夠調用Weka的全部功能。可是他會將所需數據武所有一次性讀入內存,這種批量方式僅適合處理小規模問題。學習

       Knowledge界面可使用增量方式的算法來處理大型數據集,

1.2 基本概念

    1.2.1 數據挖掘和機器學習

     機器學習方法構成數據挖掘的核心,絕大多數的數據挖掘技術來自於機器學習領域。數據挖掘是在數據中尋找模式的過程。機器學習定義爲可以自動尋找數據中的模式的一套方法,使用所發現的模式進行預測或者決策。

      機器學習分爲兩種主要類型,第一種稱爲有監督的學習,或稱爲預測學習,其目標是在給定一系列輸入輸出實例所構成的數據集的條件下,學習輸入X到輸出y的映射關係。這裏的數據集稱爲訓練集。第二種爲無監督的學習,或稱描述學習,在給定一系列僅由輸入實例構成的數據集的條件下,其目標是發現數據中的有趣模式。無監督學習有時也稱知識發現。這類問題沒有明確的定義,也沒有明顯的偏差度量可供使用。

      1.2.2 數據和數據集

       數據挖掘的對象能夠是各類各樣的書記處,這些書記處能夠以各類形式存儲,如數據庫、數據倉庫、數據文件、流數據、多媒體、網頁,等等。便可以集中存儲在數據存儲庫中,也能夠分佈在世界各地的網絡服務器上。數據集就是待處理數據對象的集合。數據對象有多個別名,如記錄、點、行、向量、案例、樣本、觀測等。屬性用於刻畫數據對象的基本特徵。屬性也有多個別名,如變量、特徵、字段、維、列等。

       屬性能夠分爲四種類型:標稱(nominal)、序數(ordinal)、區間(interval)和比率(ratio),其中,標稱屬性僅提供區分對象的足夠信息,如性別(男、女)等;序數屬性的值能夠提供肯定對象的順序的足夠信息,如成績等級(優、良、中、及格、不及格)等;區間屬性的值之間的差是有意義的,即存在測量單位,如溫度、日曆日期等;比率屬性的值之間的差和比值都是有意義的,如絕對溫度、年齡,長度等。標稱屬性和序數屬性統稱爲分類的(Categorical)或定性的(Qualitative)屬性,它們的取值爲集合,即便使用數值來表示,也不具有數的大部分性質,知識一個符號而已;區間屬性和比率屬性統稱爲定量的(Quantitative)或數值的(Numeric)屬性,定量屬性可使用整數值或連續值來表示,具有數的大部分性質。

       1.2.3 ARFF格式

       ARFF是weka專用的數據格式,表明Attribute-Relation File Format(屬性-關係文件格式)。該文件是ASCII文本文件,描述共享一組屬性結構的實力列表,由獨立且無序的實例組成。略

        1.2.4 預處理

        數據挖掘所使用的數據每每不是專門爲挖掘準備的,人的錯誤、測量設備的限制以及數據收集過程的漏洞均可能致使一些問題。數據挖掘只能經過兩個方面設法避免數據質量問題:1.數據質量問題的檢測與糾正;2.使用能容忍低質量數據的算法。第一種方式在數據挖掘前檢測並糾正一些質量問題,這個過程稱爲數據的預處理;第二種方式須要提升算法的健壯性。

       數據預處理是數據挖掘的重要步驟,weka專門提供若干過濾器進行預處理,還在Explorer界面中提供選擇屬性標籤頁專門處理屬性的自動選擇問題。數據預處理包括以下技術:

       1)聚類

       聚類(Aggregation)就是將兩個或多個對象合併爲單個對象。通常定量數據一般經過求和或者求平均值的方式進行彙集,定性數據一般經過彙總進行彙集。彙集經過數據規約來減小數據量,所致使的較小數據集只須要較少內存和處理時間的開銷。但有可能致使有趣細節的丟失。

        2)抽樣

        若是處理所有數據的開銷過大,數據預處理可使用抽樣,只選擇數據對象的子集進行分析。使用抽樣能夠壓縮數據量,可是要確保樣本近似地具備原數據相同的性質。

        3)維度歸約

        維度是指數據集中屬性的數目。維度歸約(Dimension Reduction)是指建立新屬性,經過數據編碼或數據變換,將一些舊屬性合併在一塊兒以下降數據集的維度。

        4)屬性選擇

        除維度歸約外,下降維度的另外一種方法是僅只使用屬性的一個子集。表面看來彷佛這種方法可能丟失信息,但不少狀況下,數據集存在冗餘和不相關的屬性。若是將所有可能的屬性子集做爲輸入,而後選取能產生最好結果的子集(理想算法),這樣工做量巨大。這是考慮三種標準的屬性選擇方法:嵌入、過濾和包裝。

       嵌入方法(Embedded Approach)將屬性選擇做爲數據挖掘算法的一部分。在挖掘算法運行期間,算法自己決定使用哪些屬性以及忽略哪些屬性。決策樹算法一般使用這種方法。過濾方法(Filter Approach)在運行數據挖掘算法之間,使用獨立於數據挖掘任務的方法進行屬性選擇。包裝方法(Wrapper Approach)將學習算法的結果做爲評價準則的一部分,使用相似前文介紹的理想算法,但一般沒法枚舉出所有可能的子集以找出最佳屬性子集。

       5)屬性建立

       屬性建立就是經過對數據集中舊的屬性進行處理。建立新的數據集,這樣能更有效的得到重要的信息。因爲一般新數據集的維度比原數據集少,能夠得到維度歸約帶來的好處。屬性建立有三種方式:屬性提取、映射數據到新空間和屬性構造。略

       6)離散化和二元化

       將連續屬性轉化爲分類屬性稱爲離散化(Discretization),將連續和離散屬性轉換爲一個或多個二元屬性稱爲二元化(Binarization)。略

       7)變量變換

       變量變換也稱屬性變換(variable transform),是指用於變量的全部值的變換。變量變換包括簡單函數變換和規範化。

       1.2.5 分類與迴歸

 

       1.2.6 聚類分析

        聚類(clustering)就是將數據集劃分爲有若干類似實例阻生的簇(cluster)的過程,使得同一個簇中實例間的類似度最大化,不一樣簇的實例間的類似度最小化。

        1.2.7 關聯分析

        關聯分析(association analysis)方法就是用於發現隱藏在大型數據集中的有意義的聯繫,這種聯繫能夠用關聯規則(association rule)進行表示。最具表明性的例子就是商家經過關聯分析挖掘商場銷售數據,發現客戶的購買習慣。

相關文章
相關標籤/搜索