《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第5章 决策树(代码python实践)

news2024/10/5 21:18:08

文章目录

  • 第5章 决策树—python 实践
    • 书上题目5.1
    • 利用ID3算法生成决策树,例5.3
    • scikit-learn实例

《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第5章 决策树

第5章 决策树—python 实践

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from collections import Counter
import math
from math import log
import pprint

书上题目5.1

在这里插入图片描述

def create_data():
    datasets = [['青年', '否', '否', '一般', '否'],
               ['青年', '否', '否', '好', '否'],
               ['青年', '是', '否', '好', '是'],
               ['青年', '是', '是', '一般', '是'],
               ['青年', '否', '否', '一般', '否'],
               ['中年', '否', '否', '一般', '否'],
               ['中年', '否', '否', '好', '否'],
               ['中年', '是', '是', '好', '是'],
               ['中年', '否', '是', '非常好', '是'],
               ['中年', '否', '是', '非常好', '是'],
               ['老年', '否', '是', '非常好', '是'],
               ['老年', '否', '是', '好', '是'],
               ['老年', '是', '否', '好', '是'],
               ['老年', '是', '否', '非常好', '是'],
               ['老年', '否', '否', '一般', '否'],
               ]
    labels = [u'年龄', u'有工作', u'有自己的房子', u'信贷情况', u'类别']
    # 返回数据集和每个维度的名称
    return datasets, labels
datasets, labels = create_data()
train_data = pd.DataFrame(datasets, columns=labels)
	# 熵
def calc_ent(datasets):
    data_length = len(datasets)
    label_count = {
   }
    for i in range(data_length):
        label = datasets[i][-1]
        if

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python中容器类型的数据

目录 序列 序列的索引操作 加和乘操作 切片操作 成员测试 列表 创建列表 追加元素 插入元素 替换元素 删除元素 元组 创建元组 元组拆包 集合 创建集合 修改集合 字典 创建字典 修改字典 访问字典视图 遍历字典 若我们想将多个数据打包并且统一管理&…

分布式虚拟文件系统,如何实现多种存储系统的融合

随着大数据技术和人工智能技术的发展,各种框架应运而生,比如大数据领域中的MapReduce和Spark,人工智能领域中的TensorFlow和PyTorch等。为了给不同的计算框架提供存储服务,存储的服务类型也是很多,常见的如AWS的S3存储…

自然语言nlp学习四

5-5 BMTrain--ZeRO_哔哩哔哩_bilibili 5-6 BMTrain--Pipeline Parallel (流水线并行)_哔哩哔哩_bilibili 5-12 BMCook--背景介绍_哔哩哔哩_bilibili

梦幻水母生图咒语

中文: 珍珠和透明水晶水母漂浮在水池中,浅粉色风格,千年美学,柔和的雾气,转瞬即逝,山寨核,迷人,不加修饰 比例9:16,模型V6,风格默认 StartAI提示词翻译&am…

客户点赞,“信”任满满 | 竹云喜获近百封感谢信!

玉兔辞旧岁,威龙迎新春 在新春佳节来临之际 一封封感谢信、表扬信 纷至沓来 纸短情长 每一封感谢信的背后 都记载着一个动人的故事 字里行间情真意切 激励着竹云继续前行! 国家电投 竹云项目组成员凭借丰富的业务、技术经验、专业的职业素养和较…

redhat8.6配置本地yum源

第一步先挂载本地镜像 df -h 查看是否有镜像,没有默认在/dev/dr0 以下为没有挂载图片2. 挂载本地镜像 mkdir /mnt/rd8 mount /dev/sr0 /mnt/rd8/ 挂载完毕再df -h 看一眼。已经存在/dev/sr03. 填写文件 [rootlinux-server ~]# cd /etc/yum.repos.d/ [rootlinux…

MySQL数据库基础合集

MySQL数据库基础合集 目录 MySQL数据库基础合集SQL关键字DDL关键字DML关键字DQL关键字DCL关键字约束关键字 SQL基础数据类型整数类型字符类型浮点类型时间类型 数据定义语言DDL1.查看数据库2.创建库3.删除库4.切换库5.创建表6.删除表7.查看表8.查看表属性9.插入列10.修改列11.设…

设计模式——模板方法模式(Template Method Pattern)

概述 模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式。模板方法模式是结…

氢气传感器报警值:守护实验室安全的隐形卫士

随着科技的发展,我们的生活变得越来越便捷,但是与此同时,安全问题也日益凸显。其中,氢气作为一种清洁能源,被广泛应用于各个领域,但是如果不加以控制,氢气泄漏也可能带来严重的安全隐患。因此&a…

成都源聚达:抖音开店卖什么最好

在数字化浪潮的推动下,抖音已成为一个集娱乐与商业于一体的平台,吸引着无数商家和创作者。但在这个竞争激烈的市场中,选择什么样的产品才能在抖音上脱颖而出呢? 自然是那些符合抖音用户喜好的产品。据统计,服饰、美妆、食品、家居…

[k8s系列]:kubernetes·概念入门

文章目录 序言1 kubernetes概述1.1 kubernetes解决的问题1.1.1 部署方式的演变1.1.2 容器化部署——容器编排问题 1.2 kubernetes组件1.2.1 kubernetes组件调用关系1.2.2 调用逻辑示例 序言 序言:本文将从,第一节:kubernetes解决的问题、组件…

Linux实验记录:使用iptables

前言: 本文是一篇关于Linux系统初学者的实验记录。 参考书籍:《Linux就该这么学》 实验环境: VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注: 防火墙作为公网与内网的屏障&#…

2023年黄金市场行业分析(电商数据查询软件):年销售额激增104%,黄金消费持续走热

近日,社交平台上不少年轻人将实物金条在黄金加工店加工成黄金首饰的帖子爆火,不少人也在评论区表示要跟随。可以看到,黄金的热潮还在持续。 根据世界黄金协会《2022年中国金饰市场趋势洞察》报告显示,黄金市场被认为是销售大头的…

Flask 入门1:一个简单的 Web 程序

1. 关于 Flask Flask诞生于2010年, Armin Ronacher的一个愚人节玩笑。不过现在已经是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。 Flask本身相当于一个内核,其他几乎所…

idea报错:Cannot resolve symbol ‘springframework‘

说明maven没有配置好或者加载好 解决: 1)File–>Invalidate Caches… 清理缓存,重启idea客户端 然后我这里只进行了第一步就不报错了!!! 如果你依然报错,就继续第二步: 2&…

实战教程:如何用Spring Boot和MySQL存储共享单车数据

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

数字孪生项目开发的注意事项

数字孪生是指使用数字化技术创建物理实体的数字副本,通常用于模拟、监测和优化实际系统的运行。数字孪生项目的开发涉及多个方面,以下是一些注意事项,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#…

Node.js-express

1.了解Ajax 1.1 什么是ajax Ajax的全称是Asynchronous Javascript And XML(异步Js和XML). 通俗的理解:在网页中利用XMLHttpRequest对象和服务器进行数据交互的方式,就是Ajax 1.2 为什么要学习Ajax 之前所学的技术&#xff0c…

想查大数据信用报告,这几点高性价比查询平台的特点要了解!内附查询平台推荐

随着大数据技术的不断发展,大数据信用报告成为不少人全方位了解自身个人信用的重要工具。在众多大数据信用报告查询平台中,选择高性价比的查询平台是很多人都想了解的,本文就为大家介绍大数据信用报告查询高性价比平台的特点,希望…

如何在群晖NAS部署office服务实现多人远程协同办公编辑文档

文章目录 本教程解决的问题是:1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是: 1.Word,PPT,Excel等重要文件存在本地环境,如何在编…