本次使用的是python语言以及Scikit-learn库,实验环境使用的是Linux下的iPython。
1.首先将添加sklearn库中的决策树tree
接着引入一些模型特征,我这里使用认的身高和是否有胡子来作为特征(features),而性别来作为标签(labels)。建立如下:
(tips:数据量越大,模型越好,那么结果就会越精确,这里只引入3男3女的特征来做个示范)
代码如下:
有了数据模型之后,接下来的活就只需要交给机器去做就行了。
首先创建一个决策树对象clf。
接下来将这一句将数据交给决策去去判断!
上面就是所有需要做的准备,接下来就可以使用clf来进行判定啦。
假设此时有一个身高158的没有胡子的人,那么机器会判断TA是男人还是女人呢?
显然,此时机器人判定这是一个女人‘female’。
再试一次,这次是一个172有胡子的人
这一次机器判定为男性~
大家可以尝试着自己写一下其他象征意义的程序,输入的训练数据越大,那么输出正确的可能性就越大~
完整的代码如下:
# -*- coding: utf-8 -*-
# Date: 2018/6/20
'''
入门机器学习的第一个程序!
需要安装以下包
pip install numpy
pip install scipy
pip install sklearn
'''
from sklearn import tree
'''
接着引入一些模型特征,我这里使用认的身高和是否有胡子来作为特征(features),而性别来作为标签(labels)。建立如下
'''
feature = [[178,1],[155,0],[177,0],[165,0],[169,1],[160,0]]
label = ['male','female','male','female','male','female']
'''
有了数据模型之后,接下来的活就只需要交给机器去做就行了。
首先创建一个决策树对象clf
'''
clf = tree.DecisionTreeClassifier()
#接下来将这一句将数据交给决策去去判断!
clf = clf.fit(feature,label)
'''
上面就是所有需要做的准备,接下来就可以使用clf来进行判定啦。
假设此时有一个身高158的没有胡子的人,那么机器会判断TA是男人还是女人呢?
'''
res=clf.predict([[158,0]])
print(res)
'''
显然,此时机器人判定这是一个女人‘female’。
再试一次,这次是一个172有胡子的人
'''
res=clf.predict([[172,1]])
print(res)