当前位置: 首页 > news >正文

中国做网站公司排名网站建设与推广王钊

中国做网站公司排名,网站建设与推广王钊,电影宣传推广方案,wordpress搜索功能性能决策树的一般流程检测数据集中的每个子项是否属于同一个分类if so return 类标签Else寻找划分数据集的最好特征划分数据集创建分支 节点from math import logimport operator#生成样本数据集def createDataSet():dataSet [[1,1,yes],[1,1,yes],[1,0,no],[0,1,no],[0,1,no]]lab…决策树的一般流程检测数据集中的每个子项是否属于同一个分类if so return 类标签Else寻找划分数据集的最好特征划分数据集创建分支 节点from math import logimport operator#生成样本数据集def createDataSet():dataSet [[1,1,yes],[1,1,yes],[1,0,no],[0,1,no],[0,1,no]]labels [no surfacing,flipper]return dataSet,labels# 计算香农熵 香农 大神必须要膜拜啊信息界的根目录人物啊# no surfacing 指的是 不浮出水面能否生存 1 标识 是 0 指的是否# flipper 指的是是否有脚# yes no指的是否是鱼类def calcShannonEnt(dataSet):numEntries len(dataSet) # 用上面的createDataSet dataSet 这个值就是5#定义标签字典labelCounts {}# 为所有可能的分类创建字典for featVec in dataSet:currentLabel featVec[-1] #这个-1指的是去取最后一个维度 对应数据dataSet 这里取的是yes和noif currentLabel not in labelCounts.keys():# 如果当前分类标签不在 标签字典中labelCounts[currentLabel] 0# 其他情况 分类标签分类加1labelCounts[currentLabel] 1#定义香农熵 以2为底数求对数shannonEnt 0.0for key in labelCounts:#计算 yes 或者No 出现的概率pro float(labelCounts[key])/numEntries# 计算香农熵shannonEnt - pro*log(pro,2)return shannonEnt#dataSet是待划分的数据集 划分数据集的特征 axis 特征的返回值value#最后是创建了一个新的列表对象def splitDataSet(dataSet, axis , value):# 创建新list对象retDataSet []for featVec in dataSet:if featVec[axis] value:reducedFeatVec featVec[:axis]reducedFeatVec.extend(featVec[axis1:])retDataSet.append(reducedFeatVec)return retDataSet# 选择最好的特征值进行数据集划分def chooseBestFeatureToSplit(dataSet):# len(dataSet[0])是计算这一行有多少列即有多少个特征值numFeatures len(dataSet[0])-1 # -1 是最后一个特征值就不要记录在内了算baseEntrop的时候已经算了最后一个特征值yes nobaseEntropy calcShannonEnt(dataSet)bestInfoGain 0.0bestFeature -1for i in range(numFeatures):#创建唯一的分类标签列表 也就是说提取dataSet每一行第i个值 就提取datfeatList [example[i] for example in dataSet]# 取出有几种特征值uniqueVals set(featList)newEntropy 0.0for value in uniqueVals:#创建特征值的子数据集subDataSet splitDataSet(dataSet,i, value)#计算该特征值数据对总数在数据对总数出现的概率pro len(subDataSet)/float(len(dataSet))#计算分割出来的子集香农熵newEntropy pro*calcShannonEnt(subDataSet)#计算信息增益 得到最好的特征值 这个理论是这样的g(D,A) H(D)-H(D/A)infoGain baseEntropy-newEntropy#取出最大的信息增益此时特征值最大if(infoGain bestInfoGain):bestInfoGain infoGainbestFeature ireturn bestFeature#构建决策树是根据特征值的消耗来计算的如果后面的特征值已经全部用完了但是还没有分出结果这个时候就需要使用多数表决方式计算节点分类最后返回最大的分类def majorityCnt(classList):# 分类的字典classCount {}for vote in range(classList):#如果不在 分类字典中if vote not in classCount.keys(): classCount[vote] 0classCount[vote] 1# 根据出现的次数大到小排序sortedClassCount sorted(classCount.items(),keyoperator.itemgetter(1),reverseTrue)return sortedClassCount[0][0]#创建决策树def createTree(dataSet, labels):# 获取数据样本每组最后一组的特征值 这里是yes,noclassList [example[-1] for example in dataSet]# 如果说这个classList 全部都是 yes 或者全部是no 那肯定子返回yes 或者noif(classList.count(classList[0]) len(classList)):return classList[0]#如果遍历完所有的特征返回出现次数最多的#是用消耗特征值的方式进行构造决策树的每次会消掉一个特征值if len(dataSet[0]) 1:return majorityCnt(classList)#选择最好的特征值bestFeat chooseBestFeatureToSplit(dataSet)bestFeatLabel labels[bestFeat]myTree {bestFeatLabel:{}}# 删除labels中的一特征值del(labels[bestFeat])#找到特征值那一列featValues [example[bestFeat] for example in dataSet]uniqueVals set(featValues)for value in uniqueVals:# labels列表的赋值subLabels labels[:]myTree[bestFeatLabel][value]createTree(splitDataSet(dataSet,bestFeat,value),subLabels)return myTreedataSet,lables createDataSet()shannonEnt calcShannonEnt(dataSet)my createTree(dataSet,lables)print(my)总结以上所述是小编给大家介绍的Python3.0 实现决策树算法的流程,希望对大家有所帮助如果大家有任何疑问请给我留言小编会及时回复大家的。在此也非常感谢大家对我们网站的支持如果你觉得本文对你有帮助欢迎转载烦请注明出处谢谢本文标题: Python3.0 实现决策树算法的流程本文地址: http://www.cppcns.com/jiaoben/python/267738.html
http://www.zqtcl.cn/news/31988/

相关文章:

  • 建设工程八大员考试网站互联网专属保险什么意思
  • 电子商务的建站流程wordpress后台加载慢
  • 网站建设方案是什么意思创意合肥网站建设
  • 镇江外贸网站建设创意产品设计作品图片
  • 中国企业网站设计案例软件技术专业升本可以升哪些专业
  • 怎么仿制网站wordpress 安装不了
  • 专业点的网站制作公司沈阳人流需要多少钱大概多少钱
  • 潍坊网站定制模板建站电脑版传奇网站
  • 怎样保存网站资料做证据wordpress portfolio 缩略图
  • 泉州app网站开发价格wordpress付费文章
  • 河北燕郊网站制作如何查询网站的主机
  • 常德网站建大连装修公司排名前十名
  • 深圳建设交易网站网站的关键词库怎么做的那么多
  • 3322做网站网站建设的多少钱
  • 深圳做英文网站的公司上海施工单位
  • 网站布局怎么设计泰安网站建设企业
  • 网站添加百度商桥如何在云服务器上搭建网站
  • 北京营销型网站建设公司山东诚信工程建设监理有限公司网站
  • 赣州网站设计哪里好外墙设计装修效果图软件
  • 网站开发盈亏平衡分析表如何从网站获取图片做全景图
  • 做营销最好的网站源码网站服务器错误怎么解决
  • 心悦俱乐部官方网站怎么做任务做网站不会框架
  • 有哪些专做自然风景图片的网站免费做二建题的网站
  • 黄岛网站建设南宁有名的网络公司
  • 东莞公司网站制作要多少钱企业为什么要做网站建设
  • 五一电子网站建设wordpress 打包app
  • 教育视频网站开发免费wordpress搭建
  • 单位的网站建设费会计处理百度一下浏览器
  • 江苏省工程建设标准站网站网站 平台建设情况介绍
  • 网站建设一般需经历确立平台制作网站公司