C#搭建足球赛事资料库与预测平台(1) 基本介绍

本文主要是介绍C#搭建足球赛事资料库与预测平台(1) 基本介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


阅读目录

  • 1.项目目标
  • 2.采用的开源技术
  • 3.资料库和分析框架要点
  • 4.系列文章说明

          本博客所有文章分类的总目录:【总目录】本博客博文总目录-实时更新

开源C#彩票数据资料库系列文章总目录:【目录】C#搭建足球赛事资料库与预测平台与彩票数据分析目录

  去年4月到现在,一年之中,做了很多事情,所以写博客的时间少了,在利用业余时间搭建的彩票数据库资料库快完工之际,将陆续在博客园开放这一年来的相关成果。一年来重点对数字彩和足球彩票资料库进行数据采集和分析平台的搭建,同时也利用数据挖掘和机器学习的简单知识,对足球比赛进行预测,也小有成果,虽然已经远离数字彩,但软件的结构非常容易扩展,数据也很容易采集。重点还是在足球赛事资料库,目前数据库已经包括了近10年,世界所有的联赛,杯赛和重要赛事的比赛信息,以及赔率盘口信息,对于玩算法和写代码的朋友来说,利用这些数据库可以快速的进行自己的数据分析工作。本系列文章会对数据库架构和结构进行介绍,并逐步开放相关足球数据库和彩票数据库,降低大家的门槛,可以更快的关注自己的想法,不要浪费其他时间在数据采集这一块,敬请关注。

本文原文地址:http://www.cnblogs.com/asxinyu/p/4301629.html

回到目录

1.项目目标

  项目的目标有以下几个:

1.建立一个完善、合理、全面的足球赛事资料库;

2.建立一个完善的足球赛事的数据统计分析系统;

3.建立一个具有良好稳定性的足球赛事预测模型;

4.建立一个完善的可盈利性的连续性模型体系;

回到目录

2.采用的开源技术

  到博客园5年了,认识了很多人,也学到了很多资料。对此,非常感谢,本人对开发不太熟悉,也只会用最简单的语法来写程序,来完成自己的想法。而这其中就大量的用到了开源组件,在codeplex和博客园发现了大量的资源,对于我这个只会用C#的业余人员来说,这些组件是帮我完成想法的重要工具。学会使用这些组件,让我的工作变得更简单,可以更多时间去关注业务和思路,在足球赛事资料库开发和分析的过程中,用到了下列开源组件: 

开源组件

功能

版本

HtmlAgilityPack

网页数据采集分析

1.4.6

libSVMWrapper

智能学习算法libsvm的.NET封装

3.12

MathNet.Numerics

.NET开源数值计算组件

2.6.1

NPOI

.NET开源Excel读写组件

2.0

XCode

开源的.NET数据库ORM组件

8.9

Alglibnet

免费数值计算和数据分析软件

3.8.2

HttpHelper

开源.NET Http操作类库

1.4.6

回到目录

3.资料库和分析框架要点

  赛事资料库虽然看起来简单,但实际上做起来还是比较费时费力的,按照功能来划分的话,主要可以划分为3个部分:

3.1 数据采集

  本资料库的数据由于实时性要求不高,所有相比直接采集国外的数据源,工作量要小很多,本系统是直接采集的国内的某平台,由于页面多,资料库本来就复杂,所以数据采集虽然简单,但还是工作量很大的,是本系统的核心。采集使用的是HtmlAgilityPack组件,加上XPath,还是比较简单,唯一的是过程比较繁琐,要细心点,对很多复杂情况要做判断。看看其中的部分代码:

3.2 赛事资料系统

  赛事资料系统是另外一个重点,也是从全局来说最重要的部分。足球赛事资料库更加复杂, 不仅是赛事类型,国家众多,比赛场次众多,而且每一场比赛赔率数据类型和数据时间点也非常多,所以赛事资料库的结构一定要合理,否则后期的分析和预测就非常困难。本框架的赛事资料库系统经过了3次大的重构,中间切换过3次数据源,最终才比较稳定。所以在搭建过程中,将对这些坑进行分析和说明。赛事资料库系统的要点有;

1.每个洲,有多个个国家,每个国家有多个级别的联赛或者杯赛,而且还分男、女,以及年龄段如U21,U17等;

2.每个州都有洲际联赛,如欧冠,亚冠,每个州都有国家队的比赛以及洲际杯赛,如欧洲杯等;

3.每个联赛每年一个赛季,可能是跨年的,且大部分按轮进行的,但个别联赛有季后赛一说,轮次也比较混乱,如阿甲,美职等;

4.每个国家或者洲际范围都有不同级别的杯赛,如法联杯,德国杯,中国的足协杯等等,这些杯赛和联赛是不一样的,主客场淘汰以及单场身负都有;

5.某场比赛的赔率玩法有很多种,在外围玩法中,单场比赛的玩法超过了100种,但在中国的体育彩票、竞彩中目前只覆盖了6种左右的玩法(胜平负,半全场,单双,总进球,比分,让球胜平负),再加上国彩的一些特殊玩法,如四场进球,6场半全场以及任九,14场等等,玩法各有特殊,结构也不同,这个也需要考虑;不仅要兼顾国彩,还要兼顾外围的一些玩法,毕竟这些玩法以后国彩也会逐步开放;

  看看下图其中之一的结构:

3.3 赛事分析预测

  赛事分析与预测是终极目的,数据库是基础,没有数据库所有的想法都是白搭。在数据库日益完善的时候,近5个月时间,都在考虑分析预测框架的事情,但进展很慢。一方面自己的想法很多,很复杂,在逐步完成中,另一方面要考虑到通用性和完善,很多地方还在修补。不仅仅可以快速对筛选的条件场次进行统计分析,还可以编写算法直接对历史数据和现有数据进行预测,并结合投资策略,可以进行长期投资。该核心主要包括以下部分:

1.场次选择算法,或者称为场次过滤算法。不管是分析还是预测,或者过关玩法,都是要选择指定数目的场次进行的,选择的方法也各种各样,只要按照不同的条件组合就行了。

2.预测算法。这是最重要的部分,根据选择的场次和要求,选择合适的预测算法和玩法,来预测各个不同结果的概率,不同于欧赔的概率;

3.投注策略。这是盈利的重要部分,传统的投资,随机且不持续,按照人脑操作,模式固定,因此红少黑多,既然使用了电脑进行投注,那就要按照固定的模式来进行投资,投资策略是一个复杂和多变的过程,如果根据预测策略的结果进行适合的投注,来规避风险是研究的重点内容之一,这样才是真正达到一定盈利率的关键;

  看看预测模型的总体结构图:

回到目录

4.系列文章说明

  1.该赛事资料库和分析平台,所有的文章和资源都统一发布在本博客,如果有用的朋友,可以加关注或者收藏夹,本博客链接:http://www.cnblogs.com/asxinyu/

  2.本项目会在本站开放大部分代码和大部分数据库,但保留部分核心代码,一方面是希望采集源稳定的需求,另外一方面只是为大家提供一个八仙过海各显神通的平台,自己的个性化的东西可能不会包括在其中。

  3.禁止将本博客发布的资料进行商业活动,特别是到XX宝去卖。



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

本文转自数据之巅博客园博客,原文链接:http://www.cnblogs.com/asxinyu/p/Smart_Lottery_FootBall_DataBase_1.html,如需转载请自行联系原作者
 

这篇关于C#搭建足球赛事资料库与预测平台(1) 基本介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504323

相关文章

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.