در این پست وبلاگ، قصد داریم یکی از روشهای پرکاربرد یادگیری ماشین را با استفاده از کتابخانه Scikit-Learn در پایتون، یعنی رگرسیون خطی (Linear Regression) را بررسی کنیم.
رگرسیون خطی یک روش یادگیری ماشین است که در آن، مدلی تشکیل شده از یک تابع خطی به منظور پیشبینی مقدار یک متغیر وابسته بر اساس یک یا چند متغیر مستقل، ساخته میشود. این روش در بسیاری از حوزههای علمی و تجاری کاربرد دارد.
ابتدا، ما برای شروع کار، کتابخانه Scikit-Learn را نصب میکنیم:
!pip install scikit-learn
حالا، یک مجموعه داده ساده برای آموزش مدل رگرسیون خطی بسازیم:
import numpy as np import matplotlib.pyplot as plt # create a simple dataset np.random.seed(0) X = np.random.rand(100, 1) y = 2 + 3 * X + np.random.randn(100, 1) plt.scatter(X, y) plt.show()
در این قطعه کد، یک مجموعه داده ساده با ۱۰۰ نمونه ایجاد شده و به صورت تصادفی در سراسر دامنهی [0, 1] توزیع شده است. برای ساختن مدل، این دادهها به دو بخش آموزشی و تست تقسیم میشوند:
from sklearn.model_selection import train_test_split # split the dataset into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
سپس، یک شیء رگرسور را با استفاده از کلاس LinearRegression از کتابخانه Scikit-Learn ساخته و با دادن دادههای آموزشی، مدل را آموزش میدهیم:
from sklearn.linear_model import LinearRegression # create a Linear Regression object lr = LinearRegression() # train the model on the training data lr.fit(X_train, y_train)
حالا، با استفاده از دادههای تست، میتوانیم عملپیشبینی را انجام دهیم و عملکرد مدل را با استفاده از معیارهای مختلف ارزیابی کنیم:
from sklearn.metrics import mean_squared_error, r2_score # make predictions on the testing data y_pred = lr.predict(X_test) # evaluate the model performance print("Mean squared error: %.2f" % mean_squared_error(y_test, y_pred)) print("Coefficient of determination: %.2f" % r2_score(y_test, y_pred))
در این قطعه کد، معیارهای خطا (MSE) و ضریب تعیین (R2) برای ارزیابی عملکرد مدل محاسبه میشوند.
در نهایت، میتوانیم خطای پیشبینیهای مدل را با توجه به دادههای واقعی، به صورت گرافیکی نیز نمایش دهیم:
plt.scatter(X_test, y_test, color='black') plt.plot(X_test, y_pred, color='blue', linewidth=3) plt.show()
در این قطعه کد، نتیجهی پیشبینی مدل با استفاده از دادههای تست به همراه دادههای واقعی نمایش داده میشوند.
در این پست وبلاگ، ما یادگیری رگرسیون خطی با استفاده از کتابخانه Scikit-Learn را بررسی کردیم. این یک روش پرکاربرد برای پیشبینی متغیرهای وابسته است. شما هم میتوانید با استفاده از کتابخانه Scikit-Learn و دادههای خود، مدلهای رگرسیون خطی بسازید و عملکرد آنها را ارزیابی کنید.