共用方式為


Microsoft 決策樹演算法

Microsoft 決策樹演算法是由 Microsoft SQL Server Analysis Services 提供的分類和回歸演算法,用於離散和連續屬性的預測模型化。

針對分隔屬性,此演算法依據資料集內的輸入資料行之間的關聯性來產生預測。 它會使用這些資料行的值 (稱為狀態) 來預測您指定為可預測之資料行的狀態。 尤其,此演算法會識別與可預測資料行相互關聯的輸入資料行。 例如,在預測哪些客戶可能購買腳踏車的狀況中,如果 10 個年輕客戶當中有 9 個購買腳踏車,但 10 個年紀較大的客戶當中只有 2 個人這麼做,則演算法會推斷年齡是腳踏車購買的理想預測器。 決策樹就是依據傾向於特定結果的趨勢來產生預測。

針對連續屬性,此演算法使用線性迴歸來決定決策樹分岔之處。

如果不止一個資料行設定為可預測,或輸入資料包含的巢狀資料表設定為可預測,則演算法會建立每一個可預測資料行的個別決策樹。

範例

Adventure Works Cycles 公司的行銷部門想要識別先前客戶的特性,這些客戶可能指出這些客戶未來是否可能購買產品。 AdventureWorks2012 資料庫會儲存描述先前客戶的人口統計資訊。 藉由使用 Microsoft 決策樹演算法來分析這項資訊,行銷部門可以建立模型來預測特定客戶是否會根據該客戶的已知資料行狀態來購買產品,例如人口統計或過去的購買模式。

演算法的運作方式

Microsoft 決策樹演算法會藉由在樹狀結構中建立一系列分割來建立資料採礦模型。 然後,這些分割會表示成「節點」。 每次發現輸入資料行與可預測資料行有明顯地相互關聯時,此演算法就會在模型中加入一個節點。 演算法決定分岔的方式不同,視它預測連續資料行或分隔資料行而定。

Microsoft 決策樹演算法會使用 特徵選取 來引導選取最有用的屬性。 所有 Analysis Services 資料採礦演算法都會使用特徵選取來改善效能和分析品質。 若要防止不重要的屬性佔用處理器時間,特徵選取就很重要。 如果您在設計資料採礦模型時使用過多輸入或可預測的屬性,此模型可能會需要很長的時間才能處理完成,甚至用完記憶體。 用來判斷樹狀結構是否分割的方法包括 Entropy 和 Bayesian networks 的業界標準計量*。* 如需用來選取有意義屬性的方法,然後對屬性進行評分和排名的詳細資訊,請參閱 特徵選取 (資料採礦)

資料採礦模型中的常見問題是,模型對於定型資料中的小差異太敏感,在此情況下,即表示過度 調整過度定型。 過度調整的模型無法一般化成為其他資料集。 為了避免過度學習任何特定資料集,Microsoft 決策樹演算法會使用技術來控制樹狀結構的成長。 如需 Microsoft 決策樹演算法運作方式的更深入說明,請參閱 Microsoft 決策樹演算法技術參考

預測分隔資料行

Microsoft 決策樹演算法為離散可預測資料行建置樹狀結構的方式,可以使用長條圖來示範。 下列圖表顯示一個長條圖,它繪製出可預測資料行 Bike Buyers 對照輸入資料行 Age。 長條圖顯示某人的年齡可協助區分此人是否會購買腳踏車。

來自 Microsoft 決策樹演算法

圖表中顯示的相互關聯會導致 Microsoft 決策樹演算法在模型中建立新的節點。

決策樹節點判定

當演算法在模型中加入新節點時,就會形成樹狀結構。 樹狀的最上層節點描述客戶整體母體擴展之可預測資料行的細分。 當模型繼續成長時,演算法會考量所有資料行。

預測連續資料行

當 Microsoft 決策樹演算法根據連續可預測資料行建立樹狀結構時,每個節點都包含回歸公式。 分岔會出現在迴歸公式中的非線性點上。 例如,請看下列圖表。

顯示非線性的多迴歸線

圖表包含可使用單線或使用兩條連接線建立模型的資料。 不過,用單線來表示資料,效果較差。 相對地,如果您使用雙線,則模型更能做好模擬資料的作業。 兩條線交叉的點就是非線性點,也是在決策樹模型中之節點會分岔的那個點。 例如,對應至上面圖表中之非線性點的節點可由下列圖表來表示。 兩個方程式代表兩條線的迴歸方程式。

代表非線性方程序點的方

決策樹模型所需的資料

當您準備資料以供決策樹模型使用時,應該要了解特定演算法的需求,包括所需的資料量及資料的使用方式等。

決策樹模型的需求如下:

  • 單一索引鍵資料行 :每個模型都必須包含一個能唯一識別每一筆記錄的數值或文字資料行。 不允許複合的索引鍵。

  • 可預測資料行 :至少需要一個可預測資料行。 您可以在模型中加入多個可預測的屬性,而且這些可預測的屬性可以屬於不同的類型:數值或離散。 不過,增加可預測屬性的數目可能會增加處理時間。

  • 輸入資料行 :需要可以是離散或連續的輸入資料行。 增加輸入屬性的數目會影響處理時間。

如需決策樹模型所支援之內容類型和資料類型的詳細資訊,請參閱 Microsoft 決策樹演算法技術參考的<需求>一節。

檢視決策樹模型

若要瀏覽此模型,您可以使用 [Microsoft 樹狀檢視器]。 如果模型產生了多個樹狀目錄,您就可以選取一個樹狀目錄,然後此檢視器會顯示這些案例如何針對每個可預測屬性分類的細目。 您也可以使用相依性網路檢視器來檢視樹狀目錄的互動。 如需詳細資訊,請參閱 使用 Microsoft 樹狀檢視器瀏覽模型

如果您想要了解樹狀結構中任何分支或節點的詳細資料,也可以使用 Microsoft 一般內容樹狀檢視器來瀏覽此模型。 針對此模型所儲存的內容包括每個節點中所有值的分佈、樹狀目錄之每個層級的機率,以及其連續屬性的迴歸公式。 如需詳細資訊,請參閱 Analysis Services (Analysis Services - 資料採礦) 的決策樹模型採礦模型內容

建立預測

在此模型已處理之後,結果會儲存成一組模式和統計資料,供您瀏覽關聯性或進行預測。

如需要搭配決策樹模型使用之查詢的範例,請參閱 決策樹模型查詢範例

如需如何針對採礦模型建立查詢的一般資訊,請參閱 資料採礦查詢

備註

  • 支援使用預測模型標記語言 (PMML) 來建立採礦模型。

  • 支援鑽研。

  • 支援 OLAP 採礦模型的使用和資料採礦維度的建立。

另請參閱

資料採礦演算法 (Analysis Services - 資料採礦) Microsoft 決策樹演算法技術參考判定樹模型查詢範例判定樹模型 (Analysis Services 的採礦模型內容 - 資料採礦)