دوره جامع هوش مصنوعی با تخفیف ویژه
۴ دوره در یک دوره

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

پیاده‌ سازی رگرسیون چندجمله‌ ای با 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}""") 

 

گام 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() 

درصد میزان خواندن مقاله
لیست دروس
مقالات مشابه
نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *