特征: 花萼长度 + 花萼宽度 预测正确数目: 123 准确率: 82.00%
特征: 花萼长度 + 花瓣长度 预测正确数目: 145 准确率: 96.67%
特征: 花萼长度 + 花瓣宽度 预测正确数目: 144 准确率: 96.00%
特征: 花萼宽度 + 花瓣长度 预测正确数目: 143 准确率: 95.33%
特征: 花萼宽度 + 花瓣宽度 预测正确数目: 145 准确率: 96.67%
特征: 花瓣长度 + 花瓣宽度 预测正确数目: 147 准确率: 98.00%
实现代码
#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from sklearn.tree import DecisionTreeClassifier
def iris_type(s):
it={'Iris-setosa': 0, 'Iris-versicolor': 1, 'Iris-virginica': 2}
return it[s]
iris_feature = u'花萼长度', u'花萼宽度', u'花瓣长度', u'花瓣宽度'
if __name__ == "__main__":
mpl.rcParams['font.sans-serif']=[u'SimHei'] #黑体 FangSong/KaiTi
mpl.rcParams['axes.unicode_minus']=False
path = '10.iris.data'
#加载数据 converters={4:iris_type} 将第四列数据替换成iris_type函数返回的值
data=np.loadtxt(path,dtype=float,delimiter=',',converters={4:iris_type})
#前4列是特征向量 赋给x_prime,最后一列标签列赋给y
x_prime,y=np.split(data,(4,),axis=1)
# print 'x_prime'
# print x_prime
# print 'y='
# print y
# print '----------------'
#(0,1)表示取第0列和