0.机器学习框架
1.基本概念
机器学习主要目标是根据已有的属性,得到未知的结论,或者说预测,而能预测的前提是已经积累了很多的经验,等等类似的说法。从基本的监督学习,非监督学习,半监督学习,训练集,测试集等概念讲起。
第一个介绍的算法是DecisionTree:
以上,将数据模型转化为一个一个节点,满足条件即往下走的思路,走到最后就需要做出决策,这样一种算法称之为决策树。
2.数据预处理
简单的有比如,考虑西瓜甜不甜,我们可以将目标设置为甜还是不甜,即是0还是1。一般我们可以根据瓜蒂,声音,颜色等外在属性对西瓜进行预测。
假设瓜蒂有生、熟之分,声音有清脆、浑浊之分,颜色有深绿,浅绿,泛白之分。每一种属性我们都可以用0,1,来表示,主要是因为做数据处理之前需要将描述语言进行这样的数据处理。
瓜蒂生:0
瓜蒂熟:1
清脆:1
浑浊:0
深绿:1
浅绿:0
泛白:0
这样一组[0,1,10,1,0,0]的数据就可以表示瓜蒂熟,声音清脆,颜色深绿的西瓜,如果西瓜甜,则相当于结果是1。绍完基本思路之后,我们就开始用python做初步的demo。
3.代码分析
首先导入用到的库
from sklearn.feature_extraction import DictVectorizer #字典转换
import csv #读取csv数据
from sklearn import preprocessing #sklearn的一些类
from sklearn import tree
from sklearn.externals.six import StringIO ##输入输出
接着是创造数据:
#创建数据集
headers=['RID','age','income','student','credit_rating','class_buys_computer']
rows=[('1','youth','high','no','fair','no'),
('2','youth',