當前位置:首頁 » 價格知識 » 隨機森林回歸預測股票價格
擴展閱讀
安集協康生物科技股票 2025-08-24 08:13:35
時代地產公司股票代碼 2025-08-24 05:33:53

隨機森林回歸預測股票價格

發布時間: 2021-11-09 15:34:43

A. r使用隨機森林實現所屬類別的概率嗎

用R做隨機森林,先用訓練集建模,之後用測試集進行預測,為什麼總是顯示?代碼如下sub<-sample(1:nrow(dx),round(nrow(partd)/4))x1.rf<-randomForest(X1T~.,data=dx,importance=T,subset=-sub)pre1<-predict(x1.rf,data=dx,subset=sub)另外,隨機森林的結果里給出的confusionmatrix是什麼意思?和預測錯誤

B. 求問隨機森林演算法的簡單實現過程

隨機森林(Random forest)指的是利用多棵樹對樣本進行訓練並預測的一種分類器。 並且其輸出的類別是由個別樹輸出的類別的眾數而定。在機器學習中有一個地位很重要的包scikit-learn可實現隨機森林演算法。


原理:(隨機森林的分類預測和回歸預測sklearn.ensemble.RandomForestRegressor方法)
(1)給定訓練集S,測試集T,特徵維數F。確定參數:使用到的CART的數量t,每棵樹的深度d,每個節點使用到的特徵數量f,終止條件:節點上最少樣本數s,節點上最少的信息增益m,對於第1-t棵樹,i=1-t:
(2)從S中有放回的抽取大小和S一樣的訓練集S(i),作為根節點的樣本,從根節點開始訓練
(3)如果當前節點上達到終止條件,則設置當前節點為葉子節點,如果是分類問題,該葉子節點的預測輸出為當前節點樣本集合中數量最多的那一類c(j),概率p為c(j)占當前樣本集的比例;如果是回歸問題,預測輸出為當前節點樣本集各個樣本值的平均值。然後繼續訓練其他節點。如果當前節點沒有達到終止條件,則從F維特徵中無放回的隨機選取f維特徵。利用這f維特徵,尋找分類效果最好的一維特徵k及其閾值th,當前節點上樣本第k維特徵小於th的樣本被劃分到左節點,其餘的被劃分到右節點。繼續訓練其他節點。
(4)重復(2)(3)直到所有節點都訓練過了或者被標記為葉子節點。
(5)重復(2),(3),(4)直到所有CART都被訓練過。
隨機森林的簡單實現過程如下:
一、 開發環境、編譯環境:
PyCharm Community Edition 2016.2.3
Python2.7.10
二、 所用庫及安裝方法:
pandas[python自帶]
sklearn:命令行pip install sklearn;如果沒有安裝pip,先使用easy_install pip安裝pip;如果在MAC上沒有許可權,使用sudo pip install sklearn;
三、 代碼介紹
1. 使用pandas讀取本地excel的訓練集和測試集,將屬性集賦給X_train和Y_train;將要預測的集合賦給X_test和Y_test;
2. 使用DictVectorizer對數據進行規范化、標准化
3. 生成RandomForestRegressor對象,並將訓練集傳入fit方法中進行訓練
4. 調用predict函數進行預測,並將結果存入y_predict變數中;
5. 使用mean_squared_error、score方法輸出MSE、NMSE值對擬合度、穩定度進行分析;輸出feature_importance,對影響最終結果的屬性進行分析;
6. 詳細代碼見附錄
四、 附錄
# coding:utf-8
import pandas as pd
data_train = pd.read_excel('/Users/xiaoliu/Desktop/data_train.xlsx')
X_train = data_train[['CPI', 'GDP', 'PPI', 'AJR', 'BJFJ', 'FBDR', 'PCFD', 'PCFDED', 'BDR']]
y_train = data_train['FJ']

data_test = pd.read_excel('/Users/xiaoliu/Desktop/data_test.xlsx')
X_test = data_test[['CPI', 'GDP', 'PPI', 'AJR', 'BJFJ', 'FBDR', 'PCFD', 'PCFDED', 'BDR']]
y_test = data_test['FJ']

from sklearn.feature_extraction import DictVectorizer

vec = DictVectorizer(sparse=False)
X_train = vec.fit_transform(X_train.to_dict(orient='records'))
X_test = vec.transform(X_test.to_dict(orient='records'))

from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor()
rf.fit(X_train,y_train)
y_predict = rf.predict(X_test)
print 'predict value:',y_predict

from sklearn.metrics import mean_squared_error
print 'MSE:', mean_squared_error(y_test, y_predict)
print 'NMES:',rf.score(X_test, y_test)
print rf.feature_importances_

C. 隨機森林可以和logistic回歸混合建模嗎

#####海藻數量預測模型,預處理(缺失值)、建模(多元線性回歸與決策性)、性能評估(10折交叉驗證),組合方法優化模型
library(rpart)
library(DMwR)
#####回歸模型決策樹
algae<-algae[-manyNAs(algae),]
rt.a1<-rpart(a1~.,data=algae[,1:12])
#####多元線性回歸模型
clean.algae<-knnImputation(algae,k=10)
lm.a1<-lm(a1~.,data=clean.algae[,1:12])
final.lm<-step(lm.a1)
#####模型預測值
lm.prediction.a1<-predict(final.lm,clean.algae)
rt.prediction.a1<-predict(rt.a1,algae)
#####模型的評價與選擇部分
###這部分難點
#####目標模型函數

D. 為何隨機森林的機器學習統計模型預測法官投票准確率勝過專家

因為隨機森林的機器學習統計模型進行了大量的數據分析,該模型先學習了1816年到2015年最高法院案例特徵與裁決結果之間的關聯,然後按年份研究每個案例的特徵並預測裁決結果,最後被「投喂」關於該年份裁決結果實際信息的演算法升級了預測策略,並繼續進行下一年的預測。

用計算機演算法預測法官行為並不稀奇。2011年,西班牙學者在一項研究中,使用1953年到2004年任意8名法官的投票,來預測同一案件中第9名法官的投票,准確率為83%;2004年,美國學者使用1994年以來一直在法院工作的9名法官的判決,來預測2002年案件的判決結果,准確率為75%。

而伊利諾伊大學理工學院法學教授丹尼爾·卡茨的團隊利用最高法院資料庫,為每個投票標注了16個特徵,包括法官任期、訴訟發起法庭、口頭辯論是否被聽到等,創建了最先進的演算法。對1816年到2015年美國最高法院的判決進行預測,准確率高於70%,較知識淵博的法律專家(預測准確率為66%)更勝一籌。結果顯示,對於28000項判決結果及24萬張法官投票,新模型演算法預測的正確率分別為70.2%和71.9%。相關研究文章發表在《公共科學圖書館·綜合》(PLOS ONE)上。

E. 隨機森林能做一元自回歸嗎

這個發貼機是加了自動化插件的

F. 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關還是負相關

20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時得知特徵x與預測量y之間是正相關20 隨機森林回歸進行特徵重要性排序時,如何同時

G. 我用Python進行隨機森林回歸,訓練好模型後用來預測,預測值卻為一個定值,請問這是什麼原因導致的

隨機森林是以決策樹為基礎的一種更高級的演算法。隨機森林可用於回歸也可以用於分類。它的工作原理是生成多個分類器/模型,各自獨立地學習和作出預測。最後對這些預測進行集成,因此優於任何一個單分類的做出預測,是一種優秀的機器學習模型。

之所以你沒能學習到有效的模型,可能是你的數據中的因子與預測指標的關聯強度不夠,因此學習到的是常數模型,也有可能是數據的處理流程或者模型的使用方法不對。網頁鏈接這個網址上的課程完整講解了隨機森林演算法的使用,希望對你有幫助

H. 數學建模預測收盤價格用什麼模型

二次指數平滑可以弄,但是最好還是用馬爾可夫過程比較好,當實際情況會更加復雜,你再加上條件概率和隨機森林的話這個模型就完美了,如果能用神經網路來優化隨機森林,那麼真是大工程了,雖然我也沒有用神經網路來優化過

I. 隨機森林為什麼不會過度擬合

來源:知乎

謝宇傑

大型機軟體工程師
不是不會過擬合,而是在滿足一定的條件下不容易過擬合。特徵參數要足夠多,特徵參數之間相關性盡量低。
知乎用戶

Breiman的這句話完全錯誤,根本沒有不過擬合的學習方法!
對於隨機森林來說: 在有躁音的情況下(注意,現實世界應用中躁音不能忽略),樹太少很容易過擬合,增加樹可以減小過擬合,但沒有辦法完全消除過擬合,無論你怎麼增加樹都不行。

------------------
隨機森林
決策樹主要流行的演算法有ID3演算法,C4.5演算法、CART演算法,主要花費時間在建決策樹和剪枝過程中,但一旦建成決策樹,由於他是樹形結構能夠直觀的顯示出模型,而且在後期的分類過程中也比較容易分類,但決策樹有一些不好的地方,比如容易過擬合。為了減少決策樹的不足,近年來又提出了許多模型組和+決策樹的演算法,這些演算法都是生成N棵決策樹,雖然這N棵樹都很簡單,但是它們綜合起來就很強大了,有點類似與adaboost演算法。
隨機森林主要思想是先對原始樣本隨機選出N 個訓練子集用於隨機生成N顆決策樹,針對每個樣本集在構建決策樹的選擇最優屬性進行劃分時是隨機選擇m個屬性,而不是像常用的決策樹將所有的屬性參與選擇,再由這些決策樹構成一個森林,隨機森林的每一棵決策樹之間是沒有關聯的。在得到森林之後,當有一個新的輸入樣本進入的時候,就讓森林中的每一棵決策樹分別進行一下判斷,看看這個樣本應該屬於哪一類,然後看看哪一類被選擇最多,就預測這個樣本為那一類。
隨機森林演算法三個步驟:
(1)為每棵決策樹抽樣產生訓練集
隨機森林演算法採用Bagging抽樣技術從原始訓練集中產生N 個訓練子集(假設要隨機生成N顆決策樹),每個訓練子集的大小約為原始訓練集的三分之二,每次抽樣均為隨機且放回抽樣,這樣使得訓練子集中的樣本存在一定的重復,這樣做的目的是為了在訓練的時候,每一棵樹的輸入樣本都不是全部的樣本,使森林中的決策樹不至於產生局部最優解。
(2)構建決策樹
為每一個訓練子集分別建立一棵決策樹,生成N棵決策樹從而形成森林,每棵決策樹不需要剪枝處理。
由於隨機森林在進行節點分裂時,隨機地選擇某m個屬性(一般是隨機抽取指定logM +1個隨機特徵變數,m<<M)參與比較,而不是像決策樹將所有的屬性都參與屬性指標的計算。為了使每棵決策樹之間的相關性減少,同時提升每棵決策樹的分類精度,從而達到節點分裂的隨機性。
(3)森林的形成
隨機森林演算法最終的輸出結果根據隨機構建的N棵決策子樹將對某測試樣本進行分類,將每棵子樹的結果匯總,在所得到的結果中哪個類別較多就認為該樣本是那個類別。
由於上面兩個隨機采樣(從原始訓練集中隨機產生N個訓練子集用於隨機生成N顆決策樹和在針對每個樣本集構建決策樹過程中隨機地選擇m個屬性)的過程保證了隨機性,所以不會出現過擬合over-fitting。隨機森林中的每一棵數分類的能力都很弱,但是多棵樹組合起來就變的NB,因為每棵樹都精通某一方面的分類,多棵樹組成一個精通不同領域的決策專家。
隨機森林優缺點
優點:
1、隨機森林可以處理高維數據,並確定變數的重要性,是一個不錯的降維方法;
2、對數據缺失,隨機森林也能較好地保持精確性;
3、當存在分類不平衡的情況時,隨機森林能夠提供平衡數據集誤差的有效方法;
缺點:
1、隨機森林演算法可以解決回歸問題,但是由於不能輸出一個連續型值和作出超越訓練集數據范圍的預測,導致在對某些雜訊的數據進行建模時出現過度擬合;
2、隨機森林演算法類似於黑盒子,由於幾乎無法控制模型內部的運行,只能在不同的參數和隨機種子之間進行嘗試。