赞
踩
简单高效的数据挖掘和机器学习分析
对所有用户开放,根据不同需求高度可重用性
基于Numpy, SciPy和matplotlib(如果大家需要关于数据分析方面的笔记,可查看公众号以前的文章,有什么好的学习经验或者技术可与作者取得联系,加入[码龙社]技术交流群,一起学习,共同进步)
开源,商用级别:获得 BSD许可
文档: http://scikit-learn.org/stable/modules/tree.html
这里仅截取核心代码,全部代码已上传相关微信群
for row in reader:
# 取每一行最后一个值,即Class_buys_computer的值
labelList.append(row[len(row)-1])
# 对每一行进行取特征值,从age到credit_rating取值
rowDict = {}
for i in range(1, len(row)-1):
rowDict[headers[i]] = row[i]
featureList.append(rowDict)
对表格数据进行取值后,需要将数据格式化成决策树函数所能识别的格式
# 实例DictVectorizer对象
vec = DictVectorizer()
# 转化成需要的格式,及所有特征进行矩阵化
dummyX = vec.fit_transform(featureList) .toarray()
将结果写入到dot文档中
# 可视化模型
with open("allElectronicInformationGainOri.dot", 'w') as f:
f = tree.export_graphviz(clf, feature_names=vec.get_feature_names(), out_file=f)
到这一步,可以说已经训练成功了,现在我添加一个新人,让机器自动学习,判断他到底是买还是不买电脑
oneRowX = dummyX[0, :]
print("oneRowX: " + str(oneRowX))
newRowX = oneRowX
# 将第一个人的数据的第一个值和第三个值修改,age改为middle_aged
# 将年轻人变位中年人
newRowX[0] = 1
newRowX[2] = 0
print("newRowX: " + str(newRowX))
predictedY = clf.predict(newRowX)
print("predictedY: " + str(predictedY))
判断结果:
[1]
那么,呵呵,这位顾客就会买,如果你现在是电脑商城的小姐姐,知道怎么做了吧?
微信公众号首发,欢迎关注,可进相关群,互相学习,共同进步!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。