如果我的朋友说介绍个女生给我认识,那么我会问我朋友女生的条件,然后再决定认不认识。
他说他只知道关于女生的这些信息:- 《王者荣耀》玩的好不好。
- 喜不喜欢宠物。
- 长得漂不漂亮。
- 脾气好不好。
- 长头发还是短头发。
- 是否要求南方有车有房。
- 喜不喜欢吃辣条。
- 会不会做饭。
但是我的朋友很势利,他说我每问一个关于女生的问题就必须给他100块。
那我应该怎么问最少的问题,花最少的钱,就能决定认不认识呢?像这种问题可以用ID3来做判断。首先我先来介绍一下ID3算法。
ID3 算法是澳洲计算机科学家Ross Quinlan发明的,全称是Iterative Dichotomiser 3。ID3 算法的作用是通过一个数据集来生成一棵决策树。ID3 算法的主要应用领域有:1,机器学习,2,自然语言处理。ID3 算法的执行流程:
第一步是递归地构建决策树,计算信息增益最大(或者熵最小)的特征作为最优特征。递归的出口是:1,所有标签都一样。 2,当所有特征都遍历过,那么选择出现最多的标签。