وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

خط لوله رگرسیون تقویت کننده گرادیان انتها به انتها با Scikit-Learn

0 1
زمان لازم برای مطالعه: < 1 دقیقه


رگرسیون تکنیکی در آمار و یادگیری ماشینی است که در آن ارزش یک متغیر مستقل از طریق رابطه آن با سایر متغیرها پیش‌بینی می‌شود.

چارچوب‌هایی مانند Scikit-Learn و XGBoost انجام رگرسیون با مدل‌های متنوع را آسان‌تر از همیشه می‌کنند – یکی از مدل‌هایی که اخیراً به خوبی پذیرفته شده است. افزایش گرادیان. در حالی که XGBoost محبوبیت پیدا کرده است و با Scikit-Learn به خوبی کار می کند – همچنین می توانید از پیاده سازی خود Scikit-Learn برای تقویت گرادیان استفاده کنید (که تقریباً وجود دارد. روی با XGBOOST).

XGBoost با Scikit-Learn به خوبی کار می کند، API مشابهی دارد و در بیشتر موارد می تواند درست مانند یک مدل Scikit-Learn استفاده شود – بنابراین طبیعی است که بتوان با هر دو کتابخانه خطوط لوله ایجاد کرد. اگر مایل به استفاده از آن هستید، “خط لوله رگرسیون XGBoost End-to-End با Scikit-Learn” ما را بخوانید.

با خطوط لوله Scikit-Learn، می توانید یک خط لوله سرتاسر در 4 خط کد ایجاد کنید: یک مجموعه داده را بارگیری کنید، مقیاس بندی ویژگی ها را انجام دهید، و سپس داده ها را به یک مدل رگرسیونی وارد کنید:

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.pipeline import Pipeline

X, y = datasets.fetch_california_housing(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y)

pipeline = Pipeline((('scaler', MinMaxScaler()), ('regressor', GradientBoostingRegressor())))
pipeline.fit(X_train, y_train)

r2 = pipeline.score(X_test, y_test)
print(f"GBR: {r2}") 

از طرف دیگر، می توانید مراحل خارج از خط لوله را که کمی پرمخاطب تر و در عین حال انعطاف پذیرتر است، جدا کنید:

X, y = datasets.fetch_california_housing(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y)

scaler = MinMaxScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

gbr = GradientBoostingRegressor().fit(X_train_scaled, y_train)

r2 = gbr.score(X_test_scaled, y_test)
print(f"GBR: {r2}") 

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-05 14:58:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید