Chapter1 - preliminaries
پروژه IPython در سال 2001 به عنوان یک پروژه جانبی توسط فرناندو پرز(Fernando Pérez’s) برای ایجاد یک مفسر تعاملی بهتر برای پایتون آغاز شد.
در حالی که IPython به خودی خود هیچ ابزار محاسباتی یا تحلیلی ارائه نمیده، اما برای محاسبات تعاملی و کارهای توسعه نرمافزار طراحی شده.
این ابزار یک فرآیند کاری execute-explore را ترویج میکنه، بهجای روال سنتی edit-compile-run که در بسیاری از زبانهای برنامهنویسی دیگر نظیر
C ,C++, Java, Go, Swift, Rust معمول است.
پروژه IPython در سال 2001 به عنوان یک پروژه جانبی توسط فرناندو پرز(Fernando Pérez’s) برای ایجاد یک مفسر تعاملی بهتر برای پایتون آغاز شد.
در حالی که IPython به خودی خود هیچ ابزار محاسباتی یا تحلیلی ارائه نمیده، اما برای محاسبات تعاملی و کارهای توسعه نرمافزار طراحی شده.
این ابزار یک فرآیند کاری execute-explore را ترویج میکنه، بهجای روال سنتی edit-compile-run که در بسیاری از زبانهای برنامهنویسی دیگر نظیر
C ,C++, Java, Go, Swift, Rust معمول است.
❤2
Psn🎮 to py💻
IPython
همچنین IPython دسترسی یکپارچهای به سیستمعامل و فایلهای شما رو فراهم میکنه و در بسیاری از موارد نیاز به جابجایی بین پنجره ترمینال و نشست پایتون را کاهش رو میده.
این جمله به این معناست که IPython به شما اجازه میده بهطور مستقیم به (shell) و فایلهای موجود در سیستم دسترسی داشته باشید. در واقع، به جای اینکه مرتباً بین ترمینال و محیط اجرای پایتون جابجا بشید، میتونید از داخل محیط IPython به دستورهای سیستمعامل (مثل مشاهده فایلها یا اجرای دستورهای شل) دسترسی داشته باشید.
از اونجایی که کدنویسی در تجزیه و تحلیل داده شامل اکتشاف، آزمایش و خطا، و تکرار است اینجا، IPython میتونه به شما کمک کنه تا کارتون رو سریعتر انجام بدید، میتونید به سرعت کد بنویسید، اون رو اجرا کنید، تغییرات اعمال کنید و بلافاصله نتایج رو ببینید. بدون نیاز به جابجایی بین محیطهای مختلف.
این جمله به این معناست که IPython به شما اجازه میده بهطور مستقیم به (shell) و فایلهای موجود در سیستم دسترسی داشته باشید. در واقع، به جای اینکه مرتباً بین ترمینال و محیط اجرای پایتون جابجا بشید، میتونید از داخل محیط IPython به دستورهای سیستمعامل (مثل مشاهده فایلها یا اجرای دستورهای شل) دسترسی داشته باشید.
از اونجایی که کدنویسی در تجزیه و تحلیل داده شامل اکتشاف، آزمایش و خطا، و تکرار است اینجا، IPython میتونه به شما کمک کنه تا کارتون رو سریعتر انجام بدید، میتونید به سرعت کد بنویسید، اون رو اجرا کنید، تغییرات اعمال کنید و بلافاصله نتایج رو ببینید. بدون نیاز به جابجایی بین محیطهای مختلف.
❤3
Chapter1 - preliminaries
یکم جلوتر قبل اینکه چپتر 2 کتاب تموم شه، مک کینی راجب چپتر 2 و 3 کتاب میگه:
"اگه تا به حال با پایتون کد نزدین بهتره از چپتر 2 و 3 رد نشین و کمی وقت صرفش کنین، چون پیش نیاز بقیه چپتر هاست."
(البته خودمونیم، برای کسی که تا به حال پایتون کد نزده و اینکه بخواد از این دوتا چپتر یادگیری رو شروع کنه یکم دشواره، چون مطالب بصورت کاملا فشرده و صرفا برای یاد آوری ترتیب داده شده)
اما ما برای اینکه به کتاب وفادار باشیم، نکات این چپتر رو مرور میکنیم!
یکم جلوتر قبل اینکه چپتر 2 کتاب تموم شه، مک کینی راجب چپتر 2 و 3 کتاب میگه:
"اگه تا به حال با پایتون کد نزدین بهتره از چپتر 2 و 3 رد نشین و کمی وقت صرفش کنین، چون پیش نیاز بقیه چپتر هاست."
(البته خودمونیم، برای کسی که تا به حال پایتون کد نزده و اینکه بخواد از این دوتا چپتر یادگیری رو شروع کنه یکم دشواره، چون مطالب بصورت کاملا فشرده و صرفا برای یاد آوری ترتیب داده شده)
اما ما برای اینکه به کتاب وفادار باشیم، نکات این چپتر رو مرور میکنیم!
Chapter 2: Python Language Basics
به طور کلی Duck typing در پایتون و سایر زبانهای پویا به این معناست که به جای تمرکز بر نوع دقیق یک شیء (مثلاً اینکه اون شیء از کدوم کلاسه)، به رفتار و متدهای اون شیء توجه میشه.
به عبارت دیگه، اگه یک شیء بتونه به روشی خاص رفتار کنه، شما نیازی به بررسی نوع دقیق اون ندارید.
مثلاً در پایتون، اگه شیءای دارای متد iter باشه، میدونیم که اون شیء قابل پیمایش (iterable) است.
یک روش بهتر برای بررسی این موضوع استفاده از تابع iter است:
به طور کلی Duck typing در پایتون و سایر زبانهای پویا به این معناست که به جای تمرکز بر نوع دقیق یک شیء (مثلاً اینکه اون شیء از کدوم کلاسه)، به رفتار و متدهای اون شیء توجه میشه.
به عبارت دیگه، اگه یک شیء بتونه به روشی خاص رفتار کنه، شما نیازی به بررسی نوع دقیق اون ندارید.
مثلاً در پایتون، اگه شیءای دارای متد iter باشه، میدونیم که اون شیء قابل پیمایش (iterable) است.
یک روش بهتر برای بررسی این موضوع استفاده از تابع iter است:
def isiterable(obj):
try:
iter(obj)
return True
except TypeError: # not iterable
return False
Chapter 3: Built-In Data Structures, Functions, and Files
چپتر 3 کتاب با ساختارهای داده و دنبالهها شروع میشه، برعکس چپتر 2 که از هر مبحث خیلی سریع و گذرا رد میشه اینجا با جزییات به هر موضوع میپردازه.
مک کینی میگه چیزی که شمارو به یک برنامه نویس ماهر تبدیل میکنه تسلط کافی به این بخش از کتاب. (سعی میشه مطالبی از کتاب رو براتون به اشتراک گذاشته بشه که کمتر جایی به چشمتون خورده ولی در عوض کاربردیه )
با تاپل(tuple) شروع میکنیم، یک دنباله با طول ثابت و تغییرناپذیر از اشیای پایتون که پس از ایجاد، نمیشه اون رو تغییر داد.
چپتر 3 کتاب با ساختارهای داده و دنبالهها شروع میشه، برعکس چپتر 2 که از هر مبحث خیلی سریع و گذرا رد میشه اینجا با جزییات به هر موضوع میپردازه.
مک کینی میگه چیزی که شمارو به یک برنامه نویس ماهر تبدیل میکنه تسلط کافی به این بخش از کتاب. (سعی میشه مطالبی از کتاب رو براتون به اشتراک گذاشته بشه که کمتر جایی به چشمتون خورده ولی در عوض کاربردیه )
با تاپل(tuple) شروع میکنیم، یک دنباله با طول ثابت و تغییرناپذیر از اشیای پایتون که پس از ایجاد، نمیشه اون رو تغییر داد.
Chapter 3: Built-In Data Structures, Functions, and Files
یک استفاده رایج از تاپل(tuple)، لیست(list)، پیمایش متغییرها(variable) در اونهاست:
برخی مواقع ممکن بخوایم چند عنصر را از ابتدای یک تاپل برداریم، یک روش خاص برای این کار به صورت زیر:
خود اسم rest هیچ ویژگی خاصی نداره، به عنوان یک قرارداد بسیاری از برنامه نویسان پایتون از"_" برای متغیرهای غیرضروری استفاده میکنند:
یک استفاده رایج از تاپل(tuple)، لیست(list)، پیمایش متغییرها(variable) در اونهاست:
seq = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]
for a, b, c in seq:
print(f'a={a}, b={b}, c={c}')
a=1, b=2, c=3
a=4, b=5, c=6
a=7, b=8, c=9
برخی مواقع ممکن بخوایم چند عنصر را از ابتدای یک تاپل برداریم، یک روش خاص برای این کار به صورت زیر:
In [34]: values = 1, 2, 3, 4, 5
In [35]: a, b, *rest = values
In [36]: a
Out[36]: 1
In [37]: b
Out[37]: 2
In [38]: rest
Out[38]: [3, 4, 5]
خود اسم rest هیچ ویژگی خاصی نداره، به عنوان یک قرارداد بسیاری از برنامه نویسان پایتون از"_" برای متغیرهای غیرضروری استفاده میکنند:
a, b, *_ = values
Chapter 3: Built-In Data Structures, Functions, and Files
در کل عادت کردن به string slicing کمی زمان بر، به ویژه اگر قبلاً با زبانهایی مانند R یا MATLAB کار کردید. شکل بالا تصویری مفید از slicing با اعداد مثبت و منفی رو نشون میده.
یک استفاده هوشمندانه اینه که بیایم '1-' رو بعد از دومین colon (:) بهش پاس بدیم، که باعث میشه لیست(list) یا تاپل(tuple) معکوس بشه.
در کل عادت کردن به string slicing کمی زمان بر، به ویژه اگر قبلاً با زبانهایی مانند R یا MATLAB کار کردید. شکل بالا تصویری مفید از slicing با اعداد مثبت و منفی رو نشون میده.
یک استفاده هوشمندانه اینه که بیایم '1-' رو بعد از دومین colon (:) بهش پاس بدیم، که باعث میشه لیست(list) یا تاپل(tuple) معکوس بشه.
In [82]: seq = [7, 2, 3, 6, 3, 6, 0, 1]
In [82]: seq[::-1]
Out[82]: [1, 0, 6, 3, 6, 3, 2, 7]
یه مدل یادگیری ماشین ساختم که قیمت خونهها توی کالیفرنیا رو پیشبینی میکنه! 🏡
این پروژه شامل Feature Engineering، Data Preprocessing و ارزیابی مدلها با استفاده از تکنیکهایی مثل Linear Regression و Random Forest است.
کد پروژه و تمام جزئیات رو میتونید از اینجا ببینید:
🔗 [Github Repository Link]
این پروژه شامل Feature Engineering، Data Preprocessing و ارزیابی مدلها با استفاده از تکنیکهایی مثل Linear Regression و Random Forest است.
کد پروژه و تمام جزئیات رو میتونید از اینجا ببینید:
🔗 [Github Repository Link]
Time to find out who knows their for loops from their while loops, their if's from their else's
📊 پروژه پیشبینی بیماری قلبی با استفاده از مدلهای یادگیری ماشین
مدلهایی که ازشون استفاده شد:
Random Forest Classifier
Gradient Boosting Classifier
K-Nearest Neighbors (KNN)
Gaussian Naive Bayes
Logistic Regression
Support Vector Classifier (SVC)
دیتا ستی که روش کار کردم شامل اطلاعاتی نظیر سن، جنسیت، نوع درد قفسه سینه، فشار خون، سطح کلسترول و دیگر ویژگیهای مرتبط با بیماری قلبی.
برای مشاهده کدها و جزئیات بیشتر پروژه:
🔗[Github Repository Link]
اگر هم خودتون خواستین رو این دیتا ست کار کنین، از این لینک میتونین بهش دسترسی داشته باشین:
🔗[Heart Disease Dataset]
مدلهایی که ازشون استفاده شد:
Random Forest Classifier
Gradient Boosting Classifier
K-Nearest Neighbors (KNN)
Gaussian Naive Bayes
Logistic Regression
Support Vector Classifier (SVC)
دیتا ستی که روش کار کردم شامل اطلاعاتی نظیر سن، جنسیت، نوع درد قفسه سینه، فشار خون، سطح کلسترول و دیگر ویژگیهای مرتبط با بیماری قلبی.
برای مشاهده کدها و جزئیات بیشتر پروژه:
🔗[Github Repository Link]
اگر هم خودتون خواستین رو این دیتا ست کار کنین، از این لینک میتونین بهش دسترسی داشته باشین:
🔗[Heart Disease Dataset]
🖼 پروژه بهبود کیفیت تصاویر با استفاده از مدل Real-ESRGAN
در این پروژه، تصاویر کمکیفیت به تصاویر باکیفیت و واضح تبدیل شده! این کار با استفاده از مدل Real-ESRGAN انجام شده.
برای مشاهده کدها و مراحل پروژه:
🔗[Github Repository Link]
اگر شما هم علاقه مندید با این مدل کار کنید، از این لینک میتونید مدلهای از پیش آموزش داده شده رو دانلود کنید:
🔗[Real-ESRGAN Models]
در این پروژه، تصاویر کمکیفیت به تصاویر باکیفیت و واضح تبدیل شده! این کار با استفاده از مدل Real-ESRGAN انجام شده.
برای مشاهده کدها و مراحل پروژه:
🔗[Github Repository Link]
اگر شما هم علاقه مندید با این مدل کار کنید، از این لینک میتونید مدلهای از پیش آموزش داده شده رو دانلود کنید:
🔗[Real-ESRGAN Models]
❤2
The first computer programmer was a female, named Ada Lovelace
❤3
پروژه طبقهبندی گلهای زنبق با استفاده از PyTorch 🌿💐
در این پروژه، یک مدل یادگیری عمیق برای طبقهبندی گلهای زنبق (Iris) پیادهسازی شده. مدل از یک شبکه عصبی برای پردازش ویژگیهای مختلف گلهای زنبق استفاده میکنه و با کمک K-Fold Cross Validation ارزیابی شده.
🔹 ویژگیهای مورد استفاده:
✔️ طول و عرض کاسبرگ (Sepal)
✔️ طول و عرض گلبرگ (Petal)
برای مشاهده کدها و جزئیات پروژه:
🔗 [Github Repository Link]
در این پروژه، یک مدل یادگیری عمیق برای طبقهبندی گلهای زنبق (Iris) پیادهسازی شده. مدل از یک شبکه عصبی برای پردازش ویژگیهای مختلف گلهای زنبق استفاده میکنه و با کمک K-Fold Cross Validation ارزیابی شده.
🔹 ویژگیهای مورد استفاده:
✔️ طول و عرض کاسبرگ (Sepal)
✔️ طول و عرض گلبرگ (Petal)
برای مشاهده کدها و جزئیات پروژه:
🔗 [Github Repository Link]
🖼تولید تصاویر چهره با مدلهای Diffusion
مدلهای Diffusion ابتدا تصویر را با نویز (تصادفی) پر میکنند و سپس به صورت مرحله به مرحله تلاش میکنند نویز را کم کنند تا یک تصویر واقعی و با جزئیات بالا بازسازی شود. این مدلها نه فقط برای تولید چهره، بلکه در زمینههای مختلف Generative AI استفاده میشوند. برخی از مدلهای مشهور دیفیوژن شامل:
1.Imagen:
مدل گوگل با وضوح و جزئیات بالا
2.DALL·E 2:
مدل شرکت OpenAi برای تولید تصویر از متن
در این پروژه از دیتاست UTKFace برای آموزش مدل استفاده شده. برای مشاهده کد و اجرای مدل:
🔗 [Github Repository Link]
مدلهای Diffusion ابتدا تصویر را با نویز (تصادفی) پر میکنند و سپس به صورت مرحله به مرحله تلاش میکنند نویز را کم کنند تا یک تصویر واقعی و با جزئیات بالا بازسازی شود. این مدلها نه فقط برای تولید چهره، بلکه در زمینههای مختلف Generative AI استفاده میشوند. برخی از مدلهای مشهور دیفیوژن شامل:
1.Imagen:
مدل گوگل با وضوح و جزئیات بالا
2.DALL·E 2:
مدل شرکت OpenAi برای تولید تصویر از متن
در این پروژه از دیتاست UTKFace برای آموزش مدل استفاده شده. برای مشاهده کد و اجرای مدل:
🔗 [Github Repository Link]