决策树
1.决策树缺失值处理
1.1对于训练模型,训练数据部分样本的部分特征值缺失的情况下,做法是:把该数据按比例分成三份数据。可以算出该特征的信息增益。
1.2对于预测数据,C4.5中采用的方法是:测试样本在该属性值上有缺失值,那么就同时探查(计算)所有分支,然后算每个类别的概率,取概率最大的类别赋值给该样本。
1.3测试样本属性也有缺失值那要怎么办?
有论文里讨论过:
2.决策树应用的案例:
import csv
from sklearn.feature_extraction import DictVectorizer
from sklearn import preprocessing
from sklearn import tree
film_data = open('film.csv', 'rt')
reader = csv.reader(film_data)
# 表头信息
headers = next(reader)
#print(headers)
feature_list = []
result_list = []
for row in reader:
result_list.append(row[-1])#row[-1]是求这行的最后一个元素
# 去掉首位两列,特征集中只保留'type','count