پیاده‌ سازی رگرسیون چندجمله‌ ای با Turicreate

بفرست برای دوستت
Telegram
WhatsApp
پیاده‌ سازی رگرسیون چندجمله‌ ای با Turicreate

فهرست مطالب

در این مقاله، ما می خواهیم پیاده‌ سازی رگرسیون چندجمله‌ ای با Turicreate را مورد بحث قرار دهیم.

رگرسیون چندجمله‌ای: رگرسیون چندجمله‌ ای نوعی تجزیه و تحلیل رگرسیون است که رابطه بین یک متغیر وابسته، بگوییم y، و یک متغیر مستقل، بگوییم x، را به عنوان یک چندجمله‌ای درجه n مدل‌سازی می‌کند. این مفهوم به صورت زیر بیان می‌شود:

y = b0 + b1x1 + b2x12 + b3x13 + …… + bnx1n

[که در آن b0، b1، b2، …… bn ضرایب رگرسیون هستند]

حالا بیایید این مفهوم را عملی یاد بگیریم.

گام 1: برای پیاده‌ سازی رگرسیون چندجمله‌ ای با Turicreate ابتدا کتابخانه‌های مهم را وارد کنید و با استفاده از SArray و SFrame در turicreate، یک مجموعه داده بسیار کوچک ایجاد کنید که قصد داریم از آن برای انجام رگرسیون چندجمله‌ای استفاده کنیم. 

# importing required python libraries 
import turicreate 
import matplotlib.pyplot as plt 
import random 

# Generating datapoints 
X = [data for data in range(1, 21)] 
Y = [random.randrange(100, 1000, 1) for data in range(20)] 

# Creating Sarrays from the generated data points 
Xs = turicreate.SArray(X, dtype=float) 
Ys = turicreate.SArray(Y, dtype=float) 

print(f"""Xs : {Xs} 
\n-------------------------------------------------------------------------------------------\n 
Ys : {Ys}""") 

 

  درک پردازش داده (Data Processing)

گام 2: ترسیم داده‌های ایجاد شده 

# plotting the generated data 
plt.scatter(Xs, Ys) 
plt.show() 

 

گام 3: ایجاد یک SFrame شامل ورودی، درجه‌های چندجمله‌ای آن، و خروجی برای تنظیم مدل رگرسیون ما. 

# Creating an Sframe where all the inputs and the polynomial degree and output 
def createSframe(inputs, pol_degree): 
	datapoints = turicreate.SFrame({'x1': inputs}) 
	for degree in range(2, pol_degree+1): 
		datapoints[f'x{degree}'] = datapoints[f'x{degree-1}']*datapoints['x1'] 
	return datapoints 


# Creating a SFrame with polynomial degree 20 
data_points = createSframe(Xs, 20) 
data_points['y'] = Ys 

# showing the first 10 entries in the SFrame 
data_points.head() 

 

گام 4: انطباق رگرسیون چندجمله‌ای بر روی مجموعه داده ایجاد شده. 

# Polynomial Regression 
features = [f'x{i}' for i in range(1, 21)] 
poly_model = turicreate.linear_regression.create( 
	data_points, features=features, target='y') 

 

گام 5: پیش‌بینی نتیجه با استفاده از مدل تنظیم شده و ذخیره نتیجه در SFrame. 

# predicting the some data 
# Generating test datapoints 
test_X = [random.randrange(1, 60, 1) for data in range(20)] 
test_Xs = turicreate.SArray(X, dtype=float) 
test_data = createSframe(test_Xs, 5) 
data_points['predicted_y'] = poly_model.predict(test_data) 

data_points.head() 

 

گام 6: اندازه‌گیری دقت نتیجه پیش‌بینی شده. 

# Measuring the accuracy 
# Generating test datapoints 
test_X = [random.randrange(1, 60, 1) for data in range(20)] 
test_Xs = turicreate.SArray(X, dtype=float) 
test_data = createSframe(test_Xs, 20) 
poly_model.evaluate(data_points) 

 

  رگرسیون چندجمله‌ای برای داده‌ های غیرخطی

گام 7: تجسم نتایج رگرسیون چندجمله‌ای با استفاده از نمودار پراکندگی و نمودار خطی داده‌های ورودی و نتیجه پیش‌بینی شده.

plt.scatter(data_points['x1'], data_points['y']) 
plt.plot(data_points['x1'], data_points['predicted_y']) 
plt.show() 

Rating 5.00 from 2 votes

لیست دروس دوره

آموزش پیشنهادی و مکمل

اگر سوالی در مورد این درس دارید، در کادر زیر بنویسید.

guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید

دوره جامع متخصص علم داده و یادگیری ماشین

برای دیدن نوشته هایی که دنبال آن هستید تایپ کنید.
×