決策樹(shù)是以樹(shù)的形式表示選擇及其結(jié)果的圖。圖中的節(jié)點(diǎn)表示事件或選擇,并且圖的邊緣表示決策規(guī)則或條件。它主要用于使用R的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘應(yīng)用程序。
決策樹(shù)的使用的例子是 - 預(yù)測(cè)電子郵件是垃圾郵件或非垃圾郵件,預(yù)測(cè)腫瘤癌變,或者基于這些因素預(yù)測(cè)貸款的信用風(fēng)險(xiǎn)。通常,使用觀測(cè)數(shù)據(jù)(也稱為訓(xùn)練數(shù)據(jù))來(lái)創(chuàng)建模型。然后使用一組驗(yàn)證數(shù)據(jù)來(lái)驗(yàn)證和改進(jìn)模型。 R具有用于創(chuàng)建和可視化決策樹(shù)的包。對(duì)于新的預(yù)測(cè)變量集合,我們使用此模型來(lái)確定R包“party”用于創(chuàng)建決策樹(shù)。
在R語(yǔ)言控制臺(tái)中使用以下命令安裝軟件包。您還必須安裝相關(guān)軟件包(如果有)。
install.packages("party")
“party”包具有用于創(chuàng)建和分析決策樹(shù)的函數(shù)ctree()。
在R中創(chuàng)建決策樹(shù)的基本語(yǔ)法是 -
ctree(formula, data)
以下是所使用的參數(shù)的描述 -
formula是描述預(yù)測(cè)變量和響應(yīng)變量的公式。
data是所使用的數(shù)據(jù)集的名稱。
我們將使用名為readingSkills的R內(nèi)置數(shù)據(jù)集來(lái)創(chuàng)建決策樹(shù)。 它描述了某人的readingSkills的分?jǐn)?shù),如果我們知道變量“年齡”,“shoesize”,“分?jǐn)?shù)”,以及該人是否為母語(yǔ)者。
這里是示例數(shù)據(jù)。
# Load the party package. It will automatically load other dependent packages. library(party) # Print some records from data set readingSkills. print(head(readingSkills))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果及圖表 -
nativeSpeaker age shoeSize score 1 yes 5 24.83189 32.29385 2 yes 6 25.95238 36.63105 3 no 11 30.42170 49.60593 4 yes 7 28.66450 40.28456 5 yes 11 31.88207 55.46085 6 yes 10 30.07843 52.83124 Loading required package: methods Loading required package: grid ............................... ...............................
我們將使用ctree()函數(shù)創(chuàng)建決策樹(shù)并查看其圖形。
# Load the party package. It will automatically load other dependent packages. library(party) # Create the input data frame. input.dat <- readingSkills[c(1:105),] # Give the chart file a name. png(file = "decision_tree.png") # Create the tree. output.tree <- ctree( nativeSpeaker ~ age + shoeSize + score, data = input.dat) # Plot the tree. plot(output.tree) # Save the file. dev.off()
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
null device 1 Loading required package: methods Loading required package: grid Loading required package: mvtnorm Loading required package: modeltools Loading required package: stats4 Loading required package: strucchange Loading required package: zoo Attaching package: ‘zoo’ The following objects are masked from ‘package:base’: as.Date, as.Date.numeric Loading required package: sandwich
從上面顯示的決策樹(shù),我們可以得出結(jié)論,其readingSkills分?jǐn)?shù)低于38.3和年齡超過(guò)6的人不是一個(gè)母語(yǔ)者。
更多建議: