هوش مصنوعی با برنامه نویسی پایتون – یادگیری تحت نظارت: رگرسیون

3 سال پیش

هوش مصنوعی با برنامه نویسی پایتون – یادگیری تحت نظارت: رگرسیون

رگرسیون یکی از مهمترین ابزارهای آماری و یادگیری ماشین است. اشتباه نمی کنیم اگر بگوییم سفر یادگیری ماشینی از رگرسیون شروع می شود. این ممکن است به عنوان تکنیک پارامتری تعریف شود که به ما امکان تصمیم گیری بر اساس داده را می دهد یا به عبارت دیگر به ما امکان می دهد با یادگیری رابطه بین متغیرهای ورودی و خروجی بر اساس داده ها پیش بینی کنیم. در اینجا ، متغیرهای خروجی وابسته به متغیرهای ورودی، اعداد واقعی با ارزش پیوسته هستند. در رگرسیون، رابطه بین متغیرهای ورودی و خروجی مهم است و به ما کمک می کند تا درک کنیم که چگونه مقدار متغیر خروجی با تغییر متغیر ورودی تغییر می کند. رگرسیونها اغلب برای پیش بینی قیمت ها، اقتصاد، تغییرات و غیره استفاده می شود.

ساخت رگرسیون ها در پایتون

در این بخش، ما می آموزیم که چگونه یک رگرسیونهای واحد و همچنین چند متغیره بسازیم.

پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون

 

رگرسیون خطی / رگرسیون تک متغیر

بگذارید چند پکیج مورد نیاز برای ما مهم باشد –

import numpy as np
from sklearn import linear_model
import sklearn.metrics as sm
import matplotlib.pyplot as plt

 

اکنون، ما باید داده های ورودی را ارائه دهیم و داده های خود را در فایلی به نام linear.txt ذخیره کرده ایم.

input = 'D: /ProgramData/linear.txt'

ما باید این داده ها را با استفاده از تابع np.loadtxt بارگیری کنیم.

input_data = np.loadtxt(input, delimiter=',')
X, y = input_data[:, :-1], input_data[:, -1]

 

قدم بعدی آموزش مدل است. اجازه دهید نمونه های آموزشی و تست را ارائه دهیم.

training_samples = int(0.6 * len(X))
testing_samples = len(X) - num_training

X_train, y_train = X[:training_samples], y[:training_samples]

X_test, y_test = X[training_samples:], y[training_samples:]

 

اکنون، ما باید یک شی  رگرسیون خطی ایجاد کنیم.

reg_linear = linear_model.LinearRegression ()

با نمونه های آموزشی شی را آموزش دهید.

reg_linear.fit (X_train ، y_train)

ما باید پیش بینی را با داده های تست انجام دهیم.

y_test_pred = reg_linear.predict (X_test)

اکنون داده ها را ترسیم و تجسم کنید.

plt.scatter(X_test, y_test, color = 'red')
plt.plot(X_test, y_test_pred, color = 'black', linewidth = 2)
plt.xticks(())
plt.yticks(())
plt.show()

 

خروجی

Linear Regressor

اکنون ، ما می توانیم عملکرد رگرسیون خطی خود را به شرح زیر محاسبه کنیم –

print("Performance of Linear regressor:")
print("Mean absolute error =", round(sm.mean_absolute_error(y_test, y_test_pred), 2))
print("Mean squared error =", round(sm.mean_squared_error(y_test, y_test_pred), 2))
print("Median absolute error =", round(sm.median_absolute_error(y_test, y_test_pred), 2))
print("Explain variance score =", round(sm.explained_variance_score(y_test, y_test_pred),
۲))
print("R2 score =", round(sm.r2_score(y_test, y_test_pred), 2))

 

خروجی

عملکرد رگرسیون خطی –

Mean absolute error = 1.78
Mean squared error = 3.89
Median absolute error = 2.01
Explain variance score = -0.09
R2 score = -0.09

 

در کد بالا ، ما از این داده های کوچک استفاده کرده ایم. اگر یک مجموعه داده بزرگ می خواهید، می توانید از sklearn.dataset برای وارد کردن مجموعه داده بزرگتر استفاده کنید.

۲,۴٫۸۲٫۹,۴٫۷۲٫۵,۵۳٫۲,۵٫۵۶,۵۷٫۶,۴۳٫۲,۰٫۹۲٫۹,۱٫۹۲٫۴,
۳٫۵۰٫۵,۳٫۴۱,۴۰٫۹,۵٫۹۱٫۲,۲٫۵۸۳٫۲,۵٫۶۵٫۱,۱٫۵۴٫۵,
۱٫۲۲٫۳,۶٫۳۲٫۱,۲٫۸

 

رگرسیون چند متغیره

ابتدا اجازه دهید چند پکیج مورد نیاز را وارد کنیم –

import numpy as np
from sklearn import linear_model
import sklearn.metrics as sm
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures

 

اکنون ، ما باید داده های ورودی را ارائه دهیم و داده های خود را در فایلی به نام linear.txt ذخیره کرده ایم.

input = 'D: /ProgramData/Mul_linear.txt'

 

ما با استفاده از تابع np.loadtxt این داده ها را بارگیری خواهیم کرد.

input_data = np.loadtxt(input, delimiter=',')
X, y = input_data[:, :-1], input_data[:, -1]

 

قدم بعدی آموزش مدل است. ما نمونه های آموزشی و تست را ارائه خواهیم داد.

training_samples = int(0.6 * len(X))
testing_samples = len(X) - num_training

X_train, y_train = X[:training_samples], y[:training_samples]

X_test, y_test = X[training_samples:], y[training_samples:]

اکنون، ما باید یک شی  رگرسیون خطی ایجاد کنیم.

reg_linear_mul = linear_model.LinearRegression ()

با نمونه های آموزشی شی را آموزش دهید.

reg_linear_mul.fit (X_train ، y_train)

اکنون، بالاخره ما باید پیش بینی را با داده های تست انجام دهیم.

y_test_pred = reg_linear_mul.predict(X_test)

print("Performance of Linear regressor:")
print("Mean absolute error =", round(sm.mean_absolute_error(y_test, y_test_pred), 2))
print("Mean squared error =", round(sm.mean_squared_error(y_test, y_test_pred), 2))
print("Median absolute error =", round(sm.median_absolute_error(y_test, y_test_pred), 2))
print("Explain variance score =", round(sm.explained_variance_score(y_test, y_test_pred), 2))
print("R2 score =", round(sm.r2_score(y_test, y_test_pred), 2))

 

خروجی

عملکرد رگرسیون خطی –

Mean absolute error = 0.6
Mean squared error = 0.65
Median absolute error = 0.41
Explain variance score = 0.34
R2 score = 0.33

 

اکنون ، ما یک چند جمله ای از درجه ۱۰ ایجاد می کنیم و شخص کنترل کننده را آموزش می دهیم. ما نمونه داده ای را ارائه خواهیم داد.

polynomial = PolynomialFeatures(degree = 10)
X_train_transformed = polynomial.fit_transform(X_train)
datapoint = [[2.23, 1.35, 1.12]]
poly_datapoint = polynomial.fit_transform(datapoint)  poly_linear_model = linear_model.LinearRegression()
poly_linear_model.fit(X_train_transformed, y_train)
print("\nLinear regression:\n", reg_linear_mul.predict(datapoint))
print("\nPolynomial regression:\n", poly_linear_model.predict(poly_datapoint))

 

خروجی

رگرسیون خطی –

[۲٫۴۰۱۷۰۴۶۲]

رگرسیون چند جمله ای –

[۱٫۸۶۹۷۲۲۵]

در کد بالا، ما از این داده های کوچک استفاده کرده ایم. اگر یک مجموعه داده بزرگ می خواهید، می توانید از sklearn.dataset برای وارد کردن یک مجموعه داده بزرگتر استفاده کنید.

۲,۴٫۸,۱٫۲,۳٫۲۲٫۹,۴٫۷,۱٫۵,۳٫۶۲٫۵,۵,۲٫۸,۲۳٫۲,۵٫۵,۳٫۵,۲٫۱۶,۵,
۲,۳٫۲۷٫۶,۴,۱٫۲,۳٫۲۳٫۲,۰٫۹,۲٫۳,۱٫۴۲٫۹,۱٫۹,۲٫۳,۱٫۲۲٫۴,۳٫۵,
۲٫۸,۳٫۶۰٫۵,۳٫۴,۱٫۸,۲٫۹۱,۴,۳,۲٫۵۰٫۹,۵٫۹,۵٫۶,۰٫۸۱٫۲,۲٫۵۸,
۳٫۴۵,۱٫۲۳۳٫۲,۵٫۶,۲,۳٫۲۵٫۱,۱٫۵,۱٫۲,۱٫۳۴٫۵,۱٫۲,۴٫۱,۲٫۳۲٫۳,
۶٫۳,۲٫۵,۳٫۲۲٫۱,۲٫۸,۱٫۲,۳٫۶

 

منبع.

لیست جلسات قبل آموزش هوش مصنوعی با برنامه نویسی پایتون

  1. آموزش هوش مصنوعی با برنامه نویسی پایتون – مفهوم کلی
  2. شروع آموزش هوش مصنوعی با برنامه نویسی پایتون
  3. یادگیری ماشین در هوش مصنوعی با برنامه نویسی پایتون
  4. هوش مصنوعی با برنامه نویسی پایتون، آماده ‌سازی داده ها
  5. هوش مصنوعی با پایتون، یادگیری نظارت شده و طبقه بندی

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه