前言
为完成每日一更的习惯,今天就从与我们专业比较相关的一些基础的机器学习基本方法说起,从目前我现在看的文献来看,用于我们专业的分类算法也就常用的那么几种,随机森林,决策树,SVM等等,今天也是从常用数据挖掘算法总结及python实现这一书中学习了决策树部分内容,可以说第一天是收获满满
1决策树简介
分类决策树模型是一种描述对实例进行的形结构。由点和有向边组成,节点有两种类型,内部节点与叶节点,内部节点表示特征或属性,叶节点表示一个类
1.1决策树结构
1.2决策树原理
这里不过多讲数学原理,以及数学公示的推导,讲的比较白话文一点呢就是根据已有的数据指标计算每个自变量的统计特征,根据统计特征划分若干的条件来进行决策树的结构构建,这些统计特征就包括熵,条件熵,信息增益等等
2代码实例
2.1数据集
data.txt
1.5 50 thin
1.5 60 fat
1.6 40 thin
1.6 60 fat
1.7 60 thin
1.7 80 fat
1.8 60 thin
1.8 90 fat
1.9 70 thin
1.9 80 fat
样本数据的第一、二列可视为自变量为身高体重,来衡量一个人是fat还是thin
2.2python代码
# -*- coding: utf-8 -*-
import numpy as np
from sklearn import tree
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
#from sklearn.cross_validation import train_test_split
#因为python的cross——validation的模块,全部重构在model_selection下
data=[]
labels=[]
with open(r'C:\Users\asus\Desktop\data.txt') as ifile:
for line in ifile:
tokens=line.strip().split(' ')
data.append([float(tk) for tk in tokens[: