Open maoruibin opened 6 years ago
决策树算法是机器学习算法中的一种分类算法,sklearn 包提供了相应的实现,接着用决策树算法来完成一个小练习。
现在需要编写一个模型用来判断一个水果是苹果还是橘子
要得到模型,就必须要有训练数据也称作训练样本,然后利用训练数据的特征和标签进行训练,
以上便是一个样本集,这个集合里有四条训练样本,样本包含两个要素
其实,这个例子中关于标签的理解有点抽象,英文中特征是 'feature',标签是 'label' 针对于特定的样本,其实这里的样本的标签理解为结果可能更好理解。
针对于特定的样本
在机器学习的世界里,所有的现实世界中的东西都是数据,要被训练的数据集合中每一个数据样本会有很多特征值,但是光有特征不行,在监督学习的范畴内,特征需要跟一个结果确定起来,这个样本才是一个完整的样本,这里的结果,也可以理解为根据样本属性值打标签。当然生活中标签的概念都是一种被动的行为,是后期人们打上去的,而这里是样本本来就有的东西。 Label
有了样本数据集,就可以开始训练了,这里可以自己编写一个分类器,然后使用训练数据进行训练,然后最终得出一个模型,接着用这个模型进行数据预测。
而 sklearn 作为一个成熟的数据处理包,他已经实现了机器学习中大多数算法,其中就有分类算法决策树的实现 - DecisionTreeClassifier,使用时只需要导入对应的包即可。 训练好了模型,预测未知的数据就很简单了,代码如下
DecisionTreeClassifier
from sklearn import tree # [重量,光滑度(1 光滑 0 粗糙] # 样本数据 训练数据 features = [[140,1],[130,1],[150,0],[160,0]] # 样本对应的标签 labels = ['apple','apple','orange','orange'] # 决策树分类 # 创建分类器 clf = tree.DecisionTreeClassifier() # 使用样本进行训练 clf = clf.fit(features,labels) # 利用已有模型预测数据 result = clf.predict([[180,1]]) print result
result is
['orange']
决策树算法是机器学习算法中的一种分类算法,sklearn 包提供了相应的实现,接着用决策树算法来完成一个小练习。
练习目的
练习场景
现在需要编写一个模型用来判断一个水果是苹果还是橘子
训练数据
要得到模型,就必须要有训练数据也称作训练样本,然后利用训练数据的特征和标签进行训练,
样本数据集
以上便是一个样本集,这个集合里有四条训练样本,样本包含两个要素
其实,这个例子中关于标签的理解有点抽象,英文中特征是 'feature',标签是 'label'
针对于特定的样本
,其实这里的样本的标签理解为结果可能更好理解。在机器学习的世界里,所有的现实世界中的东西都是数据,要被训练的数据集合中每一个数据样本会有很多特征值,但是光有特征不行,在监督学习的范畴内,特征需要跟一个结果确定起来,这个样本才是一个完整的样本,这里的结果,也可以理解为根据样本属性值打标签。当然生活中标签的概念都是一种被动的行为,是后期人们打上去的,而这里是样本本来就有的东西。 Label
具体训练以及预测
有了样本数据集,就可以开始训练了,这里可以自己编写一个分类器,然后使用训练数据进行训练,然后最终得出一个模型,接着用这个模型进行数据预测。
而 sklearn 作为一个成熟的数据处理包,他已经实现了机器学习中大多数算法,其中就有分类算法决策树的实现 -
DecisionTreeClassifier
,使用时只需要导入对应的包即可。 训练好了模型,预测未知的数据就很简单了,代码如下result is