时间:第14周
&关于计划:
决策树的学习--使用ID3算法:
(1)数据处理部分:
计算香农熵;
划分数据集合;
选择最好的数据集划分方式;
构建决策树;
(2)Matplotlib绘图部分:
基本节点绘制函数;
构造注解树、使用决策树执行分类;
(本文内容参考于《机器学习实战》)
&内容摘要:
1.计算香农熵以及准备数据集:
![img_b514e52b58d0c13543d540b7733df137.jpe](https://i-blog.csdnimg.cn/blog_migrate/183b75e2bb0fc6b76e5effdfdb9503c2.jpeg)
图片发自简书App
测试代码:
(1)计算准备好的数据集的香农熵;
(2)新增一个键值(maybe),计算香农熵,观察其变化(熵越高,则混合的数据也越多);
![img_ba7e349cea392f5697c60449a5580b61.jpe](https://i-blog.csdnimg.cn/blog_migrate/dfdde5d955fa0faa32efbae945bfc176.jpeg)
图片发自简书App
2.首先,关于append函数跟extend函数的区别:
![img_04943b3777d1457fd9571d480b6d1e68.jpe](https://i-blog.csdnimg.cn/blog_migrate/e2aabfb20426ee38d93e448f180a0e03.jpeg)
图片发自简书App
接着,定义函数,按照给定特征划分数据集:
![img_1e7a7395cc7925d7b788441bf28de687.jpe](https://i-blog.csdnimg.cn/blog_migrate/2582962b54f5c6761909e0830ecaa7c1.jpeg)
图片发自简书App
测试:
![img_fdf5f7f8cdaca8a80e2d103557b421a2.jpe](https://i-blog.csdnimg.cn/blog_migrate/ef3b4958947c800a2ba727c68e3ec7f2.jpeg)
图片发自简书App
![img_85a825e4a2000a40cf203c54c27ce392.jpe](https://i-blog.csdnimg.cn/blog_migrate/9cdf23e93fadc1aa598a65c0aecad32c.jpeg)
图片发自简书App
3.选择最好的数据集划分方式:
代码:
![img_06cd4ff9b2017ee22e07b9d00a21072d.png](https://i-blog.csdnimg.cn/blog_migrate/a49e4f676d9aed3555185781b0349273.png)
测试:
代码运行结果告诉我们,第0个特征是最好的用于划分数据集的特征
![img_95cf13be8fc941a86f7926e65bd8fa1c.png](https://i-blog.csdnimg.cn/blog_migrate/17924e36e061d66d17522f36eabeb74b.png)
4.绘制树节点的函数设计:
![img_c4316f1215824338d7a51bf61474f993.jpe](https://i-blog.csdnimg.cn/blog_migrate/51a864845124126d1e8fc26440330c69.jpeg)
图片发自简书App
![img_2cf3e58aa3728e8f7c616308a69e9b2a.jpe](https://i-blog.csdnimg.cn/blog_migrate/79f819f79eac8dcb4b43f505a1f553b0.jpeg)
图片发自简书App