0.理论
决策树:
在决策树流程图的每个步骤中,都要找到这样一个属性,它对数据的划分使得下一步中的熵是最小的。我们会得到两个分类,在例子中是录用和不录用,我们要在这个步骤中确定一个属性,使得下一步的熵最小。它是一种贪婪算法,在生成树的每个步骤中都要给选择使熵最小的属性。
随机森林:
随机森林的基本思想是生成多棵树,用训练数据的随机样本生成每一颗树,并组成森林。然后,每棵树对最终结果进行投票,这可以使我们消除对训练数据的过拟合。总的说来,随机森林就是一组决策树组成的森林,其中每棵树都来自于不同的样本数据,每个阶段能够选择的属性集也不相同。
1.使用决策树预测录用决策
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
input_file = "E:/python/python数据科学与机器学习/《Python数据科学与机器学习:从入门到实践》源代码/PastHires.csv"
df = pd.read_csv(input_file, header = 0)
df.head()
Years Experience | Employed? | Previous employers | Level of Education | Top-tier school | Interned | Hired | |
---|---|---|---|---|---|---|---|
0 | 10 | Y | 4 | BS | N | N | Y |
1 | 0 | N | 0 | BS | Y | Y | Y |
2 | 7 | N | 6 | BS | N | N | N |
3 | 2 | Y | 1 | MS | Y | N | Y |
4 | 20 | N | 2 | PhD | Y | N | N |
# 将字符串数据转为数值
d = {
'Y': 1,