自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI股神:如何用機(jī)器學(xué)習(xí)預(yù)測股價?

人工智能 機(jī)器學(xué)習(xí)
本文將向你展示如何使用R語言和H2o.ai機(jī)器學(xué)習(xí)框架預(yù)測股價。該框架也可以在Python中使用,但因為筆者更熟悉R語言,所以本文就用R語言來演示。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。

首先要強(qiáng)調(diào),文中只是簡單展示了怎樣上手H2o.ai機(jī)器學(xué)習(xí)框架,并不作為投資理財?shù)慕ㄗh。不要簡單根據(jù)本文就做出任何投資理財?shù)臎Q策。

[[333548]]

本文將向你展示如何使用R語言和H2o.ai機(jī)器學(xué)習(xí)框架預(yù)測股價。該框架也可以在Python中使用,但因為筆者更熟悉R語言,所以本文就用R語言來演示。以下是詳細(xì)的步驟:

  1. 搜集數(shù)據(jù)
  2. 導(dǎo)入數(shù)據(jù)
  3. 整理并操作數(shù)據(jù)
  4. 分割測試并觀察訓(xùn)練
  5. 選擇模型
  6. 訓(xùn)練模型
  7. 用模型測試數(shù)據(jù)
  8. 評估結(jié)果
  9. 如有必要便改進(jìn)模型
  10. 重復(fù)步驟5到10,直到對結(jié)果滿意為止

本文研究的問題是:股票在接下來一小時的收盤價是多少?

數(shù)據(jù)整理

導(dǎo)入想要通過MetaTrader軟件進(jìn)行預(yù)測的資產(chǎn)數(shù)據(jù)之后,需要更改一些變量。首先,定義變量名稱:

  1. #seting the name of variables 
  2. col_names <- c("Date", "Open", "High","Low", "Close", "Tick", "Volume") 
  3. colnames(data) <- col_names 
  4. head(data) 

數(shù)據(jù)格式如下:

AI股神:如何用機(jī)器學(xué)習(xí)預(yù)測股價?

我們僅用到開盤價、最高價、最低價、收盤價和交易量等一些能獲得的數(shù)據(jù),那么就需要清除其他數(shù)據(jù):

  1. data$Date <- NULL 
  2. data$Tick <- NULL 

因為我們想知道下一個觀測期的收盤價,所以需要將下面的值移到上一行,需要用新數(shù)據(jù)在原始數(shù)據(jù)集中創(chuàng)建函數(shù)并設(shè)置變量:

  1. #shifting n rows up of a given variable 
  2. shift <- function(x, n) {  
  3.  c(x[-(seq(n))], rep(NA, n)) 
  4. data$shifted <- shift(data$Close, 1) 
  5. tail(data) 

AI股神:如何用機(jī)器學(xué)習(xí)預(yù)測股價?

注意,我們已在上一行中給變量收盤價賦了值。所以,在最后一行中會出現(xiàn)NA,我們用na.omit ()函數(shù)跳過這一行:

  1. #remove NA observations 
  2. data <- na.omit(data) 
  3. write.csv(data, "data.csv") 

OK,數(shù)據(jù)已準(zhǔn)備就緒,可以開始建模了。

分割數(shù)據(jù)

[[333549]]

用H2O.ai進(jìn)行數(shù)據(jù)分割。H2O.ai為我們分析和訓(xùn)練人工智能模型提供了一套完整的解決方案,非常好用,即便是沒有任何數(shù)據(jù)科學(xué)背景的人也能使用它來解決復(fù)雜的問題。先下載H2O.ai:

  1. #Installing the package 
  2. install.packages("h2o") 
  3.  
  4. #loading the library 
  5. library(h2o) 

安裝加載好后,啟動用于建模的虛擬機(jī)。啟動虛擬機(jī)時,必須設(shè)置所需的核數(shù)和內(nèi)存參數(shù):

  1. #Initializing the Virtual Machine using all the threads (-1) and 16gb ofmemory 
  2. h2o.init(nthreads = -1, max_mem_size = "16g"

導(dǎo)入數(shù)據(jù):

  1. h2o.importFile("data.csv") 
  2. h2o.describe(data) 

AI股神:如何用機(jī)器學(xué)習(xí)預(yù)測股價?

接著定義想要在數(shù)據(jù)集中預(yù)測的變量,以及那些用于訓(xùn)練模型的變量:

  1. <- "shifted" #variable we want to forecast 
  2. <- setdiff(names(data), y) 

隨后,分割數(shù)據(jù),分別用于訓(xùn)練和測試,其中80%用于訓(xùn)練數(shù)據(jù)。

  1. parts <- h2o.splitFrame(data, .80) 
  2. train <- parts[[1]] 
  3. test <- parts[[2]] 

完成這些步驟,就是時候見證H2O.ai創(chuàng)造奇跡的時候了。

選擇模型

每一位數(shù)據(jù)科學(xué)家在創(chuàng)建自己的機(jī)器學(xué)習(xí)項目時,必須完成的一項任務(wù)便是識別出最佳的一個或一組模型來進(jìn)行預(yù)測。這需要大量的知識,尤其是深厚的數(shù)學(xué)基礎(chǔ),來決定針對特定任務(wù)的最佳方案。

我們可以借助H2O.ai來選擇最佳模型,這樣就可以騰出時間解決其他問題,這便是自動建模。雖然這可能不是解決問題最有效的方法,卻是一個不錯的嘗試。

訓(xùn)練模型

創(chuàng)建模型,需要調(diào)用automl函數(shù)并傳遞必要的參數(shù):

  1. automodel <- h2o.automl(x, y, train, test, max_runtime_secs = 120

幾分鐘后,我們就能獲取一個按性能順序排列的模型列表:

AI股神:如何用機(jī)器學(xué)習(xí)預(yù)測股價?

運用模型

現(xiàn)在,可以用模型來測試數(shù)據(jù)啦!你還可以用模型對尚未觀察到的數(shù)據(jù)進(jìn)行性能評估,以模型和測試數(shù)據(jù)作為參數(shù)調(diào)用預(yù)測函數(shù):

  1. predictions <- h2o.predict(automodel@leader, test) 

好啦,靜待一小時,看看你的預(yù)測能否成真吧。

免責(zé)聲明:本文不是投資建議,預(yù)測股票價格并不是一項簡單的任務(wù),本文只是簡單說明了用H2O.ai解決機(jī)器學(xué)習(xí)問題是多么容易。預(yù)測股價走勢非常容易,但這并不意味著預(yù)測都是正確或準(zhǔn)確無誤的。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2021-08-23 11:15:20

Python機(jī)器學(xué)習(xí)bilibili

2021-08-21 14:30:58

機(jī)器學(xué)習(xí)bilibili股價

2017-03-24 08:58:23

機(jī)器學(xué)習(xí)算法預(yù)測

2020-11-17 17:28:29

機(jī)器學(xué)習(xí)技術(shù)人工智能

2020-05-26 18:50:49

機(jī)器學(xué)習(xí)數(shù)據(jù)預(yù)測標(biāo)簽

2020-11-01 23:46:19

AI機(jī)器學(xué)習(xí)農(nóng)業(yè)

2018-03-20 15:33:05

深度學(xué)習(xí)加密貨幣

2019-11-28 09:23:17

Python機(jī)器學(xué)習(xí)數(shù)據(jù)庫

2017-05-03 19:08:10

機(jī)器學(xué)習(xí)

2022-06-09 09:14:31

機(jī)器學(xué)習(xí)PythonJava

2019-04-12 09:28:46

2017-09-15 18:13:57

機(jī)器學(xué)習(xí)深度學(xué)習(xí)語音識別

2023-03-16 14:47:50

機(jī)器學(xué)習(xí)物流和供應(yīng)鏈

2018-08-30 14:58:12

機(jī)器學(xué)習(xí)磁盤故障

2020-01-31 16:08:00

?機(jī)器學(xué)習(xí)數(shù)據(jù)技術(shù)

2017-07-25 12:09:10

機(jī)器學(xué)習(xí)預(yù)測性維護(hù)模型

2020-12-01 10:39:11

人工智能機(jī)器學(xué)習(xí)

2021-11-12 15:41:42

LSTM神經(jīng)網(wǎng)絡(luò)人工智能

2018-05-25 15:10:14

360手機(jī)衛(wèi)士

2025-02-24 14:00:28

點贊
收藏

51CTO技術(shù)棧公眾號