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

外贸建站上海贵阳市做网站的公司

外贸建站上海,贵阳市做网站的公司,Wordpress慢加内存还是带宽,做纺织外贸网站文章目录 前言一、决策树是什么#xff1f;二、数据收集与整理1.数据收集2.数据清洗3.特征选择 三、决策树构建3.1绘制训练数据图像3.2 训练决策树模型3.3 依据模型绘制决策树的决策边界3.4 树模型可视化 四、模型预测五、随机森林模型总结 前言 之前搞足球数据分析的时候二、数据收集与整理1.数据收集2.数据清洗3.特征选择 三、决策树构建3.1绘制训练数据图像3.2 训练决策树模型3.3 依据模型绘制决策树的决策边界3.4 树模型可视化 四、模型预测五、随机森林模型总结 前言 之前搞足球数据分析的时候会通过一些预设条件去筛选比赛比如当前比分是0-0射门数10并且射正数2盘口为1那么筛选出来就是大球反之则是小球这种逻辑条件就是跟决策树差不多的算法模式所以尝试用CART算法决策树的一种算法看一下这种去分析大小球胜率都能达到多少再结合随机森林算法胜率又能达到多少这篇文章大概讲叙了决策树的算法实现过程。 一、决策树是什么 决策树是一种树形模型也是一种十分常用的分类和回归方法。决策树算法是一种监督学习算法英文是Decision tree。 决策树思想的来源非常朴素程序设计中的条件分支结构就是 if-else 结构最早的决策树就是利用这类结构分割数据的一种分类学习方法。 是一种树形结构本质是一颗由多个判断节点组成的树其中每个内部节点表示一个属性上的判断每个分支代表一个判断结果的输出最后每个叶节点代表一种分类结果。 用最简单的话来说就是根据你自己的条件告诉模型正确的结果比如射门数10是大球反之就是小球当然不可能这么简单这里还包含很多特征数据以及特征的增熵。 #mermaid-svg-6iJl6tzuQCJTsFdB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6iJl6tzuQCJTsFdB .error-icon{fill:#552222;}#mermaid-svg-6iJl6tzuQCJTsFdB .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6iJl6tzuQCJTsFdB .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-6iJl6tzuQCJTsFdB .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6iJl6tzuQCJTsFdB .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6iJl6tzuQCJTsFdB .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6iJl6tzuQCJTsFdB .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6iJl6tzuQCJTsFdB .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6iJl6tzuQCJTsFdB .marker.cross{stroke:#333333;}#mermaid-svg-6iJl6tzuQCJTsFdB svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6iJl6tzuQCJTsFdB .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-6iJl6tzuQCJTsFdB .cluster-label text{fill:#333;}#mermaid-svg-6iJl6tzuQCJTsFdB .cluster-label span{color:#333;}#mermaid-svg-6iJl6tzuQCJTsFdB .label text,#mermaid-svg-6iJl6tzuQCJTsFdB span{fill:#333;color:#333;}#mermaid-svg-6iJl6tzuQCJTsFdB .node rect,#mermaid-svg-6iJl6tzuQCJTsFdB .node circle,#mermaid-svg-6iJl6tzuQCJTsFdB .node ellipse,#mermaid-svg-6iJl6tzuQCJTsFdB .node polygon,#mermaid-svg-6iJl6tzuQCJTsFdB .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-6iJl6tzuQCJTsFdB .node .label{text-align:center;}#mermaid-svg-6iJl6tzuQCJTsFdB .node.clickable{cursor:pointer;}#mermaid-svg-6iJl6tzuQCJTsFdB .arrowheadPath{fill:#333333;}#mermaid-svg-6iJl6tzuQCJTsFdB .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-6iJl6tzuQCJTsFdB .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-6iJl6tzuQCJTsFdB .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-6iJl6tzuQCJTsFdB .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-6iJl6tzuQCJTsFdB .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-6iJl6tzuQCJTsFdB .cluster text{fill:#333;}#mermaid-svg-6iJl6tzuQCJTsFdB .cluster span{color:#333;}#mermaid-svg-6iJl6tzuQCJTsFdB div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-6iJl6tzuQCJTsFdB :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是 否 射正数10 大球 小球 二、数据收集与整理 1.数据收集 这里引用第三方网站的数据 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings(ignore) import ssl ssl._create_default_https_context ssl._create_unverified_context2.数据清洗 代码如下示例 data pd.read_csv(https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv) print(data.head())3.特征选择 我们选择以下特征来构建决策树 主队进球数客队进球数比赛时间简单划分为早期、中期、后期射门次数射正次数 但由于简化示例的限制我们将只使用“主队进球数 客队进球数”这一复合特征并假设阈值设为2.5球即总进球数大于等于3为大球否则为小球。 三、决策树构建 3.1绘制训练数据图像 import numpy as np import matplotlib.pyplot as pltfrom sklearn import datasetsiris datasets.load_iris() X iris.data[:,2:] y iris.targetplt.scatter(X[y0,0],X[y0,1]) plt.scatter(X[y1,0],X[y1,1]) plt.scatter(X[y2,0],X[y2,1])plt.show() 绿色为大球、橙色为走水、蓝色为小球 3.2 训练决策树模型 from sklearn.tree import DecisionTreeClassifiertree DecisionTreeClassifier(max_depth2,criterionentropy) tree.fit(X,y) 3.3 依据模型绘制决策树的决策边界 #找到模型的决策边界并绘制图像(此方法所用到的api不需要掌握能够调用就行) def plot_decision_boundary(model,axis):x0,x1 np.meshgrid(np.linspace(axis[0],axis[1],int((axis[1]-axis[0])*100)).reshape(-1,1),np.linspace(axis[2],axis[3],int((axis[3]-axis[2])*100)).reshape(-1,1))X_new np.c_[x0.ravel(),x1.ravel()]y_predict model.predict(X_new)zz y_predict.reshape(x0.shape)from matplotlib.colors import ListedColormapcustom_map ListedColormap([#EF9A9A,#FFF59D,#90CAF9])plt.contourf(x0,x1,zz,linewidth5,cmapcustom_map)plot_decision_boundary(tree,axis[0.5,7.5,0,3]) plt.scatter(X[y0,0],X[y0,1]) plt.scatter(X[y1,0],X[y1,1]) plt.scatter(X[y2,0],X[y2,1]) plt.show() 3.4 树模型可视化 from sklearn.tree import plot_tree import matplotlib.pyplot as pltplot_tree(tree,filledTrue) plt.show() 从上面的可视化图形中看出 X[1] 0.8 作为第一次分割的依据满足条件的所有样本均为统一类别X[1]0.8的依据 X[1]0.75 为划分依据由于设置了树的最大深度为2第二层的两个叶子节点没有完全区分开 决策树算法 ·是非参数学习算法 ·可以解决分类多分类问题 ·可以解决回归问题 ·落在叶子节点的数据的平均值作为回归的结果 四、模型预测 将实时采集的滚球数据喂到大模型中 # 用LabelEncoder转换器就能把字符串类型的球队名转化为整型 from sklearn.preprocessing import LabelEncoder encoding LabelEncoder() home_team encoding.fit_transform(dataset[Home Team].values) visitor_team encoding.fit_transform(dataset[Visitor Team].values) # 抽取所有比赛的主客场球队的球队名已转化为数值型并将其组合在NumPy中叫作“stacking”是向量组合的意思起来形成一个矩阵 x_team np.vstack([home_team, visitor_team]).T# 使用OneHotEncoder转换器把这些整数转换为二进制数字 from sklearn.preprocessing import OneHotEncoder onehot OneHotEncoder() x_teams_expanded onehot.fit_transform(x_team).todense()clf DecisionTreeClassifier(random_state14) scores cross_val_score(clf, x_teams_expanded, y_true, scoringaccuracy) print(The accuracy of x_teams_expanded is {0:1f}%.format(np.mean(scores) * 100))结果如下大概60%的胜率说明效果还行。后续用随机森林优化算法 五、随机森林模型 过程太长这里直接上部门代码 # 使用GridSearchCV搜索最佳参数 parameter_space {max_features: [2, 10, auto],n_estimators: [10, ],criterion: [gini, entropy],min_samples_leaf:[2, 4, 6], } grid GridSearchCV(clf, parameter_space) grid.fit(x_specific_team, y_true) print(The accuracy of specific_team after GridSearchCV is {0:.1f}%.format(grid.best_score_ * 100)) grid.fit(x_all, y_true) print(The accuracy of x_all after GridSearchCV is {0:.1f}%.format(grid.best_score_ * 100))可以看到增加了随机森林算法之后胜率又提高了一点 总结 这里只是简单的写了大概的方法具体实现还是很复杂的包括特征数据的选取以及各种模型算法的调优。还要按照联赛去区分训练数据因为你不同的联赛数据是不可比的小联赛进球数可能达到10个以上但是大联赛进球数可能才几个所以我们是根据分了联赛数据和公共数据的训练集目前这两种算法结合的话目前跑过最高的联赛应该是可以去到80%左右效果还可以。当然有些联赛暂时可能也只能去到65%。 最后推荐一个关于用大模型构建的足球数据分析学习软件 1、AiAutoPrediction-基于泊松大模型足球数据分析软件 2、SoccerPredictor-基于决策树大模型足球数据分析软件
http://www.w-s-a.com/news/782557/

相关文章:

  • wordpress能做企业站吗wordpress收发邮件
  • 电子产品网站建设策划方案腾讯企业邮箱注册申请免费
  • 哪些网站可以免费做代码自己电脑做网站服务器广域网访问
  • 高端网站设计青海省教育厅门户网站学籍查询
  • 长春网站优化公司网站制作400哪家好
  • 县级门户网站建设的报告开发游戏的软件有哪些
  • 做电子商务的网站wordpress带会员中心
  • 网站域名不变网站可以从做吗网站建设步骤 文档
  • 网站建设中 gif互联网新项目在哪里找
  • 做外包网站猎头公司英文
  • 房屋结构自建设计 网站海淀教育互动平台
  • 网络营销比赛 营销型网站策划热门搜索关键词
  • 网站建设图片代码网络设计师工资
  • 福建网站开发适合交换友情链接的是
  • 企业门户网站建站内乡微网站开发
  • 在线做logo印章网站一般到哪个网站找数据库
  • 哪些网站做免费送东西的广告6郑州人流医院哪家好
  • 高端做网站哪家好sem技术培训
  • 网站做等保是按照什么定级别的做网站的资源哪里找
  • 免费建站网页无需登陆潍坊高端模板建站
  • 北京php网站建设软通动力外包值得去吗
  • 优酷 做视频网站还能成功吗光谷做网站推广哪家好
  • 培训学校网站建设方案网站开发方案设计
  • 网站开发分支结构外贸网站做推广
  • 海南省城乡建设厅网站首页济南网站建设百家号
  • wordpress 图片命名吗北京seo优化哪家公司好
  • 国税网站页面申报撤销怎么做网站空间如何买
  • 简单的购物网站模板跨境建站平台
  • 网站主机多大html网站地图生成
  • 可信赖的邵阳网站建设德清做网站