今天在https://blog.csdn.net/qq_28444159/article/details/54428940 看到了这篇文章,觉得还是可以做个补充的
1.准备文档
在同根目录下建立man_male.xls ,文档内容为:
性别 | 身高(cm) | 体重(kg) | 发型(1代表长发,0代表短发) | 胡子(1代表有,0代表无) |
男 | 178 | 75 | 0 | 1 |
女 | 150 | 88 | 0 | 1 |
男 | 178 | 65 | 0 | 1 |
女 | 170 | 64 | 1 | 0 |
男 | 167 | 66 | 1 | 1 |
女 | 152 | 54 | 1 | 0 |
男 | 177 | 78 | 0 | 1 |
女 | 180 | 60 | 1 | 0 |
男 | 160 | 62 | 1 | 1 |
女 | 149 | 57 | 1 | 0 |
男 | 168 | 68 | 0 | 1 |
女 | 168 | 53 | 1 | 0 |
男 | 182 | 70 | 0 | 1 |
女 | 190 | 68 | 1 | 1 |
男 | 174 | 56 | 0 | 1 |
女 | 170 | 59 | 1 | 0 |
男 | 175 | 69 | 0 | 1 |
女 | 164 | 48 | 1 | 0 |
男 | 176 | 72 | 0 | 1 |
女 | 157 | 45 | 1 | 0 |
#coding = utf-8 from sklearn import tree import pandas as pd #导入数据 data = pd.read_excel("man_male.xls") #也可以用DataFrame()函数进行框架化 new_data = pd.DataFrame(data) # print(new_data) #观察数据的多种统计指标 new_data.describe() #获取列名称 name = [column for column in new_data] print(name) #获取特征值 feature = new_data[name[1:]] print(feature) #获取标签值 label = new_data[name[0]] print(label) #创建一个决策树对象clf clf = tree.DecisionTreeClassifier() #将数据交给决策树 clf = clf.fit(feature,label) #现在开始预测,假设有一个身高166cm,体重88kg,短发,没有胡子的人 A = clf.predict([[166,88,0,0]]) print(A) #现在开始预测,假设有一个身高166cm,体重88kg,短发,有胡子的人 #注意: B = clf.predict([[166,88,0,1]]) print(A) #现在开始预测,假设有一个身高166cm,体重88kg,短发,有胡子的人 C = clf.predict([[166,88,1,1]]) print(C) #现在开始预测,假设有一个身高166cm,体重88kg,短发,有胡子的人 D = clf.predict([[166,88,1,1]]) print(D) #注意:上面我们可以是通过保持身高、体重不变的情况下 来预测
大家可以比对不一样的结果