我想知道是否有任何sklearn分類器的選項,以適應使用一些超參數,並在改變一些超參數後,通過節省計算(適合)成本來改裝模型。在分類中的scikit學習改裝/部分適合選項
讓我們說,Logistic迴歸是適合使用C=1e5
(logreg=linear_model.LogisticRegression(C=1e5)
),我們僅僅改變C
到C=1e3
。我想保存一些計算,因爲只有一個參數被改變。
我想知道是否有任何sklearn分類器的選項,以適應使用一些超參數,並在改變一些超參數後,通過節省計算(適合)成本來改裝模型。在分類中的scikit學習改裝/部分適合選項
讓我們說,Logistic迴歸是適合使用C=1e5
(logreg=linear_model.LogisticRegression(C=1e5)
),我們僅僅改變C
到C=1e3
。我想保存一些計算,因爲只有一個參數被改變。
是的,有一個叫warm_start
技術,它從文件引用,意思是:
warm_start:BOOL,默認:假
當設置爲True,重新使用以前的呼叫解決方案以適合初始化,否則, 只是抹去以前的解決方案。無用於線性求解器。
如文檔here中所描述的,它在LogisticRegression
的可用:
sklearn.linear_model.LogisticRegression(..., warm_start=False, n_jobs=1)
所以具體的,你的情況,你會做到以下幾點:
from sklearn.linear_model import LogisticRegression
# create an instance of LogisticRegression with warm_start=True
logreg= LogisticRegression(C=1e5, warm_start=True)
# you can access the C parameter's value as follows
logreg.C
# it's set to 100000.0
# ....
# train your model here by calling logreg.fit(..)
# ....
# reset the value of the C parameter as follows
logreg.C = 1e3
logreg.C
# now it's set to 1000.0
# ....
# re-train your model here by calling logreg.fit(..)
# ....
據我一直能夠快速檢查,它也可用於以下:
據我所知,貝葉斯超參數優化是最快的方法:https://github.com/fmfn/BayesianOptimization 。你可以爲此創建一個新的問題,也許人們會有更好的想法。 – MedAli