python在赛马预测分析中的应用
predictive-punter的Python项目详细描述
该项目旨在通过python将预测分析应用于赛马。
安装
在使用predictive_punter之前,包必须安装在当前的Python环境中在大多数情况下,通过PyPI和pip进行自动安装就足够了,如下所示:
pip install predictive_punter
如果您希望通过包的预发行版本访问新的(不稳定的)功能,请在调用pip时指定“pre”选项,如下所示:
pip install --pre predictive_punter
要获得最新的开发,可以从源发行版安装包为此,您需要克隆git存储库并从源树的根目录中执行setup.py脚本,如下所示:
git clone https://github.com/justjasongreen/predictive_punter.git cd predictive_punter python setup.py install
如果您希望将包安装为指向源发行版的符号链接(用于开发目的),请改为使用“development”选项执行setup.py脚本,如下所示:
python setup.py develop
基本用法
通过安装predictive_punter,可以在当前的Python环境中使用许多命令行实用程序,如下所述
刮擦
“scrape”命令行实用程序可用于用从web上收集的赛车数据填充数据库。scrape命令的语法为:
scrape [-b] [-d <database_uri>] [-q] [-r <redis_uri>] [-v] date_from [date_to]
必需的date-from和可选的date-to参数必须采用yyyy-mm-dd格式,并定义要为其刮除数据的(包括)日期范围。
如果指定了-b(或-backup database)选项,则数据库中的所有集合都将在每个成功擦除日期后克隆。如果在删除日期时发生错误并且指定了-b选项,则在脚本终止之前,将从克隆的集合还原数据库中的集合
-d(或-database uri=)选项可用于指定目标数据库的uri。目标数据库必须是MongoDB 2.6或更高版本的数据库默认的数据库uri是mongodb://localhost:27017/predictive\u punter。
-r(或-redis uri=)选项可用于指定用于http请求缓存的redis服务器的uri。默认的redis URI是redis://localhost:6379/predictive\u punter如果无法与指定的redis服务器建立连接,则脚本将尝试使用内置的redislite服务,如果无法使用redislite服务,则脚本将在没有HTTP请求缓存的情况下运行
-q和-v(或–quiet和–verbose)选项可用于控制scrape命令生成的日志输出。使用-q选项时,日志记录级别将设置为logging.warning。使用-v选项时,日志记录级别将设置为logging.debug。默认情况下,日志记录级别将设置为logging.info。
种子
“seed”命令行实用程序可用于为数据库中的跑步者预先设定查询数据的种子。seed命令的语法为:
seed [-b] [-d <database_uri>] [-q] [-r <redis_uri>] [-v] date_from [date_to]
各种命令行选项和参数的应用与上述“scrape”命令相同。
开发和测试
源发行版包括一个基于pytest的测试套件为了确保与所有受支持的python版本兼容,建议通过tox运行测试套件。
要将所有开发和测试需求安装到当前的python环境中,请从源代码树的根目录中执行以下命令:
pip install -e .[dev,test]
要运行源发行版中包含的测试套件,请从源树的根目录执行tox命令,如下所示:
tox