{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "title: 信息熵信息增益率基尼系数原理和pandas实战\n", "date: 2018-09-18 19:17:55\n", "tags: [pandas]\n", "toc: true\n", "xiongzhang: true\n", "xiongzhang_images: [main.jpg]\n", "\n", "---\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "信息增益(Info Gain), 信息增益率(Info Gain Ratio)和 基尼指数(Gini Index)都是在做决策树时试用的分支选择策略, 下面我们试用numpy来实现这几个指标, 以便加深对这些指标的理解。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "下面我们来引入用到的库:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "# 进行数据整理\n", "import pandas as pd\n", "# 数据\n", "import io\n", "# 验证结果\n", "from scipy import stats" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 案例和数据集\n", "\n", "学习决策树常用的一个数据集就是\"机器学习(周志华)》 西瓜数据集3.0\", 下面我把数据粘贴出来, 你们就不必下载了, 直接硬编码到python种使用:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | 色泽 | \n", "根蒂 | \n", "敲声 | \n", "纹理 | \n", "脐部 | \n", "触感 | \n", "密度 | \n", "含糖率 | \n", "好瓜 | \n", "
---|---|---|---|---|---|---|---|---|---|
编号 | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
1 | \n", "青绿 | \n", "蜷缩 | \n", "浊响 | \n", "清晰 | \n", "凹陷 | \n", "硬滑 | \n", "0.697 | \n", "0.460 | \n", "是 | \n", "
2 | \n", "乌黑 | \n", "蜷缩 | \n", "沉闷 | \n", "清晰 | \n", "凹陷 | \n", "硬滑 | \n", "0.774 | \n", "0.376 | \n", "是 | \n", "
3 | \n", "乌黑 | \n", "蜷缩 | \n", "浊响 | \n", "清晰 | \n", "凹陷 | \n", "硬滑 | \n", "0.634 | \n", "0.264 | \n", "是 | \n", "
4 | \n", "青绿 | \n", "蜷缩 | \n", "沉闷 | \n", "清晰 | \n", "凹陷 | \n", "硬滑 | \n", "0.608 | \n", "0.318 | \n", "是 | \n", "
5 | \n", "浅白 | \n", "蜷缩 | \n", "浊响 | \n", "清晰 | \n", "凹陷 | \n", "硬滑 | \n", "0.556 | \n", "0.215 | \n", "是 | \n", "
6 | \n", "青绿 | \n", "稍蜷 | \n", "浊响 | \n", "清晰 | \n", "稍凹 | \n", "软粘 | \n", "0.403 | \n", "0.237 | \n", "是 | \n", "
7 | \n", "乌黑 | \n", "稍蜷 | \n", "浊响 | \n", "稍糊 | \n", "稍凹 | \n", "软粘 | \n", "0.481 | \n", "0.149 | \n", "是 | \n", "
8 | \n", "乌黑 | \n", "稍蜷 | \n", "浊响 | \n", "清晰 | \n", "稍凹 | \n", "硬滑 | \n", "0.437 | \n", "0.211 | \n", "是 | \n", "
9 | \n", "乌黑 | \n", "稍蜷 | \n", "沉闷 | \n", "稍糊 | \n", "稍凹 | \n", "硬滑 | \n", "0.666 | \n", "0.091 | \n", "否 | \n", "
10 | \n", "青绿 | \n", "硬挺 | \n", "清脆 | \n", "清晰 | \n", "平坦 | \n", "软粘 | \n", "0.243 | \n", "0.267 | \n", "否 | \n", "
11 | \n", "浅白 | \n", "硬挺 | \n", "清脆 | \n", "模糊 | \n", "平坦 | \n", "硬滑 | \n", "0.245 | \n", "0.057 | \n", "否 | \n", "
12 | \n", "浅白 | \n", "蜷缩 | \n", "浊响 | \n", "模糊 | \n", "平坦 | \n", "软粘 | \n", "0.343 | \n", "0.099 | \n", "否 | \n", "
13 | \n", "青绿 | \n", "稍蜷 | \n", "浊响 | \n", "稍糊 | \n", "凹陷 | \n", "硬滑 | \n", "0.639 | \n", "0.161 | \n", "否 | \n", "
14 | \n", "浅白 | \n", "稍蜷 | \n", "沉闷 | \n", "稍糊 | \n", "凹陷 | \n", "硬滑 | \n", "0.657 | \n", "0.198 | \n", "否 | \n", "
15 | \n", "乌黑 | \n", "稍蜷 | \n", "浊响 | \n", "清晰 | \n", "稍凹 | \n", "软粘 | \n", "0.360 | \n", "0.370 | \n", "否 | \n", "
16 | \n", "浅白 | \n", "蜷缩 | \n", "浊响 | \n", "模糊 | \n", "平坦 | \n", "硬滑 | \n", "0.593 | \n", "0.042 | \n", "否 | \n", "
17 | \n", "青绿 | \n", "蜷缩 | \n", "沉闷 | \n", "稍糊 | \n", "稍凹 | \n", "硬滑 | \n", "0.719 | \n", "0.103 | \n", "否 | \n", "