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

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

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

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

دوره‌ها:
cafetadris.com/datascience
Download Telegram
معرفی اولیه کانال
45👍12🔥6
👩‍🎓 برنامه آموزشی هفته: مرور نکات پایتون ۱

🟠شنبه: String (رشته حروف و اعداد)

🔵یک‌شنبه: List (لیست)

🟢دوشنبه: Set (مجموعه)

🔴سه‌شنبه: Dictionary (دیکشنری)

🟠چهارشنبه: Tuple (چندتایی)

🔵پنج‌شنبه: Boolean Type (داده باینری)

🟢جمعه: For (حلقه)

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍5👏2👨‍💻2
👨‍🏫 آموزش مبحث رشته (String) در پایتون

در زبان برنامه‌نویسی پایتون، رشته‌ها یک نوع از داده‌ هستن که به ترتیب از کاراکترها تشکیل شدن و می‌تونن داخل ' یا " قرار بگیرن.

🔵طول یک رشته: با تابع len می‌تونیم طول یک رشته رو بدست بیاریم.
my_string = "Hello, World!"
length = len(my_string)
print(f"String Length: {length}")

🔜 String Length: 13

🔵دسترسی به المان‌ها: میشه با استفاده از اندیس‌ها، به هر کاراکتر در یک رشته دسترسی پیدا کرد و یا از slicing برای دریافت یک بازه از کاراکترها استفاده کرد.
my_string = "Hello, World!"
first_char = my_string[0]  # حرف اول
substring = my_string[7:12]  # بازه از اندیس 7 تا 11
print(f"First Character: {first_char}, Substring: {substring}")

🔜 First Character: H, Substring: World

🔵ترکیب و تکرار رشته‌ها: میشه رشته‌ها رو باهم ترکیب یا تکرار کرد.
string1 = "Hello"
string2 = "World"
combined_string = string1 + " " + string2  # ترکیب رشته‌ها
repeated_string = string1 * 3 # تکرار رشته
print(f"Combined: {combined_string}, Repeated: {repeated_string}")

🔜 Combined: Hello World, Repeated: HelloHelloHello

🔵تبدیل حروف: با استفاده از متد ()lower. حروف رو به حروف کوچک و با استفاده از ()upper. حروف رو به حروف بزرگ تبدیل کرد.
my_string = "Hello, World!"
lowercase = my_string.lower()
uppercase = my_string.upper()
print(f"Lower: {lowercase}, UPPER: {uppercase}")

🔜 lower: hello, world!, UPPER: HELLO, WORLD!

🔵جایگزینی: با استفاده از متد ()replace. می‌تونیم یک زیررشته رو با یک زیررشته دیگه جایگزین کنیم.
my_string = "Hello, World!"
new_string = my_string.replace("Hello", "Hi")
print(f"New String: {new_string}")

🔜 New String: Hi, World!

🔵فرمت‌بندی رشته: از روش‌های فرمت‌بندی برای جلوگیری از ادغام دستی متغیرها به رشته استفاده کنیم.
name = "علی"
age = 25
message = f"سلام، من {name} هستم و {age} سال دارم"
print(message)

🔙 سلام، من علی هستم و 25 سال دارم

🔺 شما می‌تونین با کپی قطعه کدها و اجراشون داخل گوگل کولب به سادگی حتی روی گوشی موبایل اجرا بگیرین.

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍284👨‍💻4🤔1
کوئیز شماره ۱: متد ()title

کدوم گزینه خروجی کد print("abc def".title()) هست؟
Anonymous Quiz
19%
abc def
63%
Abc Def
13%
Abc def
5%
abc Def
👍19😎41👏1
This media is not supported in your browser
VIEW IN TELEGRAM
🟣 سه روش اضافه کردن مقدار متغییر به رشته

استفاده از + : با استفاده از + شما می‌تونین مقادیر مختلف رو در کنار هم چاپ کنین (Concatenate).

استفاده از f String : شما میتونین متغییرها رو داخل {} قرار بدین. توی پست قبلی ما از این روش استفاده کردیم.

استفاده از Format : توی این روش رشته رو داخل " " قرار می‌دیم و به جای متغییر {} می‌ذاریم. در آخر با نوشتن format به ترتیب متغییرها رو بهش پاس میدیم.

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

لیست‌ها یکی از ابزارهای قدرتمند در پایتون هستن که امکان ذخیره چندین مقدار در یک متغیر رو ایجاد می‌کنن و انعطاف‌پذیر و قابل تغییر هستن.

🔵یک روش کوتاه و خواناتر برای ایجاد لیست‌ها، دیکشنری‌ها یا مجموعه‌ها در پایتون، Comprehensions هستن. این ابزار به شما امکان می‌ده با استفاده از یک خط کد، لیست‌های پیچیده ایجاد کنین.
squared_numbers = [x**2 for x in range(10)]
even_numbers = [x for x in range(10) if x % 2 == 0]
print("Squared Numbers: {},\nEven Numbers: {}".format(squared_numbers,even_numbers))

🔜 Squared Numbers: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81],
Even Numbers: [0, 2, 4, 6, 8]

🔵پایتون متد‌های مختلفی برای لیست‌ها فراهم کرده که امکاناتی مثل مرتب‌سازی، برعکس کردن و اضافه کردن عناصر رو ممکن می‌کنن.
numbers = [3, 1, 4, 1, 5, 9, 2]
numbers.sort(); print("Sorted:", numbers) #مرتب کردن لیست
numbers.reverse(); print("Reversed:", numbers) #معکوس کردن
numbers.extend([10, 11, 12]); print("Extended:", numbers) #اضافه کردن عناصر جدید

🔜 Sorted: [1, 1, 2, 3, 4, 5, 9]
Reversed: [9, 5, 4, 3, 2, 1, 1]
Extended: [9, 5, 4, 3, 2, 1, 1, 10, 11, 12]

🔵لیست‌های تو در لیست به شما امکان می‌دن که داده‌ها رو در یک ساختار دوبعدی ذخیره کنین و با استفاده از اندیس‌ها به عناصر داخلی دسترسی پیدا کنین.
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
element = matrix[1][2]; print(element)

🔜 6

🔵برای ترکیب دو یا چند لیست با یکدیگر می‌تونیم از zip و برای دسترسی به اندیس و مقدار حلقه به صورت همزمان از  enumerate  استفاده کنیم.
numbers = [1, 2, 3, 4, 5]
names = ['Alice', 'Bob', 'Charlie']
combined = zip(numbers, names)
for index, (num, name) in enumerate(combined):
    print(f"Index: {index}, Number: {num}, Name: {name}")

🔜 Index: 0, Number: 1, Name: Alice
Index: 1, Number: 2, Name: Bob
Index: 2, Number: 3, Name: Charlie

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

چطور میشه با استفاده از List Comprehension لیستی ایجاد کرد که شامل مربعات اعداد فرد از 1 تا 10 باشد؟
Anonymous Quiz
10%
[x**2 for x in range(1, 11)]
81%
[x**2 for x in range(1, 11) if x % 2 == 1]
1%
[x**2 for x in range(1, 6)]
8%
[x for x in range(1, 11) if x % 2 == 1]
👍124😎2
📝 جمع‌بندی متدهای List در پایتون

متد ()append: یک عنصر جدید به انتهای لیست اضافه می‌کنه.

متد ()clear: تمام عناصر موجود در لیست رو پاک می‌کنه.

متد ()copy: یک کپی سطحی از لیست برمی‌گردونه یعنی تغییرات در کپی تاثیری بر لیست اصلی نداره.

متد ()count: تعداد دفعاتی که یک عنصر مشخص در لیست تکرار شده رو برمی‌گردونه.

متد ()extend: عناصر یک لیست رو به انتهای لیست جاری اضافه می‌کنه. این روش برای ادغام دو لیست باهم کاربرد داره.

متد ()index: اولین عنصر با مقدار مشخص رو برمی‌گردونه. اگر عنصر موجود نباشه، خطای ValueError رخ می‌ده.

متد ()insert:  یک عنصر رو در موقعیت مشخصی از لیست قرار می‌ده.

متد ()pop: عنصر موجود در موقعیت مشخصی رو حذف می‌کنه و برمی‌گردونه. اگر index داده نشه، آخرین عنصر حذف می‌شه.

متد ()remove: اولین نمونه از عنصر با مقدار مشخص رو حذف می‌کنه. اگر عنصر موجود نباشه، خطای ValueError رخ می‌ده.

متد ()reverse: ترتیب عناصر موجود در لیست رو معکوس می‌کنه.

متد ()sort: عناصر لیست را به صورت صعودی (پیش‌فرض) یا نزولی مرتب می‌کنه.

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍175🔥3
👨‍🏫 آموزش پیشرفته Set در پایتون

ست‌ها در پایتون، مجموعه‌هایی بدون ترتیب و با عناصر منحصربه‌فرد هستن که به دلیل سرعت بالا در عملیات‌های مجموعه‌ای و حذف داده‌های تکراری، یک ابزار کارآمد برای تحلیل داده‌ها محسوب می‌شن.

🔵 یکی از ویژگی‌های پیچیده‌ در setها، توانایی انجام عملیات‌های ریاضی مجموعه‌ای‌، مثل اجتماع، تقاطع، تفاضل و تفاضل متقارن هست.

a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a | b)  # اجتماع
print(a & b)  # تقاطع
print(a - b)  # تفاضل
print(a ^ b)  # تفاضل متقارن

🔜 {1, 2, 3, 4, 5, 6}
{3, 4}
{1, 2}
{1, 2, 5, 6}

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

squared_primes = {x**2 for x in range(10) if is_prime(x)}
print(squared_primes)

🔜 {4, 9, 25, 49}

🔵 متد‌های پیشرفته setها مثل isdisjoint, issubset, و issuperset اجازه می‌دن روابط بین دو set رو بررسی کنیم.

c = {1, 2}
d = {1, 2, 3, 4}
print(c.isdisjoint(b))  # بررسی عدم اشتراک
print(c.issubset(d))    # بررسی زیرمجموعه بودن
print(d.issuperset(c))  # بررسی سوپرمجموعه بودن

🔜 False
True
True

🔵 برای افزودن یا حذف عناصر از ست‌ها، متدهای add, update, و discard کاربرد دارن که امکان مدیریت انعطاف‌پذیر عناصر رو می‌دن.

e = {1, 2, 3}
e.add(4)            # افزودن عنصر
e.update([5, 6, 7]) # افزودن چندین عنصر
e.discard(3)        # حذف عنصر
print(e)

🔜 {1, 2, 4, 5, 6, 7}

🔵 پایتون همچنین اجازه می‌ده ست‌های frozen ایجاد کنیم، که setهایی غیرقابل تغییر هستن و می‌توانن به عنوان کلید در دیکشنری‌ها استفاده شن.

f = frozenset([1, 2, 3])
print(f)

🔜 frozenset({1, 2, 3})

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