当前位置:   article > 正文

决策树实现预测是否购买点电脑_人工智能决策树客户是否购买计算机

人工智能决策树客户是否购买计算机
Python机器学习的库:scikit-learn
  • 简单高效的数据挖掘和机器学习分析

  • 对所有用户开放,根据不同需求高度可重用性

  • 基于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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

对表格数据进行取值后,需要将数据格式化成决策树函数所能识别的格式

# 实例DictVectorizer对象
vec = DictVectorizer()
# 转化成需要的格式,及所有特征进行矩阵化
dummyX = vec.fit_transform(featureList) .toarray()
  • 1
  • 2
  • 3
  • 4
  • 5

将结果写入到dot文档中

# 可视化模型
with open("allElectronicInformationGainOri.dot", 'w') as f:
    f = tree.export_graphviz(clf, feature_names=vec.get_feature_names(), out_file=f)
  • 1
  • 2
  • 3
  • 4

到这一步,可以说已经训练成功了,现在我添加一个新人,让机器自动学习,判断他到底是买还是不买电脑

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

判断结果:

[1]
  • 1

那么,呵呵,这位顾客就会买,如果你现在是电脑商城的小姐姐,知道怎么做了吧?

微信公众号首发,欢迎关注,可进相关群,互相学习,共同进步!

这里写图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/768619
推荐阅读
相关标签
  

闽ICP备14008679号