2016-02-02 6 views
9

का उपयोग कर मैं अपने समस्या के लिए रैंडम वन उपयोग करने के लिए कोशिश कर रहा हूँ scikit सीखने (नीचे बोस्टन डेटासेट के लिए एक नमूना कोड, अपने डेटा के लिए नहीं है)। मैं हाइपरपेरामीटर ट्यूनिंग के लिए GridSearchCV का उपयोग करने की योजना बना रहा हूं लेकिन विभिन्न मानकों के लिए मूल्यों की सीमा क्या होनी चाहिए? मुझे कैसे पता चलेगा कि मैं जिस सीमा का चयन कर रहा हूं वह सही है?रैंडम वन hyperparameter ट्यूनिंग GridSearchCV

मैं इंटरनेट और किसी पर इसके बारे में पढ़ रहा था एक दूसरे ग्रिड खोज में इष्टतम पर "में ज़ूम" की कोशिश करने का सुझाव दिया है (जैसे अगर यह 10 था तो कोशिश [5, 20, 50])।

यह सही दृष्टिकोण है? क्या मैं यादृच्छिक जंगल के लिए आवश्यक सभी मानकों के लिए इस दृष्टिकोण का उपयोग करूंगा? इस दृष्टिकोण से "अच्छा" संयोजन याद आ सकता है, है ना?

import numpy as np 
from sklearn.grid_search import GridSearchCV 
from sklearn.datasets import load_digits 
from sklearn.ensemble import RandomForestRegressor 
digits = load_boston() 
X, y = dataset.data, dataset.target 
model = RandomForestRegressor(random_state=30) 
param_grid = { "n_estimators"  : [250, 300], 
      "criterion"   : ["gini", "entropy"], 
      "max_features"  : [3, 5], 
      "max_depth"   : [10, 20], 
      "min_samples_split" : [2, 4] , 
      "bootstrap": [True, False]} 
grid_search = GridSearchCV(clf, param_grid, n_jobs=-1, cv=2) 
grid_search.fit(X, y) 
print grid_search.best_params_ 

उत्तर

3

मोटे-टू-फाइन वास्तव में सर्वोत्तम पैरामीटर खोजने के लिए आमतौर पर उपयोग किया जाता है। आप पहली बार पैरामीटर की एक विस्तृत श्रृंखला से शुरू करते हैं और उन्हें परिष्कृत करते हैं क्योंकि आप सर्वोत्तम परिणामों के करीब आते हैं।

मैं जो scikit-जानने के लिए, hyperopt-sklearn के लिए hyperparameter अनुकूलन करता है एक भयानक पुस्तकालय पाया। यह आपके RandomForest या किसी अन्य मानक क्लासिफायर को स्वतः ट्यून कर सकता है। आप एक ही समय में विभिन्न क्लासिफायरों को ऑटो-ट्यून और बेंचमार्क भी कर सकते हैं।

मैं सुझाव है कि आप उस के साथ शुरू करते हैं, क्योंकि यह विभिन्न योजनाओं को लागू करता है सबसे अच्छा मानकों पाने के लिए:

रैंडम खोजें

Parzen आकलनकर्ता के वृक्ष (TPE)

एनीलिंग

ट्री

गाऊसी प्रक्रिया ट्री

संपादित करें:

प्रतिगमन के मामले में, आप अभी भी बात पर जोर देना है, तो अपने भविष्यवाणियों अच्छे हैं की जरूरत है। मेरा अनुमान है कि आप एक द्विआधारी वर्गीकारक hyperopt पुस्तकालय के साथ इसका इस्तेमाल करने के लिए एक स्कोर समारोह के साथ scikit-learn estimator interface. को लागू करने में Regressor लपेट सकता है कि ...

फिर भी, मोटे-टू-ठीक दृष्टिकोण अभी भी रखती है और किसी भी के लिए मान्य है आकलनकर्ता।

+0

यह प्रतिगमन और कई एल्गोरिदम का समर्थन नहीं करता है, यह करता है? असल में, मेरी समस्या प्रतिशोध वर्गीकरण नहीं है। मैंने अपना प्रश्न संपादित किया है। – Muhammad

+0

आपका कोड एक RandomForestClassifier दिखाता है ... – Kikohs

+0

मैंने अपना प्रश्न संपादित किया है, भ्रम के लिए खेद है। – Muhammad

संबंधित मुद्दे