当前位置:   article > 正文

机器学习——决策树的实现

机器学习——决策树的实现



  1. #!/usr/bin/env python
  2. #-*-coding:utf-8-*-
  3. #决策树的建立,训练测试,
  4. from sklearn.feature_extraction import DictVectorizer
  5. import csv
  6. from sklearn import preprocessing
  7. from sklearn import tree
  8. from sklearn.externals.six import StringIO
  9. #读数据
  10. allElectronicsData=open(r'jueceshu.csv','rb')
  11. reader=csv.reader(allElectronicsData)
  12. headers=reader.next()
  13. featureList=[]
  14. labelList=[]
  15. #分析数据
  16. for row in reader:
  17. #print(row)
  18. if(row):
  19. labelList.append(row[len(row)-1])
  20. rowDict={}
  21. for i in range(1,len(row)-1):
  22. rowDict[headers[i]]=row[i]
  23. featureList.append(rowDict)
  24. print(featureList)
  25. #转化数据
  26. vec=DictVectorizer()
  27. dummyX=vec.fit_transform(featureList).toarray()
  28. print('dummyX:'+str(dummyX))
  29. print(vec.get_feature_names())
  30. print('labelList:'+str(labelList))
  31. lb=preprocessing.LabelBinarizer()
  32. dummyY=lb.fit_transform(labelList)
  33. print('dummyY:'+str(dummyX))
  34. #训练数据
  35. clf=tree.DecisionTreeClassifier(criterion='entropy')
  36. clf=clf.fit(dummyX,dummyY)
  37. print('clf'+str(clf))
  38. #转化为dot模式
  39. with open('allElectronicInformationGainDri.dot','w') as f:
  40. f=tree.export_graphviz(clf,feature_names=vec.get_feature_names(),out_file=f)
  41. #决策树的预测
  42. on
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/833412
推荐阅读
相关标签
  

闽ICP备14008679号