python - Why do I get a different output from same input using GradientBoostingRegressor of scikit-learn? -
उदाहरण के लिए:
params = {'n_estimators': 200, "max_depth": 4, 'नमक': 1, 'सीखने_रेडिट': 0.1} बढ़ावा = दागदादिल। ग्रैडिएन्टबॉस्टिंग अपराधी (** पैरामीटर) भूत बोज़ = कलाकारों की टुकड़ी। ग्रैडिएन्टबॉस्टिंग। अपराधी (** पैरामीटर) ... boost.fit (x, y) ghostBoost.fit (x , Y) ... predictionA = boost.predict (विशेषताओं) predictionB = ghostBoost.predict (विशेषताओं)
boost
और ghostBoost
prediction A
के बराबर नहीं होता है, ऐसा क्यों हो रहा है?
दोनों मॉडल के समान मूल्य के लिए random_state
कन्स्ट्रक्टर पैरामीटर फिक्स करने की कोशिश करें। निर्णय वृक्ष इमारत की प्रक्रिया यादृच्छिक होती है क्योंकि प्रत्येक नोड उपलब्ध सुविधाओं से यादृच्छिक (प्रतिस्थापन के बिना प्रतिस्थापन के साथ) अधिकतम_features
पर विचार करता है।
संपादित करें: सुविधा नमूना बिना प्रतिस्थापन के किया जाता है जब max_features = none
(डिफ़ॉल्ट) सभी विशेषताओं का मूल्यांकन किया जाता है, फिर भी उस क्रम के परिवर्तन जो कि अधिकतम_एपेथ
नहीं है कोई भी
नहीं हो सकता है लक्ष्य चर में गैर-अनन्य मान हैं जो सर्वोत्तम सुविधा विभाजन को बांधा देते हैं।
Comments
Post a Comment