文章目录
问题介绍
决策树是一种非线性解决回归或者分类的思路,这篇文章是从QQ的好友密度,日志密度,以及真实头像和QQ是否是真实用户的相关性出发,利用决策树分析问题。并且画出了决策树,还手写代码实现了决策树的分裂标准。
决策树可视化
# 导包
import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier # tree模块中有回归树和分类树,此处导入分类树
from sklearn import tree
# 构建数据,s,m,l分别表示小,中,大
y = np.array(list('NYYYYYNYYN'))
X = pd.DataFrame({
'日志密度':list('sslmlmmlms'),
'好友密度':list('slmmmlsmss'),
'真实头像':list('NYYYYNYYYY')})
X
日志密度 | 好友密度 | 真实头像 | |
---|---|---|---|
0 | s | s | N |
1 | s | l | Y |
2 | l | m | Y |
3 | m | m | Y |
4 | l | m | Y |
5 | m | l | N |
6 | m | s | Y |
7 | l | m | Y |
8 | m | s | Y |
9 | s | s | Y |
# 在算法中计算,必须是数字,对字符串做相应的转换
X['日志密度']=X['日志密度'].map({
's':0,'m':1,'l':2})
X['好友密度']=X['好友密度'].map({
's':0,'m':1,'l':2})
X['真实头像']=X