在上一篇文章中,我们已经构建了决策树,接下来可以使用它用于实际的数据分类。在执行数据分类时,需要决策时以及标签向量。程序比较测试数据和决策树上的数值,递归执行直到进入叶子节点。
这篇文章主要使用决策树分类器就行分类,数据集采用UCI数据库中的红酒,白酒数据,主要特征包括12个,主要有非挥发性酸,挥发性酸度, 柠檬酸, 残糖含量,氯化物, 游离二氧化硫, 总二氧化硫,密度, pH,硫酸盐,酒精, 质量等特征。
下面是具体代码的实现:
#coding :utf-8
'''
2017.6.26 author :Erin
function: "decesion tree" ID3
'''
import numpy as np
import pandas as pd
from math import log
import operator
import random
def load_data():
red = [line.strip().split(';') for line in open('e:/a/winequality-red.csv')]
white = [line.strip().split(';') for line in open('e:/a/winequality-white.csv')]
data=red+white
random.shuffle(data) #打乱data
x_train=data[:800]
x_test=data[800:]