日日碰狠狠躁久久躁96avv-97久久超碰国产精品最新-婷婷丁香五月天在线播放,狠狠色噜噜色狠狠狠综合久久 ,爱做久久久久久,高h喷水荡肉爽文np肉色学校

睿治

智能數(shù)據(jù)治理平臺

睿治作為國內(nèi)功能最全的數(shù)據(jù)治理產(chǎn)品之一,入選IDC企業(yè)數(shù)據(jù)治理實施部署指南。同時,在IDC發(fā)布的《中國數(shù)據(jù)治理市場份額》報告中,連續(xù)四年蟬聯(lián)數(shù)據(jù)治理解決方案市場份額第一。

使用決策樹進(jìn)行探索性數(shù)據(jù)分析

時間:2024-08-02來源:月嫣、美如花眷瀏覽數(shù):149

決策樹(DT)是最直觀的機器學(xué)習(xí)算法,其可以根據(jù)一系列簡單選擇做出復(fù)雜決策。

DT 在運籌學(xué)和數(shù)據(jù)科學(xué)領(lǐng)域非常實用,其成功的原因在于它遵循與人類決策過程類似的過程。該過程基于流程圖,其中每個節(jié)點都會對給定變量進(jìn)行簡單的二元決策,直到我們做出最終決策。

舉個簡單的例子:買一件 T 恤。如果我想買一件 T 恤,我可能會考慮幾個變量,比如價格、品牌、尺碼和顏色。所以我從預(yù)算開始做決定:

如果價格超過 30 美元,我不會買。否則我會買。 一旦找到低于 30 美元的商品,我希望它是我喜歡的品牌。如果是,我會繼續(xù)做決定。 現(xiàn)在,它適合我嗎?我的尺寸?如果適合,我們繼續(xù)。 最后,如果 30 美元以下、品牌 X、尺碼 S 的襯衫是黑色的,我會買它,否則,我可以繼續(xù)尋找,或者以“我不會買它”結(jié)束我的決策過程。

?

決策樹過程

這個過程非常合乎邏輯且簡單,可以應(yīng)用于所有類型的數(shù)據(jù)。該算法的缺點是它對數(shù)據(jù)集變化非常敏感,尤其是小數(shù)據(jù)集。因此,它很容易學(xué)習(xí)數(shù)據(jù)的微小差異并過度擬合你的機器學(xué)習(xí)模型。

DT 的這種特性可能對預(yù)測造成不小危害,但這如果用在探索性數(shù)據(jù)分析過程中將會非常出彩。

在這篇文章中,我們將學(xué)習(xí)如何利用 DT 的強大功能從數(shù)據(jù)中提取信息。

探索性數(shù)據(jù)分析(EDA)是數(shù)據(jù)科學(xué)項目的一個階段,我們獲取數(shù)據(jù)集并探索其變量,盡可能多地了解對目標(biāo)變量影響最大的因素。

在這個階段,數(shù)據(jù)科學(xué)家希望了解數(shù)據(jù)、數(shù)據(jù)如何分布、是否存在錯誤或不完整,提取數(shù)據(jù)的第一手信息,并可視化并了解每個解釋變量如何影響目標(biāo)變量。

由于 DT 能夠捕捉數(shù)據(jù)中最小的方差,因此使用它有助于理解變量之間的關(guān)系。由于我們只是在這里探索數(shù)據(jù),因此我們不必非常小心地進(jìn)行數(shù)據(jù)拆分或算法微調(diào)。我們只需運行 DT 即可獲得最佳信息。

這里使用的數(shù)據(jù)集是學(xué)生表現(xiàn)數(shù)據(jù)集根據(jù)。

#?導(dǎo)入庫import?pandas?as?pd?import?seaborn?as?sns?sns.set_style()?import?matplotlib.pyplot?as?plt?from?sklearn.tree?import?DecisionTreeClassifier,?DecisionTreeRegressor?from?sklearn.tree?import?plot_tree?#?加載數(shù)據(jù)集from?ucimlrepo?import?fetch_ucirepo?#?獲取數(shù)據(jù)集student_performance?=?fetch_ucirepo(id?=?320)?#?數(shù)據(jù)(作為?pandas?數(shù)據(jù)框)X?=?student_performance.data.features?y?=?student_performance.data.targets?#?收集?X?和?Y?進(jìn)行可視化df?=?pd.concat([X,y],?axis=?1?)?df.head(?3?)

?

我們想要確定這些數(shù)據(jù)中的哪些變量對最終成績的影響更大G3。

使用回歸 DT 進(jìn)行探索

failures現(xiàn)在構(gòu)建一個 DT 來檢查以及absences對studytime的影響G3。

#?要探索的列cols?=?[?'failures'?,?'absences'?,?'studytime'?]?#?分割?X?和?YX?=?df[cols]?y?=?df.G3?#?擬合決策樹dt?=?DecisionTreeRegressor().fit(X,y)?#?繪制?DTplt.figure(figsize=(?20?,?10?))?plot_tree(dt,?filled=?True?,?feature_names=X.columns,?max_depth=?3?,?fontsize=?8?);

這是得出的決策樹。

決策樹

現(xiàn)在我們有了一個很好的可視化來了解我們列出的那些變量之間的關(guān)系。以下是我們可以從這棵樹中獲得的見解:

我們知道,對于每個框內(nèi)第一行的條件,左邊表示“是”,右邊表示“否”。 不及格次數(shù)較少(< 0.5,或者說為零)的學(xué)生成績較高。只需觀察左側(cè)每個框的值都高于右側(cè)的值即可。 在所有沒有不及格的學(xué)生中,不及格的學(xué)生的成績studytime > 2.5更高。分?jǐn)?shù)幾乎高出一分。 沒有不及格記錄、studytime < 1.5缺勤次數(shù)少于 22 次的 學(xué)生比學(xué)習(xí)時間較少、缺勤次數(shù)較多的學(xué)生的期末成績更高。 自由活動和外出頻率

如果我們想根據(jù)學(xué)生的自由活動時間和外出頻率來了解哪些學(xué)生的成績更高,代碼如下。

#?要探索的列cols?=?[?'freetime'?,?'goout'?]?#?分割?X?和?YX?=?df[cols]?y?=?df.G3?#?擬合決策樹dt?=?DecisionTreeRegressor().fit(X,y)?#?繪制?DTplt.figure(figsize=(?20?,?10?))?plot_tree(dt,?filled=?True?,?feature_names=X.columns,?max_depth=?3?,?fontsize=?10?);

決策樹外出/空閑時間

變量goout和的freetime等級從 1= 非常低到 5= 非常高。請注意,那些不經(jīng)常外出 (< 1.5) 且沒有空閑時間 (<1.5) 的人的分?jǐn)?shù)與那些經(jīng)常外出 (>4.5) 且有相當(dāng)多空閑時間的人的分?jǐn)?shù)一樣低。最好的分?jǐn)?shù)來自那些在外出次數(shù) > 1.5 和空閑時間在 1.5 到 2.5 范圍內(nèi)之間取得平衡的人。

使用分類 DT 進(jìn)行探索

可以使用分類樹算法進(jìn)行相同的練習(xí)。邏輯和編碼相同,但現(xiàn)在顯示的結(jié)果值是預(yù)測的類,而不是值。讓我們看一個簡單的示例,使用另一個數(shù)據(jù)集,來自 Seaborn 包的Taxis 數(shù)據(jù)集,它帶來了一組紐約市的出租車運行情況。

如果我們想探究運行總金額和付款方式之間的關(guān)系,下面是代碼。

#?加載數(shù)據(jù)集df?=?sns.load_dataset('taxis').dropna()?#?要探索的列cols?=?['total']?#?拆分?X?和?YX?=?df[cols]?y?=?df['payment']?#?擬合決策樹dt?=?DecisionTreeClassifier().fit(X,y)?#?繪制樹plt.figure(figsize=(?21?,?10?))?plot_tree(dt,?filled=?True?,?feature_names=X.columns,?max_depth=?3?,???????????fontsize=?10?,?class_names=[?'cash'?,?'credit_card'?]);

出租車總費用與付款方式

只需目測結(jié)果樹,我們就能發(fā)現(xiàn)較低的total金額更有可能以現(xiàn)金支付。低于 9.32 美元的總額一般以現(xiàn)金支付。

在文我們學(xué)習(xí)了一種快速使用決策樹來探索數(shù)據(jù)集中變量之間關(guān)系的方法。

這種算法可以快速捕捉最初不容易發(fā)現(xiàn)的模式。我們可以利用決策樹的力量來找到數(shù)據(jù)的那些切分點,從而從中提取出重要的見解。

關(guān)于代碼的簡要說明:

在函數(shù)中plot_tree(),你可以設(shè)置使用該功能所需的級別數(shù)。你還可以在sklearn 的max_depthDT 實例中設(shè)置該超參數(shù)。這取決于你。使用它的優(yōu)點是你可以快速測試許多不同的深度,而無需重新訓(xùn)練模型。plot_tree

plot_tree(dt,filled=?True,feature_names=X.columns,max_depth=3)
(部分內(nèi)容來源網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除)
立即申請數(shù)據(jù)分析/數(shù)據(jù)治理產(chǎn)品免費試用 我要試用
  • 相關(guān)主題
  • 相關(guān)大數(shù)據(jù)問答
  • 相關(guān)大數(shù)據(jù)知識
customer

在線咨詢

在線咨詢

點擊進(jìn)入在線咨詢