《數據挖掘導論》實驗課——實驗三、數據挖掘之決策樹

来源:https://www.cnblogs.com/wonker/archive/2019/06/21/11062683.html
-Advertisement-
Play Games

實驗三、數據挖掘之決策樹 一、實驗目的 1. 熟悉掌握決策樹的原理, 2. 熟練掌握決策樹的生成方法與過程 二、實驗工具 1. Anaconda 2. sklearn 3. pydotplus 三、實驗簡介 決策樹是一個非參數的監督式學習方法,主要用於分類和回歸。演算法的目標是通過推斷數據特征,學習決 ...


實驗三、數據挖掘之決策樹

一、實驗目的

1. 熟悉掌握決策樹的原理,

2. 熟練掌握決策樹的生成方法與過程

二、實驗工具

1. Anaconda

2. sklearn

3. pydotplus

三、實驗簡介

決策樹是一個非參數的監督式學習方法,主要用於分類和回歸。演算法的目標是通過推斷數據特征,學習決策規則從而創建一個預測目標變數的模型。

四、實驗內容

1. 自己創建至少2個向量,每個向量至少1個屬性和1個類標號,根據向量生成決策樹,並利用該決策樹進行預測。如:

from sklearn import tree X = [[0, 0], [1, 1]] Y = [0, 1] clf = tree.DecisionTreeClassifier() clf = clf.fit(X, Y) clf.predict([[2., 2.]]) clf.predict_proba([[2., 2.]]) #計算屬於每個類的概率

要求根據要求隨機生成數據,並構建決策樹,並舉例預測。
image.png

2. 對鳶尾花數據構建決策樹,

(1) 調用數據的方法如下:

from sklearn.datasets import load_iris iris = load_iris()# 從sklearn 數據集中獲取鳶尾花數據。

(2) 利用sklearn中的決策樹方法對鳶尾花數據建立決策樹
(3) 為了能夠直觀看到建好的決策樹,安裝 pydotplus, 方法如下:

pip install pydotplus

pydotplus使用方法

import pydotplus #引入pydotplus dot_data = tree.export_graphviz(clf, out_file=None) graph = pydotplus.graph_from_dot_data(dot_data) graph.write_pdf("iris.pdf")#將圖寫成pdf文件

代碼展示

image.png

決策樹效果pdf

image.png

(4)(選做) 不使用sklearn中的決策樹方法,自己編寫決策樹構建程式(建議用python語言),並對鳶尾花數據構建決策樹。

五、實驗總結(寫出本次實驗的收穫,遇到的問題等)

通過本次實驗,瞭解了Python中構建決策樹的函數方法,並用鳶尾花數據集的可視化看到了生成的決策樹效果圖。困難在於不太理解決策時具體的構建過程,經過多次試驗,自動構建的決策樹和自己預測的規律結果是保持一致的,這說明瞭決策樹的實用性。下一步應該學習理解自己構建出決策樹。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 基本打包機制 本質上,webpack 是一個現代 JavaScript 應用程式的靜態模塊打包器(module bundler)。當 webpack 處理應用程式時,它會遞歸地構建一個依賴關係圖(dependency graph),其中包含應用程式需要的每個模塊,然後將所有這些模塊打包成一個或多個 ...
  • 將多個*.ts文件打包成一個*.min.js文件的開發配置 1、初始化 新建以下文件目錄: 2、安裝依賴: 3、tsconfig.json 參數含義參考https://www.tslang.cn/docs/handbook/compiler-options.html 4、babelrc useBui ...
  • 一. 現狀 由於之前採用Lodop列印控制項(商業版付費,可以使用免費版 但是會有水印)去列印小票,是一行一行的列印,但是不滿足UI給到複雜佈局的小票樣式,所以得重新考慮如何來實現。 二. 介紹 art template介紹 art template 是一個簡約、超快的模板引擎。 它採用作用域預聲明的 ...
  • 主要記錄在ios瀏覽器出現觸摸無限載入的情況 使用vue-scroller和mescroll.js/mescroll.vue先踩ios瀏覽器預設滑動會影響mescroll的方法調用。 首先給公共js加入以下代碼禁用我們的頁面在ios瀏覽器下會滑動上下頁面。 下麵給body設置樣式: html, bo ...
  • 父組件主動獲取子組件的數據和方法 1.調用子組件的時候 定義一個ref <headerchild ref="headerChild"></headerchild> 2.在父組件裡面通過 this.$refs.headerChild.屬性 t his.$refs.headerChild.方法 子組件主 ...
  • 1、安裝charles,點擊幫助——ssl代理——在移動設備或遠程瀏覽器上安裝charles root證書,看到如下界面: 2、在手機保證和電腦連接同一個wifi的前提下,開啟手機代理,輸入伺服器地址:192.168.5.252,埠號為:8888,有時候新手機連接代理,charles會提示是否允許 ...
  • 概述 最近在學習netty的相關知識,也在看netty的源碼,光看不練假把式,所以也正好利用自己學習的機會寫幾篇netty的分析文章,主要還是一些源碼解析的文章,一方面有輸出會促使自己在看源碼,學習原理的過程中更系統,更深入,同時也能加強記憶,鞏固對知識的理解。 關於netty的簡介和應用我就不做介 ...
  • 1.SOA SOA(Service-Oriented Architecture)面向服務架構,將應用程式不同功能單元(稱為服務)進行拆分,並通過這些服務之間定義良好的介面和契約聯繫起來。 SOA 不是特定的規範,是一種技術思想,一種理念,上圖為 SOA 架構的參考模型。 SOA 是一種粗粒度、松耦合 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...