-2
我有一個15,000左右的小數據集有13個功能。所有的輸入都是整數,而不是非常大的數字。SVR,SVM,梯度提升和XGBoost永遠運行[python]
我使用這些數據來訓練分類器,如SVR,SVM,XGboost等與Gridsearch。
但是每次訓練過程中需要永遠。(超過60分鐘)
我已經擴展我的輸入數據X,但它仍然需要大量的時間。 另外,從其他有類似問題的帖子中,加入了catch_size iin分類器,如SVC(cache_size = 7000)來訓練模型,但似乎無助於加速計算。
它自己的數據非常小,所以我覺得這很奇怪。
這裏是我的代碼的例子,如果有人可以給我什麼建議,我將非常感激非常。
from xgboost.sklearn import XGBRegressor
one_to_left = st.beta(10, 1)
from_zero_positive = st.expon(0, 50)
params = {
"n_estimators": [100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200],
"max_depth": [2, 3, 4, 5, 6, 7, 8, 9, 10],
"learning_rate": [0.05, 0.4, 1, 1.5, 2, 2.5, 3, 4],
"colsample_bytree": [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],
"subsample":[0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],
}
xgbreg = XGBRegressor()
gs = GridSearchCV(xgbreg, params)
gs.fit(X_train, y_train)
y_gs = gs.predict(X_test)
目標變量y是整數迴歸問題的百分比; 二進制數據0和1用於分類問題。
不能說XGBoost,但基於svm的估計量與縮放數據(主要是意味着標準化)運作良好。看看[這裏](http://scikit-learn.org/stable/modules/preprocessing.html#standardization-or-mean-removal-and-variance-scaling)。同時發佈您的數據和完整的代碼,以便其他人可以驗證他們機器上的運行時間。 –