آموزش دیتاساینس و ماشین‌لرنینگ
1.89K subscribers
161 photos
9 videos
134 links
🔴 آموزش مباحث حوزه دیتا شامل علم داده، یادگیری ماشین و تحلیل داده (رضا شکرزاد)

🌀 کانال اخبار و منابع هوش مصنوعی:
@DSLanders

🌀 مشاوره و ارتباط مستقیم:
https://t.iss.one/dslanders_admin

یوتیوب:
Youtube.com/@RezaShokrzad

دوره‌ها:
cafetadris.com/datascience
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🟣 تبدیل نوع داده Boolean به String

اگه می‍خواین یه مقدار منطقی رو در رشته نشون بدین، اول باید به کمک ()str نوعش رو به رشته تغییر بدین.

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43👨‍💻2🔥1
👨‍🏫 آموزش حلقه For در پایتون

حلقه‌ها در پایتون ابزاری برای اجرای دستورات به صورت تکراری و بر اساس یک دنباله هستن. حلقه‌ها می‌تونن ساده یا پیچیده و تودرتو باشن.

🔵 ما می‌تونیم از حلقه برای اجرای دستورات بر روی عناصر یک لیست استفاده می‌کنیم.

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)

🔜 apple
banana
cherry

🔵 با استفاده از تابع enumerate, می‌تونیم indexها رو در حلقه‌ها به کار ببریم و دستورات پیچیده‌تری بنویسیم.

for index, fruit in enumerate(fruits, start=1):
print(f"fruit {index}: {fruit}")

🔜 fruit 1: apple
fruit 2: banana
fruit 3: cherry

🔵 در سطح پیشرفته، با ترکیب حلقه و comprehensions می‌تونیم لیست‌ها، مجموعه‌ها و دیکشنری‌های جدید تولید کنیم. این روش خلاصه، خوانا و بسیار کارآمده.

squares = {x: x*x for x in range(10)}
print(squares)

🔜 {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

🔵 حلقه‌های تو در تو به ما امکان می‌دن تا روی ساختارهای داده‌ای مثل ماتریس‌ها کار کنیم.

matrix = [[1, 2], [3, 4]]
transposed = [[row[i] for row in matrix] for i in range(2)]
print(transposed)

🔜 [[1, 3], [2, 4]]

🔵 با استفاده از توابع مولد (generator functions) در پایتون، امکان پیاده‌سازی دنباله‌هایی وجود داره که به جای اینکه تمام مقادیر رو به طور همزمان محاسبه و ذخیره کنن، به صورت تدریجی و تنها زمانی که نیاز به مقدار بعدی باشه (lazy evaluation)، اونها رو تولید می‌کنن. این شیوه کاربردی، فضای کمتری از حافظه رو اشغال می‌کنه و به افزایش کارایی برنامه هنگام کار با دنباله‌های حجیم کمک می‌کنه.

def count_down(start):
n = start
while n > 0:
yield n
n -= 1

print(*count_down(5))

🔜 5 4 3 2 1

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83👨‍💻2🔥1👏1
کوئیز شماره ۷: حلقه بی‌پایان در For

کدوم یک باعث می‌شه که حلقه for بی‌نهایت ادامه پیدا کنه؟
Anonymous Quiz
38%
for i in range(10): continue
52%
for i in iter(int, 1): pass
6%
for i in [1, 2, 3]: break
4%
for i in range(10): print(i)
👍7🤔2😎21
🟣 بهینه‌سازی حافظه و زمان با استفاده از itertools.chain

یکی از مفاهیم پیشرفته در استفاده از حلقه‌های "for" در پایتون، استفاده از تابع itertools.chain برای ترکیب چندین توالی بدون ایجاد یک لیست جدیده. این روش زمانی که نیاز به پیمایش دیتاست‌های بزرگ هست و می‌خواین از مصرف حافظه زیاد جلوگیری کنین، مفیده.

این کد تمام اعداد در list1 و list2 رو پیمایش می‌کنه، بدون اینکه نیاز باشه یک لیست جدید و بزرگتر ایجاد شه.
#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2👏1👨‍💻1
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵آموزش رشته (String) در پایتون
👉🔗 https://t.iss.one/data_ml/10

🔵آموزش لیست (List) در پایتون
👉🔗 https://t.iss.one/data_ml/14

🔵آموزش پیشرفته Set در پایتون
👉🔗 https://t.iss.one/data_ml/17

🔵آموزش دیکشنری (Dictionary) در پایتون
👉🔗 https://t.iss.one/data_ml/20

🔵آموزش چندتایی‌ها (Tuple) در پایتون
👉🔗 https://t.iss.one/data_ml/23

🔵آموزش داده باینری (Boolean Type) در پایتون
👉🔗 https://t.iss.one/data_ml/26

🔵آموزش حلقه For در پایتون
👉🔗 https://t.iss.one/data_ml/29

🔺 کوئیز

🔵کوئیز شماره ۱: متد ()title
👉🔗 https://t.iss.one/data_ml/12

🔵کوئیز شماره ۲: List
👉🔗 https://t.iss.one/data_ml/15

🔵کوئیز شماره ۳: Set
👉🔗 https://t.iss.one/data_ml/18

🔵کوئیز شماره ۴: دسترسی به مقادیر در دیکشنری‌
👉🔗 https://t.iss.one/data_ml/21

🔵کوئیز شماره ۵: Tuple
👉🔗 https://t.iss.one/data_ml/24

🔵کوئیز شماره ۶: Boolean Type
👉🔗 https://t.iss.one/data_ml/27

🔵کوئیز شماره ۷: حلقه بی‌پایان در For
👉🔗 https://t.iss.one/data_ml/30

🔺 نکات

🔵سه روش اضافه کردن مقدار متغییر به رشته
👉🔗 https://t.iss.one/data_ml/13

🔵جمع‌بندی متدهای List در پایتون
👉🔗 https://t.iss.one/data_ml/16

🔵چطور List ، Tuple و Set رو باهم ترکیب کنیم؟
👉🔗 https://t.iss.one/data_ml/19

🔵چطور از دو لیست مختلف یک Dictionary ایجاد کنیم؟
👉🔗 https://t.iss.one/data_ml/22

🔵افزایش کارایی با استفاده از Tuple
👉🔗 https://t.iss.one/data_ml/25

🔵تبدیل نوع داده Boolean به String
👉🔗 https://t.iss.one/data_ml/28

🔵بهینه‌سازی حافظه و زمان با استفاده از itertools.chain
👉🔗 https://t.iss.one/data_ml/31

#Weekend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥1👏1
👩‍🎓 برنامه آموزشی هفته: مرور نکات پایتون ۲

🟠شنبه: While (حلقه)

🔵یک‌شنبه: If condition (شرط)

🟢دوشنبه: Function (تابع)

🔴سه‌شنبه: Lambda F (تابع بدون نام)

🟠چهارشنبه: List Comprehension (لیست‌های پیچیده)

🔵پنج‌شنبه: Class (کلاس)

🟢جمعه: Casting (تبدیل نوع داده)

#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥1👏1
👨‍🏫 آموزش حلقه While در پایتون

حلقه‌ while ابزار قدرتمندی برای تکرار دستورات تا زمان برآورده شدن یک شرطه.

🔵 یکی از کاربردهای while، پیاده‌سازی الگوریتم‌ها با شرط پیچیده‌ست. به عنوان مثال، می‌تونیم یک حلقه while بنویسیم که تا زمانی که جمع اعداد وارد شده توسط کاربر کمتر از ۵۰ باشه ادامه پیدا کنه.

sum = 0
while sum < 50:
number = float(input("یک عدد وارد کنید: "))
sum += number
print("جمع اعداد بیش از ۵۰ شد.")


🔵 استفاده از else با while، یک ویژگی منحصر به فرد در پایتونه که اجازه می‌ده پس از اتمام حلقه، بدون شکستن حلقه، کد خاصی اجرا شه.

count = 0
while count < 5:
print(count)
count += 1
else:
print("حلقه به اتمام رسید.")

🔜
0
1
2
3
4
حلقه به اتمام رسید.

🔵 ما می‌توانیم از while در ترکیب با try-except برای مدیریت خطاها در ورودی‌های کاربر استفاده کنیم و مطمئن شیم که برنامه در صورت ورودی نامعتبر، متوقف نمی‌شه.

while True:
try:
x = int(input("لطفاً یک عدد وارد کنید: "))
break
except ValueError:
print("مقدار وارد شده عدد نیست. دوباره امتحان کنید.")


🔵 حلقه‌های while می‌تونن برای اجرای وظایف به صورت موازی با استفاده از threading به کار برن. در نتیجه این امکان به وجود میاد که برنامه‌های تعاملی‌تر بسازیم.

import threading

def print_numbers():
i = 0
while i < 10:
print(i)
i += 1

t = threading.Thread(target=print_numbers)
t.start()

# ادامه کد برای انجام دیگر وظایف در حین اجرای thread


🔵می‌تونیم از while برای خوندن فایل‌ها استفاده کنیم، به‌طوری که تا آخر فایل رو بخونه:
with open('data.txt', 'r') as file:
while line := file.readline():
print(line.strip())


🔵حلقه‌ while رو میشه با توابعی مثل enumerate ترکیب کرد تا به indexها و مقادیر در یک لیست دسترسی داشته باشیم.

items = ['apple', 'banana', 'cherry']
index = 0
while index < len(items):
print(index, items[index])
index += 1

🔜 0 apple
1 banana
2 cherry

#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2👨‍💻2
d = {'A': 1, 'B': 2, 'C': 3}
while d:
print(d.popitem())
print('Done')


#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
👍3
🟣 کاربرد Divide and Conquer در Tuning مدل‌های یادگیری ماشین

میشه از حلقه‌ while در روش Divide and Conquer برای بهینه‌سازی پارامترهای مدل در یادگیری ماشین استفاده کرد. این روش با اجرای حلقه تا رسیدن به شرایط خاص، مثل حداکثر دقت مدل یا کاهش تفاوت پارامترها به کمتر از Threshold تعیین‌شده، مؤثره.

این استراتژی، به‌ویژه برای Tuning دقیق مدل‌های پیچیده که جستجوی دستی برای پارامترها ناکارآمده، مفیده.

#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2👨‍💻2
👨‍🏫 آموزش پیشرفته شرط‌ها (If Conditions) در پایتون

در پایتون، استفاده از if به عنوان پایه‌ای برای بررسی شرایط مختلف، بسیار کاربردیه. می‌تونیم با استفاده از شرط‌های ترکیبی و توابع، منطق‌های بسیار پیچیده‌ای رو پیاده‌سازی کنیم.

🔵 شرط‌های ترکیبی با and و or به ما این امکان رو می‌دن که چندین معیار رو همزمان در نظر بگیریم.

def check_temp_humidity(temp, humidity):
if temp > 30 and humidity > 50:
return "Hot and Humid"
elif temp > 30 or humidity > 50:
return "Hot or Humid"
else:
return "Comfortable"

print(check_temp_humidity(32, 55))
🔜 Hot and Humid
print(check_temp_humidity(32, 45))

🔜 Hot or Humid

🔵 شرط‌های تو در تو (Nested If) برای بررسی شرایط متعدد در سطوح مختلف کاربرد دارن.

def grade_evaluation(score):
if score >= 90:
if score >= 95:
return "A+"
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
else:
return "D"

print(grade_evaluation(96))

🔜 A+
print(grade_evaluation(82))

🔜 B

🔵برای ارزیابی چندین شرط مختلف که تنها یکی‌شون باید اجرا شه از elif استفاده می‌کنیم.

def traffic_light(color):
if color == "green":
return "Go"
elif color == "yellow":
return "Slow Down"
elif color == "red":
return "Stop"
else:
return "Invalid Color"

print(traffic_light("yellow"))

🔜 Slow Down

🔵از in در if برای بررسی وجود یک عنصر درون یک مجموعه، لیست، یا رشته استفاده میشه. همچنین از از not برای برعکس کردن یک شرط میشه استفاده کرد.

def check_membership(num, dataset):
if num in dataset:
return f"{num} is in the dataset."
else:
return f"{num} is not in the dataset."

dataset = {1, 3, 5, 7}
print(check_membership(3, dataset))

🔜 3 is in the dataset.

🔵استفاده از if-else ترکیبی در لیست Comprehensions برای اعمال منطق‌های متفاوت بر اساس شرط. این روش به شما امکان می‌ده که منطق پیچیده‌ای رو در تنها یک خط کد به صورت خلاصه بیان کنین، و در نتیجه کدتون مختصر و مفیدتر شه.

numbers = [1, 2, 3, 4, 5]
new_list = ["Even" if num % 2 == 0 else "Odd" for num in numbers]
print(new_list)

🔜 ['Odd', 'Even', 'Odd', 'Even', 'Odd']

#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥1👨‍💻1
کوئیز شماره ۹: استفاده از if برای فیلتر کردن داده‌ها

فرض کنین یک لیست از اعداد دارین و می‌خواین اعداد بزرگ‌تر از 100 رو به لیست دیگه‌ای اضافه کنین. کدوم قطعه کد زیر این کار رو به درستی انجام می‌ده؟
Anonymous Quiz
11%
if x > 100: new_list.append(x)
46%
new_list = [x for x in original_list if x > 100]
16%
if x in original_list > 100: new_list.append(x)
27%
new_list.append(x for x in original_list if x > 100)
6👍3🔥1😎1
💡 یه توصیه‌ مهم برای نوشتن شرط if

در پایتون، زمانی که می‌خوایم چک کنیم یک متغیر None هست یا نه، باید از is استفاده کنیم، نه از ==. این یکی از توصیه‌های مهم در نوشتن شرط‌های if هست که حتی برنامه‌نویسان پیشرفته هم گاهی اوقات نادیده می‌گیرن!

مقدار None یک نمونه منحصر به فرده و استاندارد پایتون (PEP 8) توصیه می‌کنه که برای مقایسه با این مقدار خاص از is استفاده شه. استفاده از is صحت و سرعت بالاتری داره. همچنین، این روش کد رو خواناتر و اجرای درست برنامه در شرایط مختلف رو تضمین می‌کنه.

روش غلط:
if my_variable == None:


روش درست:
if my_variable is None:
# انجام عملیات خاصی اگر my_variable برابر با None باشد


#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍2👨‍💻2🤔1
👨‍🏫 آموزش تابع (Function) به صورت کاربردی در ماشین لرنینگ

توابع در برنامه‌نویسی، بلوک‌های کدی هستن که برای اجرای گروهی دستوراتی مشخص، با هدف کاهش تکرار کد و افزایش خوانایی، تعریف می‌شن. این بلوک‌ها می‌تونن داده‌ها رو به عنوان ورودی بگیرن، عملیات انجام بدن و نتایج رو برگردونن.

🔵تابع برای محاسبه دقت مدل (Accuracy): تابع زیر دقت مدل رو با مقایسه پیش‌بینی‌های انجام شده با برچسب‌های واقعی محاسبه می‌کنه.

def calculate_accuracy(predictions, labels):
correct = sum(p == l for p, l in zip(predictions, labels))
accuracy = correct / len(labels)
return accuracy

# فرض کنید predictions و labels برچسب‌های پیش‌بینی شده و واقعی هستند.
accuracy = calculate_accuracy(predictions, labels)
print(f"Accuracy: {accuracy:.2%}")


🔵تابع برای پیش‌پردازش داده‌ها (Data Preprocessing): پیش‌پردازش یکی از مراحل اصلی در یادگیری ماشینه که شامل پاکسازی، نرمال‌سازی و تبدیل داده‌ها می‌شه. تابع زیر داده‌ها رو نرمال‌سازی می‌کنه تا مقیاس‌های یکسانی داشته باشن.

from sklearn.preprocessing import StandardScaler

def preprocess_data(data):
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
return scaled_data

# فرض کنید data داده‌های خام است.
scaled_data = preprocess_data(data)


🔵تابع برای ارزیابی مدل با استفاده از Cross-Validation: یک تکنیک ارزیابی که دقت مدل رو با تقسیم داده‌ها به چندین بخش و انجام آزمایش‌های متعدد اندازه‌گیری می‌کنه Cross-Validation هست.

from sklearn.model_selection import cross_val_score

def evaluate_model_with_cv(model, data, labels, cv=5):
scores = cross_val_score(model, data, labels, cv=cv)
return scores

# فرض کنید model مدل ماشین لرنینگ، data داده‌ها و labels برچسب‌ها هستند.
cv_scores = evaluate_model_with_cv(best_model, scaled_data, labels)
print(f"CV Scores: {cv_scores}")


#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1🤔1👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
🟣 تابع ()Any در پایتون

تابع ()any در پایتون برای بررسی اینکه آیا هر یک از عناصر داخل یک لیست یا Tuple برابر با True هست یا نه، استفاده می‌شه.

این تابع برای بررسی شرایط متعدد به صورت موازی بسیار مفیده و عملیات‌های محاسباتی پیچیده رو با استفاده از خطوط کد نسبتاً کم انجام میده.

این کد یک لیست از دشمنان رو نشون می‌ده که هر دشمن به صورت یک دیکشنری تعریف شده و دارای دو کلید type و health هست. اینجا تابع ()any برای تعیین اینکه آیا هنوز دشمنی با سلامتی بالاتر از صفر (یعنی هنوز زنده) وجود داره یا نه، استفاده می‌شه.

اگه حداقل یک دشمن با سلامتی بالاتر از صفر باشه، عبارت The battle is not over! چاپ می‌شه، که به این معنیه که مبارزه هنوز تموم نشده. اگر هیچ دشمن زنده‌ای وجود نداشته باشه (یعنی سلامتی همه صفر یا کمتر باشه)، عبارت No more enemies remain! چاپ می‌شه که نشون‌دهنده پایان مبارزه‌ست.

#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1👨‍💻1
👨‍💻 آموزش Lambda Functions در پایتون

توابع Lambda در پایتون، توابعی هستن که به کمک کلیدواژه lambda تعریف می‌شن. این توابع به دلیل انعطاف‌پذیری و امکان نوشتن در یک خط، برای انجام عملیات‌های سریع بسیار کاربرد دارن.

این توابع می‌تونن هر تعداد پارامتر رو دریافت کنن اما تنها یک عبارت رو ارزیابی و مقدارش رو برمی‌گردونن. این عبارت به طور خودکار و بدون نیاز به استفاده از دستور return برگشت داده می‌شه.

🔵توابع Lambda معمولاً همراه با توابع سطح بالاتر مثل ()filter و ()map و ()reduce استفاده می‌شن که به ما اجازه می‌دن تا عملیات‌های پیچیده‌تر رو بر روی داده‌ها اجرا کنیم.

numbers = range(-5, 5)
negative_numbers = list(filter(lambda x: x < 0, numbers))
print(negative_numbers)

🔜 [-5, -4, -3, -2, -1]

squared = list(map(lambda x: x ** 2, numbers))
print(squared)

🔜 [25, 16, 9, 4, 1, 0, 1, 4, 9, 16]

from functools import reduce
# یافتن حاصل ضرب تمام اعداد در یک لیست
product = reduce(lambda x, y: x * y, [1, 2, 3, 4, 5])
print(product)

🔜 120

🔵توابع Lambda می‌تونن برای ایجاد فانکشن‌های فوری، در مواردی که نیاز به تعریف کامل تابع نیست، استفاده شن. این کار برای نوشتن کد تمیز و مختصر مفیده.

def apply_function(func, value):
return func(value)

result = apply_function(lambda x: x * x, 5)
print(result)

🔜 25

🔵توابع Lambda در مواردی مثل تعریف کلید‌های مرتب‌سازی یا به عنوان آرگومان برای توابع دیگه استفاده می‌شن.

names = ['David', 'Brian', 'Alice', 'Catherine']
sorted_names = sorted(names, key=lambda name: len(name))
print(sorted_names)

🔜 ['David', 'Brian', 'Alice', 'Catherine']

🔵این توابع می‌تونن برای مقایسه و مرتب‌سازی داده‌ها در ساختارهای داده‌ای پیچیده استفاده شن.


data = [(1, 'd'), (2, 'b'), (3, 'c'), (4, 'a')]
# برای مرتب‌سازی یک لیست از تاپل‌ها
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)

🔜 [(4, 'a'), (2, 'b'), (3, 'c'), (1, 'd')]

#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1👏1
کوئیز شماره ۱۱: Lambda Functions

کدوم تابع زیر می‌تونه برای مرتب‌سازی یک لیست از Tupleها بر اساس عنصر دوم استفاده شه؟
Anonymous Quiz
71%
sorted(my_list, key=lambda x: x[1])
10%
sorted(my_list, key=lambda x: x[0])
13%
sorted(my_list, key=lambda x: x)
6%
sorted(my_list, key=lambda x: x[2])
👍6😎2👏1🤔1
💡 یه توصیه‌ مهم برای نوشتن توابع لامبدا

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

یه مثال برای یه لامبدا پیچیده که درکش سخته و بیش از حده:

complex_lambda = lambda x, y, z: x**2 + y**2 if x > y else (x + z) * (y - z)


#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4👨‍💻2🔥1
👨‍🏫 آموزش لیست‌های پیچیده (List Comprehension) در پایتون

لیست‌های پیچیده یکی از قابلیت‌های قدرتمند پایتون هستن که به شما اجازه می‌ده با استفاده از حلقه‌ها و شرط‌ها در یک خط کد، لیست‌های پیچیده‌تری نسبت به حلقه‌های معمولی تولید کنید. List Comprehensions همچنین می‌تونه به افزایش خوانایی و کارایی کد کمک کنه، مخصوصاً زمانی که با فیلترها و توابع سفارشی ترکیب می‌شن.

🔵یکی از کاربردهای لیست‌های پیچیده استفاده از شرط‌های متعدد برای فیلتر کردنه

# تولید لیستی از اعداد زوج که مجموعه‌ی ارقامشون به 3 بخش‌پذیره.
even_numbers_div_by_three = [x for x in range(2, 100, 2) if sum(int(digit) for digit in str(x)) % 3 == 0]
print(even_numbers_div_by_three)

🔜[6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96]

🔵میشه از یک تابع داخل لیست‌های پیچیده استفاده کرد. توی این مثال، یک تابع برای شناسایی اعداد مربع کامل تعریف و بعد در List Comprehension استفاده شده.

def is_perfect_square(x):
# تعریف تابعی برای بررسی اینکه آیا یک عدد، مربع کامله یا نه.
return x == int(x**0.5) ** 2

# تولید لیستی از اعدادی که مربع کامل هستن.
perfect_squares = [x for x in range(1, 31) if is_perfect_square(x)]
print(perfect_squares)

🔜[1, 4, 9, 16, 25]

🔵میشه از لیست‌های پیچیده برای پیش‌پردازش داده‌ها استفاده کرد. مثلا برای تبدیل سریع فرمت داده‌ها، تبدیل رشته‌ها به اعداد یا برعکس، استخراج ویژگی‌ها از متن، یا نرمال سازی داده‌ها کاربرد دارن.

dataset['numeric_column'] = [float(value) for value in dataset['text_column']]
# تبدیل ستونی از داده‌های متنی به مقادیر عددی


🔵توی یادگیری ماشین، گاهی اوقات لازمه تا ویژگی‌های جدیدی از داده‌های موجود استخراج شن. با استفاده از List Comprehension میشه به سرعت ویژگی‌های جدیدی مثل طول رشته‌ها، تعداد کلمات، یا حتی پیچیدگی‌های آماری رو محاسبه کرد.

text_lengths = [len(text) for text in dataset['text_column']]
# محاسبه طول رشته‌ها برای یک ستون متنی


🔵در حوزه یادگیری عمیق، بعضی اوقات داده‌ها در دسته‌های مشخصی به نام Batch به مدل‌های آموزشی ارائه میشن. استفاده از List Comprehension به ما این امکان رو می‌ده که به راحتی و با دقت بالا، داده‌های بزرگ را به دسته‌های کوچک‌تر و مدیریت‌پذیر برای پردازش توسط مدل تقسیم کنیم.

batches = [data[i:i + 32] for i in range(0, len(data), 32)]
# تقسیم داده‌ها به بچ‌های 32 تایی


#Programming
#Python

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👏21🔥1