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

简介:

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

开源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,如需转载请自行联系原作者
 

相关文章
|
7月前
|
SQL 开发框架 .NET
EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用
EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用
57 0
|
3月前
|
SQL API 定位技术
基于C#使用winform技术的游戏平台的实现【C#课程设计】
本文介绍了基于C#使用WinForms技术开发的游戏平台项目,包括项目结构、运行截图、实现功能、部分代码说明、数据库设计和完整代码资源。项目涵盖了登录注册、个人信息修改、游戏商城列表查看、游戏管理、用户信息管理、数据分析等功能。代码示例包括ListView和ImageList的使用、图片上传、图表插件使用和SQL工具类封装,以及高德地图天气API的调用。
基于C#使用winform技术的游戏平台的实现【C#课程设计】
|
3月前
|
SQL C# 数据库
EPPlus库的安装和使用 C# 中 Excel的导入和导出
本文介绍了如何使用EPPlus库在C#中实现Excel的导入和导出功能。首先,通过NuGet包管理器安装EPPlus库,然后提供了将DataGridView数据导出到Excel的步骤和代码示例,包括将DataGridView转换为DataTable和使用EPPlus将DataTable导出为Excel文件。接着,介绍了如何将Excel数据导入到数据库中,包括读取Excel文件、解析数据、执行SQL插入操作。
EPPlus库的安装和使用 C# 中 Excel的导入和导出
|
2月前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
69 8
|
1月前
|
缓存 编译器 API
C# 一分钟浅谈:Roslyn 编译器平台介绍
【10月更文挑战第27天】Roslyn 是 Microsoft 开发的开源编译器平台,支持 C# 和 VB.NET。它将编译过程分解为多个阶段,并提供丰富的 API 供开发者分析、生成和修改代码。本文介绍了 Roslyn 的基本概念、安装配置、基础示例和高级应用,帮助开发者更好地理解和使用这一强大工具。
50 0
|
3月前
|
编译器 C# Android开发
Uno Platform 是一个用于构建跨平台应用程序的强大框架,它允许开发者使用 C# 和 XAML 来创建适用于多个平台的应用
Uno Platform 是一个用于构建跨平台应用程序的强大框架,它允许开发者使用 C# 和 XAML 来创建适用于多个平台的应用
362 8
|
3月前
|
SQL 开发框架 安全
并发集合与任务并行库:C#中的高效编程实践
在现代软件开发中,多核处理器普及使多线程编程成为提升性能的关键。然而,传统同步模型在高并发下易引发死锁等问题。为此,.NET Framework引入了任务并行库(TPL)和并发集合,简化并发编程并增强代码可维护性。并发集合允许多线程安全访问,如`ConcurrentQueue<T>`和`ConcurrentDictionary<TKey, TValue>`,有效避免数据不一致。TPL则通过`Task`类实现异步操作,提高开发效率。正确使用这些工具可显著提升程序性能,但也需注意任务取消和异常处理等常见问题。
56 1
|
4月前
|
C# 数据库
C# 使用 DbDataReader 来访问数据库
C# 使用 DbDataReader 来访问数据库
77 2
|
4月前
|
数据库 C#
C# 使用SqlDataAdapter和DataSet来访问数据库
C# 使用SqlDataAdapter和DataSet来访问数据库
39 0
|
7月前
|
数据采集 前端开发 数据挖掘
Fizzler库+C#:从微博抓取热点的最简单方法
本文介绍如何使用Fizzler库和C#构建微博热点信息爬虫。通过Fizzler的CSS选择器定位关键信息,提取热点标题和排名,实现微博内容的智能挖掘。示例代码展示单线程和多线程采集方法,并涉及代理IP使用。
Fizzler库+C#:从微博抓取热点的最简单方法