<menu id="wqoac"></menu>
  • <nav id="wqoac"></nav>
    <input id="wqoac"></input>
  • <menu id="wqoac"><strong id="wqoac"></strong></menu>
    1. 首頁 > 配資平臺 >

    使用支持向量回歸進行Facebook股票預測

      利用Python并支持矢量回歸。

      這篇文章中,我將向您展示如何使用機器學習算法,即支持向量回歸(SVR)來創建自己的股票預測Python程序。這一計劃中,我將使用Facebook(FB)股票數據,并根據這些數據預測某一天的開盤價格。

      SVR(SVR)是一種支持向量機,也是一種監督學習算法,用于對數據進行回歸分析。1996年,由ChristopherJ.C.Burges,VladimirN.Vapnik,HarrisDrucker,AlexanderJ.Smola和LindaKaufman提出的SVM回歸模型的版本。由于SVR所產生的模型僅依賴于一組訓練數據,因此用于建立模型的代價函數忽略了任何接近模型預測的訓練數據。

      SVM優點:

      對于高維空間,效果是明顯的。

      如有清晰的間隔界限,工作效果良好。

      少量的支撐向量決定最終的結果,它不僅可以幫助我們抓住關鍵的樣本,并且“剔除”大量的多余的樣本。

      對矢量回歸的支持不足:

      在擁有大量數據集的情況下,它的性能很差。

      當數據集存在噪聲(大量額外的無意義信息)時,性能將非常低。

      核心類型:

      直線。

      多項式模型

      徑向基函數rbf的高斯核函數

      西格莫德。

      程序啟動:

      寫一行代碼之前,最好在代碼前面添加注釋,以描述我們需要做什么。這樣,我們就可以回顧代碼,并且準確地知道它是如何工作的。利用SVR(支持向量回歸)模型預測FB類股某一天的價格。

      輸入所需庫。

      mportpandasaspdimportnumpyasnpfromsklearn.svmimportSVRimportmatplotlib.pyplotasplt。

      下一步,我將把從finance.yahoo.com上得到的Facebook股票數據裝入一個名為'df'的數據框,用縮寫變量表示。之后再輸出前面一行的數據。

      注:這是雅虎最近31天、2019-05-01到2019-05-31的數據。

      但是,雅虎可能在某些日子不會記錄股票價格,所以數據集中的記錄數量可能少于每天。

      df.head(),#Loadthedatadf=pd.read_csv('FB_30_days.csv')

      前5行數據來自FB_30_days.csv。

      創建一個變量,將其設置為空列表,將其用作獨立和依賴數據集。

      創建類/Xandydatasetdates=[]prices=[]

      取得資料集中的行數和列數,以檢視每一行及列的數目,其中有22列及7列。

      #Getthenumberofrowsandcolumnsinthedatasetdf.shape.)

      該數據集有22行7列。

      該數據集有22行7列。

      輸出最后一行數據(我們將測試此數據)。注日期為2019-05-31,日期為31。它是模型的輸入,預計開盤價格為$180.279999。

      df.tail(1)#Printthelastrowofdata(thiswillbethedatathatwetheston)

      最后一行數據用于測試/驗證模型。

      重新創建數據框,方法是獲取除用于測試模型的最后一行以外的所有數據,并將缺少最后一行的新數據重新存儲到'df'。接著輸出新數據集的行數和列數。

      print(df.shape)#Getallofthedataexceptforthelastrowdf=df.head(len(df)-1)

      少了一行新數據。數據共有21行7列。

      取得日期列中的所有行,并將它們存儲在名為'df_dates'的變量中,然后從打開列中取得所有行,將數據存儲在名為'df_open'的變量中。

      DF_dates=df.loc[:','Date']#GetalloftherowsfromtheDatecolumndf_open=df.loc#GetalloftherowsfromtheOpencolumn。

      建立獨立的資料集合'X',并將資料儲存在變數'dates'中。

      建立相依性資料集合'y',并將資料儲存于變數'prices'。

      這兩種方法都可以通過向每個列表添加數據來實現。

      注:對于獨立的數據集,我們只需要從日期開始的日期,所以我使用split函數,在將數據添加到日期列表時,將日期轉換為整數。

      createtheindependentdataset'X'asdatesfordateindf_dates:dates.append('int(date.split('-')[2]])#Createthedependentdataset'y'aspricesforopen_priceindf_open:prices.append(open_price))

      檢視資料集中記錄的日期天數。

      #Seewhatdayswererecorededintehdatasetprint(日期)

      記錄在數據集中的日期。

      使用3種不同的支持向量回歸(SVR)模型和3種不同的內核創建一個函數,以便能夠看到哪個內核性能最好。該功能有三個參數:日期、價格以及我們希望預測價格的日期。為了達到這個目的,首先我要建立一個有3個不同內核(線性,多項式,徑向基函數)的SVR模型。下一步,我將使用日期和價格數據訓練每一個模型。最終,我會把模型畫在圖表上,看看哪種模型最適合在一天中進行預測。

      (1)..functiontomakepredictionsusing3differentsupportvectorregressionmodelswith3differentkernalsdefpressionsmodelsupport..svrict.svrict.svrict.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor.svrictor

      如今,我可以開始預測FB股票的價格了。從最初的數據集中剔除最后一行數據,日期為2019-05-31,這是模型輸入,用于預測開盤價,$180.279999。

      接下來,我將測試這個模型,并將預測日期設置為31。RBF是一種支持向量回歸模型,該模型使用了內核的一個叫做徑向基函數。這個模型預測180.333549美元的31天價格,與真實價格180.279999美元非常接近。

      print(predicted_prices,prices,[[31]])#PrediceofFBonday31predicted_price=predict_prices(dates,prices,prices,prices)

      現在您已經完成了創建SVR程序以預測FB股的表現!

    本文由網上采集發布,不代表我們立場,轉載聯系作者并注明出處:http://www.zhi-ran.com/a/pzpt/334.html

    聯系我們

    在線咨詢:點擊這里給我發消息

    微信號:

    工作日:9:30-18:30,節假日休息

    办公室激情娇喘嗯啊视频软件
    <menu id="wqoac"></menu>
  • <nav id="wqoac"></nav>
    <input id="wqoac"></input>
  • <menu id="wqoac"><strong id="wqoac"></strong></menu>