本文转载自公众号《核心阅读》(ID:AI_Discovery)。首先,我想强调的是,本文只是展示H2o.ai机器学习框架的入门方法,并非投资理财的推荐。请勿仅根据本文做出任何投资理财决策。本文将向您展示如何使用R语言和H2o.ai机器学习框架预测股票价格。该框架也可以在Python中使用,但是由于笔者对R语言比较熟悉,所以本文使用R语言来进行演示。以下是详细步骤:收集数据导入数据组织和操作数据拆分测试和观察训练选择模型训练模型使用模型测试数据评估结果必要时改进模型重复步骤5到10,直到您对结果满意研究的问题这篇论文是的:下一个小时股票的收盘价是多少?通过MetaTrader软件对您要预测的资产数据进行数据整理和导入后,您需要更改一些变量。首先,定义变量名称:#settingthenameofvariablescol_names<-c("Date","Open","High","Low","Close","Tick","Volume")colnames(data)<-col_nameshead(data)数据格式如下:我们只使用开盘价、最高价、最低价、收盘价和成交量等一些可用的数据,所以需要清除其他数据:data$Date<-NULLdata$Tick<-NULL因为我们要知道下一个观察期的收盘价,所以需要将下面的值移到上一行,需要用新数据在原数据集中创建一个函数,并设置变量:#shiftingnrowsupofagivenvariableshift<-function(x,n){c(x[-(seq(n))],rep(NA,n))}data$shifted<-shift(data$Close,1)tail(data)注意我们已经分配了一个上一行中的变量close的值。所以,NA会出现在最后一行,我们用na.omit()函数跳过这一行:#removeNAobservationsdata<-na.omit(data)write.csv(data,"data.csv")OK,数据准备就绪开始建模。分割数据使用H2O.ai进行数据分割。H2O.ai为我们提供了一整套分析和训练人工智能模型的解决方案。它非常易于使用,即使没有任何数据科学背景的人也可以使用它来解决复杂的问题。首先下载H2O.ai:#Installingthepackageinstall.packages("h2o")#loadingthelibrarylibrary(h2o)安装加载完成后启动虚拟机进行建模。启动虚拟机时,必须设置需要的核数和内存参数:#InitializingtheVirtualMachineusingallthethreads(-1)and16gbofmemoryh2o.init(nthreads=-1,max_mem_size="16g")导入数据:h2o.importFile("data.csv")h2o.describe(data)然后定义你想在数据集中预测的变量,以及那些用来训练模型的变量:y<-"shifted"#variablewewanttoforecastx<-setdiff(names(data),y)Then,拆分数据,分别用于训练和测试,其中80%用于训练数据。parts<-h2o.splitFrame(data,.80)train<-parts[[1]]test<-parts[[2]]完成这些步骤后,就该见证H2O.ai的奇迹了。选择模型每个数据科学家在创建自己的机器学习项目时必须完成的任务之一是确定最佳模型或一组模型来进行预测。它需要大量的知识,尤其是深厚的数学基础,才能为特定任务决定最佳解决方案。我们可以使用H2O.ai来选择最好的模型,这样我们就可以腾出时间来解决其他问题,这就是自动建模。虽然这可能不是解决问题的最有效方法,但这是一个很好的尝试。训练模型要创建模型,需要调用automl函数并传递必要的参数:automodel<-h2o.automl(x,y,train,test,max_runtime_secs=120)几分钟后,我们可以得到一个列表ofmodelsarrangedbytheorderofperformance:Usingthemodel现在,你可以使用模型来测试数据了!也可以使用模型评估未观察到的数据的性能,以模型和测试数据为参数调用预测函数:predictions<-h2o.predict(automodel@leader,test)嗯,等等小时,看看你的预测是否成真。免责声明:本文不是投资建议,预测股票价格不是一件容易的事,本文只是说明用H2O.ai解决机器学习问题是多么容易。预测股价走势非常容易,但这并不意味着预测都是正确的或万无一失的。
