Professional Documents
Culture Documents
Drills (Session05) (Answers) A
Drills (Session05) (Answers) A
هرگونه کپی برداری غیرقانونی و حرام است و هیچ گونه رضایت مولف را در بر ندارد
-2ممکن است در جواب بعضی سواالت نیاز باشد بگویید با خطا مواجه میشویم و توضیح دهید[ .پس لزوماً قرار
نیست چیزی که خواسته شده واقعاً صحیح باشد]
پس تاکید مجدد :اگر جایی با خطا مواجه میشه ،کامل توضیح بدید [کاملِ کامل!]
-3در هیچ جای این تمرین حق ندارید از مطالبی استفاده کنید که ما آموزش ندادیم.
eps=sys.float_info.epsilon
حال شما باید توابعی بنویسید که xو yرا به ترتیب به عنوان ورودی بگیرند و موارد زیر را انجام دهند.
الف) تابعی که معادله رگرسیونی را چاپ کند (اسم تابع را fitبگذارید).
یعنی مثالً در خروجی بدهد:
Y= 15.2 + 5.6 * X
ب) تابعی ک برآورد ضرایب رگرسیون را خروجی دهد (اسم تابع را coeffبگذارید).
پ) تابعی که به ازای یک مشاهده جدید ،طبق معادله رگرسیونی ،پیشبینی انجام دهد (اسم تابع را
predictبگذارید).
تذکر :در مثال فوق حق ندارید یک تابع بنویسید که همهی موارد باال را باهم خروجی دهد .بلکه توابع
باید جداگانه باشند ،ولی باهم ارتباط داشته باشند.
حل:
الف تا پ) در حل زیر تابع elementwise_productionخواسته نشده ،اما برای راحتی کار
خودمان ،این تابع را تعریف کردهایم .کار این تابع این است که مولفههای دو لیست را درایهدرایه در هم
ضرب کند و حاصل هر بار از این عملیات را داخل لیستی به اسم resultاضافه میکند.
# ========== Building our linear regression
)# elementwise production function (for simplicity
def elementwise_production(x,y):
][=result
for i in range(len(x)):
)]result.append(x[i]*y[i
return result
، پرتاب یک تاس رو شبیهسازی کنید و ببینید که آیا در عمل، به عنوان زنگ تفریح و برای دل خودتون:زنگ تفریح
1
] هر وقت خودتون حل کردید بهش نگاه کنید،هست یا نه؟ [جوابش رو در زیر آوردم واقعاً احتمال هر وجه
6
1
)0.1666666666 ً هست یعنی مثال6 یعنی هِمینجوری تا آخر عدد6 (اون = 0 / 16 : اوالً باید بدونیم که:حل
6
کلیتش، ممکنه یه جور دیگه نوشته باشید،کدی که من نوشتم اینه [لزوماً قرار نیست شما هم همین شکلی نوشته باشید
]رو چک کنید
# www.Koolac.Org
# By: Sajjad Rahmani
import random
dice=[]
for i in range(10000000):
dice.append(random.randint(1,6))
prob={
1: dice.count(1)/len(dice),
2: dice.count(2)/len(dice),
3: dice.count(3)/len(dice),
4: dice.count(4)/len(dice),
5: dice.count(5)/len(dice),
6: dice.count(6)/len(dice)
}
print( prob )
:) طبیعتاً یکم طول میکشه، میلیون بار عدد تصادفی تولید میکنیم10 خروجی (چون داریم