Python for Data Science
315 subscribers
127 photos
16 videos
12 files
61 links
اطلاعات مفید جهت یادگیری پایتون برای علم داده
Download Telegram
Python for Data Science
نتیجه سلول آخر در تصویر فوق چیست؟
نتیجه دو نظر سنجی
https://t.iss.one/py4ds/234
و
https://t.iss.one/py4ds/236
خیلی جالب هست
خصوصا در نظرسنجی دوم که بر اساس نتیجه‌گیری افراد از جواب نظرسنجی اولی بوده و همچنین که افراد بیشتری هم بهش جواب دادن

💡حالا بریم سراغ تحلیل
🗝جواب خلاصه:
در پایتون مبحثی به نام integer interning وجود داره که میتونید اینجا ببینید.

🔑جواب طولانی:
زمانی که در هر نوع REPL در پایتون مثل شل خودش یا شل ipython یا موارد مشابه دارید کدی رو اجرا میکنید که نیاز به اعداد صحیح داره، پایتون نمیدونه که شما قراره چه اعدادی رو استفاده کنید پس به صورت پیشفرض میاد و تمام اعداد صحیح در بازه ۵- تا ۲۵۶ رو می‌سازه تا حافظه جدیدی براشون در نظر گرفته نشه. در کل طول اجرای شل هم به همون آدرسها ارجاع میده.

🔺پس با این حساب در نظر سنجی اول عدد ۵۰۰ که در این بازه نیست نتیجه False داره، اما در نظر سنجی دوم نتیجه True هست.

🔴اما چه اتفاقی می‌افته اگر شما همین دو کد رو در حالتی که در یک فایل(ماژول) نوشته شده اجرا کنید؟
ج:پایتون در اینجا تمام کد رو میبینه پس نتیجه هر دو حالت فوق True هست.

🔎 @py4ds
Forwarded from TechTube 𝕏 تک توب
شرکت گوگل از قدرتمندترین هوش مصنوعی خودش به نام Gemini برای رقابت با مدل GPT-4 رونمایی کرد.

به گفته مدیرعامل گوگل هوش مصنوعی Gemini نقطه عطفی برای این شرکت محسوب میشه و قدرت بالای اون روی تمام محصولات گوگل تاثیر خواهد گذاشت و اونهارو بهتر خواهد کرد.

هوش مصنوعی Gemini در سه مدل عرضه میشه:
مدل Nano کوچکترین و بهینه ترین اونهاست که میتونه به صورت افلاین در گوشیهای اندرویدی استفاده بشه.
مدل Pro مدل بهینه و سریعی هست که قدرتی در حد GPT 3.5 داره و در کارهای مختلف میشه از اون استفاده کرد و در طیف وسیعی از محصولات گوگل از جمله سرچ، کروم و غیره از اون استفاده خواهد شد.
مدل Ultra که رقیب GPT-4 هست، قویترین و پیشرفته ترین مدل ساخته شده توسط گوگله و برای حل دستورات پیچیده از اون استفاده خواهد شد.

برخلاف بقیه مدلها که عمدتا روی متن تمرین داده شدن، Gemini به طور ترکیبی روی متن، عکس، ویدیو و فایلهای صوتی تمرین داده شده بنابراین درک چند حسی بالایی داره و میتونه درخواستهایی همراه با ورودی متنی، تصویری و صوتی رو با دقت بالایی همراه با قدرت استدلال بالا جواب بده.

مدل اولترای Gemini در 30 تست از 32 تست استاندارد از هوش مصنوعی GPT-4، قویترین مدل موجود، قویتر ظاهر شده و بالاخره بعد از ماه ها شاهد مدلی خواهیم بود که از این مدل میتونه پیشرفته تر باشه.

مدل Nano از طریق اپدیتی روی گوشیهای پیکسل برای قابلیتهایی مثل ارائه پیشنهادات بهتر در جواب مسیجها عرضه شده. مدل Pro در حال حاضر روی هوش مصنوعی بارد فعال شده و میتونید از حالا از اون استفاده کنید. مدل Ultra هم از اوایل سال میلادی اینده در اختیار مشتریان این شرکت قرار خواهد گرفت.

🔎 blog.google

📍 @TechTube
Media is too big
VIEW IN TELEGRAM
🔻بخشی از توانایی‌های هوش مصنوعی Gemini گوگل

🔴گوگل از Gemini رونمایی کرد؛ انقلابی در دنیای هوش مصنوعی

گوگل ماه‌ها پس از انتشار اولین اخبار درباره مدل هوش مصنوعی جدید خود به نام Gemini در کنفرانس توسعه‌دهندگان I/O 2023، حالا به‌طور رسمی از آن رونمایی کرده تا رقابت با OpenAI، سازنده ChatGPT، را وارد فاز تازه‌ای کند‌. به گفته گوگل، این مدل یک پیشرفت بزرگ محسوب می‌شود که به‌طور بالقوه روی تمام محصولات آن تأثیر می‌گذارد. همچنین گوگل می‌گوید این مدل جدید در اکثر بنچمارک‌ها از GPT-4 قدرتمندتر است.

مدل هوش مصنوعی جمینای سه نسخه دارد. نسخه پایه با نام Gemini Nano می‌تواند به‌طور بومی و آفلاین روی دستگاه‌های اندرویدی اجرا شود. نسخه قدرتمندتر، Gemini Pro که در اکثر سرویس‌های هوش مصنوعی گوگل ازجمله چت‌بات بارد مورد استفاده قرار می‌گیرد. درنهایت نسخه Gemini Ultra که قدرتمندترین مدل زبانی گوگل محسوب می‌شود و احتمالاً در دیتاسنترها مورد استفاده قرار می‌گیرد‌.
🔎 @py4ds
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (MohammadMahdi)
تازه لایسنسشم MIT عه 😎
#اسنپ_فود

😸 @SEYED_BAX
Please open Telegram to view this post
VIEW IN TELEGRAM
📗 #معرفی_کتاب
Machine Learning A Probabilistic Perspective

🔺کتابی خوب برای یادگیری دقیق Machine learning
اگر میخواید یادگیری ماشین رو درست و حسابی یادبگیرید بهتره هرچه زودتر برای خوندن این کتاب برنامه‌ریزی کنید!

🔎 @py4ds
Murphy_Machine_Learning.pdf
45.8 MB
📗 Machine Learning A Probabilistic Perspective

🔎 @py4ds
🔺 امروز می‌خوام درباره یکی از ویژگی‌های پایتون ۳.۸ به نام Literal Type صحبت کنم.

◀️ این ویژگی بر اساس pep586 پیاده‌سازی شده که به ما امکان می‌ده نوع داده‌های حرفی (literal) رو تعریف کنیم. این نوع داده‌ها نشون می‌دن که یک متغیر یا یک عبارت یک مقدار مشخص و ثابت داره. برای مثال، اگر می‌خواهیم یک تابع بنویسیم که فقط مقادیر "put" یا "patch" رو قبول کنه، می‌تونیم از
Literal["put", "patch"]

به عنوان نوع ورودی استفاده کنیم. این کار به ما کمک می‌کنه که کد رو بهتر مستندسازی کنیم و از خطاهای احتمالی جلوگیری کنیم. برای اطلاعات بیشتر می‌تونید به [مستندات رسمی پایتون](https://peps.python.org/pep-0586/) مراجعه کنید.

برای استفاده از Literal Type باید از ماژول typing وارد کنیم:
from typing import Literal

def send_request(method: Literal["put", "patch"]) -> None:
if method == "put":
# do something with put
elif method == "patch":
# do something with patch
else:
raise ValueError("Invalid method")

send_request("put") # OK
send_request("patch") # OK
send_request("post") # ValueError: Invalid method

همانطور که می‌بینید، اگر مقداری غیر از "put" یا "patch" به تابع بدهیم، خطای نوع داده دریافت می‌کنیم. این روش به ما امکان می‌ده که کد رو برای خواننده و تحلیلگر قابل فهم‌تر کنیم.

میشه Literal Typeها را با سایر نوع‌های داده ترکیب کنیم. برای مثال، اگر می‌خواهیم تابعی بنویسیم که یک رشته را بگیرد و آن را چاپ کند، می‌توانیم از Union استفاده کنیم:
from typing import Literal, Union

def print_string(s: Union[Literal["Hello", "World"], str]) -> None:
print(s)

print_string("Hello") # Hello
print_string("World") # World
print_string("Python") # Python
print_string(42) # TypeError: Argument 's' to 'print_string' has incompatible type 'int'; expected 'Union[Literal['Hello', 'World'], str]'

به این ترتیب، می‌توانیم محدودیت‌هایی روی نوع ورودی‌های تابع بگذاریم و کد رو قوی‌تر کنیم.

🔹امیدوارم این پست براتون مفید بوده باشه. ممنون از توجهتون. منتظر نظرات و پیشنهادات شما هستم.

🔎 @py4ds
Forwarded from Python BackendHub (Mani)
“… Because the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. “ —Joe Armstrong, creator of Erlang progamming language

وقتی به یک موز نیاز دارین تو یک تابعی , یک گوریلا با موز ندین به اون تابع! 😁 مقاله مدیوم:
https://medium.com/codemonday/banana-gorilla-jungle-oop-5052b2e4d588

یک مثال خیلی قشنگ. اشتباهی که خیلیا انجام میدن
مثلا شما به آیدی یوزر نیاز داری تو یک فانکشن. به جای اینکه یوزر رو بذاری تو signature و ایدی رو ازش بگیری سعی کن یوزر آیدی رو فقط بگیری. اینو به دلیل پرفومنس نمیگم چون تاثیری نداره ولی به این دلیل میگم که کدتون رو به شدت reusable تر میکنه. حالا میتونه اون فانکشن رو صدا بزنی بدون اینکه اطلاعات دیگه ای از یوزر داشته باشی یا بدون اینکه هیت بزنی به دیتابیس پس حتی میشه گفت پرفومنس رو بهتر هم میکنه.



# BAD
def activate_user(user: User, session) -> None
session.execute(sa.update(User).where(User.id==user.id).values(is_active=True)

# GOOD
def activate_user(user_id: UserId, session) -> None
session.execute(sa.update(User).where(User.id==user_id).values(is_active=True)


به این قانون law of demeter هم میگن. هدفشم چیزی جز بهتر شدن reusability کدتون و راحت تر تست نوشتن نیست.

@ManiFoldsPython
😁بکند vs. فرانت

🔎 @py4ds
🐍 anaconda در مقابل virtualenv: کدام یک را برای پایتون استفاده کنیم؟ 🐍

اگر شما یک کاربر پایتون هستید، ممکن است از anaconda و virtualenv، دو ابزار محبوب که می‌توانند به شما در ایجاد و مدیریت محیط‌ها و بسته‌های پایتون کمک کنند، شنیده باشید. اما چه تفاوت و مزیت و معایبی بین آن‌ها وجود دارد؟ و کدام یک را باید برای پروژه‌های خود استفاده کنید؟
در این پست، ما anaconda و virtualenv را از نظر ویژگی‌ها، مزایا و معایبشان مقایسه می‌کنیم و به شما چند راهنمای عمومی می‌دهیم که چگونه بهترین ابزار را برای نیازهای خود انتخاب کنید.

📕ابزار anaconda چیست؟
ابزار anaconda یک توزیع از پایتون و R است که با بسیاری از بسته‌های از پیش نصب شده برای علوم داده، یادگیری ماشین و محاسبات علمی همراه است. همچنین شامل کاندا، یک مدیر بسته و محیط است که می‌تواند بسته‌ها را از منابع مختلف نصب کند و محیط‌های جدا شده ایجاد کند. anaconda همچنین دارای یک رابط کاربری گرافیکی به نام ناوگان است که می‌تواند به مبتدیان و غیر برنامه‌نویسان در راه‌اندازی برنامه‌ها، مدیریت بسته‌ها و محیط‌ها و دسترسی به مستندات کمک کند.

📗ابزار virtualenv چیست؟
ابزار virtualenv یک ابزار است که به شما اجازه می‌دهد محیط‌های پایتون جدا شده ایجاد کنید. از pip به عنوان مدیر بسته خود استفاده می‌کند که بسته‌ها را از فهرست بسته پایتون (PyPI) نصب می‌کند. virtualenv یک ابزار خط فرمان است که نیاز به آشنایی با دستورات ترمینال دارد.

📘مزایا و معایب anaconda در مقابل virtualenv
این برخی از مزایا و معایب استفاده از anaconda در مقابل virtualenv هستند:
🔺ابزار anaconda فضای بیشتری از دیسک را در مقایسه با virtualenv اشغال می‌کند، زیرا با بسیاری از بسته‌هایی که ممکن است نیاز یا استفاده نداشته باشید، همراه است. virtualenv به شما اجازه می‌دهد تنها بسته‌هایی را که برای پروژه خود نیاز دارید نصب کنید، که می‌تواند فضا را صرفه‌جویی کند و تضادها را جلوگیری کند.
🔺ابزار anaconda می‌تواند محیط‌ها و بسته‌های R را هم مدیریت کند، که می‌تواند مفید باشد اگر با هر دو زبان کار کنید. virtualenv تنها برای پایتون است و شما برای مدیریت محیط‌ها و بسته‌های R به ابزار دیگری مانند رنو نیاز دارید.
🔺ابزار anaconda دارای یک رابط کاربری گرافیکی به نام ناوگان است که می‌تواند به مبتدیان و غیر برنامه‌نویسان در راه‌اندازی برنامه‌ها، مدیریت بسته‌ها و محیط‌ها و دسترسی به مستندات کمک کند. virtualenv یک ابزار خط فرمان است که نیاز به آشنایی با دستورات ترمینال دارد.
🔺ابزار anaconda مناسب‌تر برای پروژه‌های علوم داده و نیاز به مجموعه گسترده‌ای از بسته‌های از پیش نصب شده است. virtualenv انعطاف‌پذیرتر است و به شما کنترل بیشتری بر روی نسخه‌ها و بسته‌های پایتون می‌دهد.

📙چگونه بهترین ابزار را برای نیازهای خود انتخاب کنیم؟
تجربه کاربران ممکن است بسته به ترجیحات، نیازها و موارد استفاده‌شان متفاوت باشد. برخی از راهنمایی‌های عمومی عبارتند از:
🔺برای محیط‌های حداقلی: اگر شما ترجیح می‌دهید محیط‌های سبک و حداقلی داشته باشید، virtualenv انتخاب بهتری است .
🔺برای پروژه‌های علوم داده: اگر شما روی پروژه‌های علوم داده کار می‌کنید و نیاز به مجموعه گسترده‌ای از بسته‌های از پیش نصب شده دارید، anaconda مناسب‌تر است .
🔺برای مبتدیان: اگر شما تازه به پایتون علاقه‌مند شده‌اید و ترجیح می‌دهید یک رابط کاربری گرافیکی داشته باشید، ناوگان anaconda می‌تواند به شما کمک کند .
🔺برای کاربران پیشرفته: اگر شما با خط فرمان راحت هستید و می‌خواهید کنترل بیشتری بر روی نسخه‌ها و بسته‌های پایتون داشته باشید، virtualenv انعطاف‌پذیرتر است .

📝امیدوارl این پست به شما کمک کند تا مزایا و معایب استفاده از anaconda در مقابل virtualenv را بفهمید. اگر سوال یا نظری داشتید، لطفا بنویسید. 🙌

🔎 @py4ds
😁 چت‌جی‌پی‌تی برای اینکه بهتر جواب بده بهش وعده پول میدن😜

🐳 به نظرم اینم بد نیست که بهش بگی «اگر خوب بهم یاد بدی برات رزومه میشه» 😁😁😁😁

🔎 @py4ds
Media is too big
VIEW IN TELEGRAM
🧠شرکت OpenAI از اولین مدل متن به ویدیو خود به نام Sora رونمایی کرد.

🎬این مدل توانایی تولید ویدیوهایی تا حداکثر 60 ثانیه که صحنه‌های بسیار دقیق، حرکات پیچیده دوربین و شخصیت‌های متعدد با احساسات پر جنب و جوش را نشان می‌دهد را دارد. درحال حاضر افراد بسیار کمی به این مدل دسترسی دارند که به زودی شاهد افزایش آن خواهیم بود.

📃 اطلاعات بیشتر


🔎 @py4ds