<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های محمدرضا کریمی‌نژاد</title><link>https://virgool.ir/feed/@perfectcodder</link><description>علاقه‌مند به ریاضی و هوش‌مصنوعی</description><language>fa</language><pubDate>2026-11-11 15:02:12</pubDate><image><url>https://files.virgool.ir/upload/users/36482/avatar/daEiDv.jpeg</url><title>محمدرضا کریمی‌نژاد</title><link>https://virgool.ir/@perfectcodder</link></image><item><title>دیتاست آپارتمان‌های تهران (House Price Tehran)</title><link>https://virgool.ir/@perfectcodder/دیتاست-آپارتمان-های-تهران-house-price-tehran-itm77rdzlxfl</link><description>اگه تو زمینه یادگیری ماشین یا علوم داده فعالیت میکنید. حتما مسیله house price prediction به گوشتون خورده. از این نوع دیتاست‌ها زیاد هست. دیتاست مربوط به خونه‌های بوستون آمریکا و ...اما این بار من اومدم یه دیتاست کامل برای آپارتمان‌های تهران ایجاد کردم. فرایند جمع‌آوری داده و تمیز کردن اون اگه به لطف پایتون نبود ممکن بود هفته‌ها طول بکشه. این دیتاست شامل ویژگی‌های زیر هست:متراژ به متر مربعتعداد اتاق‌هاپارکینگ دارد یا نهانباری دارد یا نهآسانسور دارد یا نهمنطقه و آدرس حدودی آپارتمانقیمت به تومانقیمت به دلار (دلار ۳۰ هزار تومان در نظر گرفته شده است)میتونید از دیتاست کامل رو از اینجا توی کگل ببینید. حتما با قند شکن وارد بشین. البته توی گیت‌هاب هم گذاشتم که اینجا در دسترسه. </description><category>محمدرضا کریمی‌نژاد</category><author>محمدرضا کریمی‌نژاد</author><pubDate>Mon, 06 Sep 2021 18:30:11 +0430</pubDate></item><item><title>نقشه راه یادگیری پایتون</title><link>https://virgool.ir/coderlife/نقشه-راه-یادگیری-پایتون-z6dktpahvbh2</link><description>قبل از اینکه بدونید نقشه راه پایتـــــون چیه، پیشــــــنهاد می‌کنم این پست رو تو ویرگــــــول ببینید. خــــب حــــالا که می‌دونید پایتون چیه و چرا باید اونو یاد بگیرین شما رو به خوندن این پست دعوت می‌کنم.پایتونو عشقهیادگـــــیری هر زبان برنامه‌نویــــسی از دو بخــــش تشـکیل میشه. یکی مفاهیم پایه و اســـاســــی (Fundamental) و یکی هم مباحث پیشرفته (Advanced Topic) اون زبان برنامه‌نویسی. مفاهیم پایه تو پایتـــون خیلی راحتن و  اونا رو خیلی راحت میشه توی چند هفته (حداکثر ۲ ماه اگه اولین بارتون باشه میخواین برنامه‌نویسی کنید) یــاد گرفت. من تو این پست اول به تشریح نقشه مفاهیم ساده‌تر می‌پـردازم و بعد ســـــراغ مباحث پیـــشرفته می‌رم.توجه : دسته‌بندی مفاهیم پایتون تو این پست بر اساس تجربیات خود من هست نه منبع خاصی.۱. مفاهیم پایه و اساسی (Fundamental Of Python)فرض کنید می‌خواین یه برنامه بنویسین که براتون کارای محاسباتی انجام بده و یا اینکه بخواین تو یه مـــــسابقه حل مسئـــــــــله شرکت کنید. تا حالا فکر کردین بعضی وقتا که می‌خواین فایل‌های خودتون رو مرتب کنید خیــلی ازتون وقت می‌گیره! همه اینا رو با مفاهــــیم مقدماتی و پایه پایــــتون می‌تونید به راحتی انجام بدین. می‌تونید با داشتن تفکر الگوریتمی و ریاضیـــاتی و دونستن حداقلی از پایــــــتون توی مسابقات شرکت کنید و به سرعت برای سوالا کد بزنید، چون پایتون کد زدن رو آسون میکنه!۱.۱. ورودی و خروجیاولین مفـــهــــومی که توی هر زبان برنامــــه‌نویـــــسی یاد میــگـــیرین نحوه دریـــــافـــــت ورودی استـــاندارد (STDIN) و نحوه ارسال خروجی استاندارد (STDOUT) هست. شاید بخواین از کاربر یه مقداری رو دریافت کنید یا شایدم بخواین یه چیزایی رو به کاربر نشون بدین.۱.۲. متغیرها و انواعشونفرض کنید از کاربر یه عدد میگیرین و می‌خواین بعدا از اون استفاده کنید ولی نمی‌دونـید اونو کجا ذخیره کنید؟! متغیر چیزیه که شما باید تو این شرایــــط ازش استفاده کنید. متغیرا تو زبــانای برنامه‌نویسی دقیقا مثل متغیرها تو جبر ریاضی میمونن. مثلا عدد ۱۵ رو توی متغیری به اسم X قرار می‌دیم و بعدا اگه بگیم X منظـورمون همون عدد ۱۵ هست. توی زبان برنامه‌نویسی علاوه بر اعداد حقیق میتونــــــــیم از متغــــــیرا برای ذخیره کردن کاراکترها، رشته‌ها و مقادیر منطقی (صفر و یک) استفاده کنیم. به طور کلی تو پایتون چند نوع متغــــیر وجــــود دارن که به صورت زیر هستن.رشته‌ها (String)منطقی (Boolean)اعداد اعشاری (Float)اعداد صحیح (Integer)۱.۳. دستورات کنترلیبرای انجام کارای تکراری از دستورات کنترلی مثل حلقه for و while استفاده میشه. همینطور بــرای شرط‌گذاری تو پایتون از دستورات if و else و ترکیب این‌ دوتا یعنی elif استفاده میکنیم. دانشمندای کامپـیوتر میگن که هر برنامه‌ای تو دنیا به یه سری متغیر و دستورات کنــــــــترلی ساده ختــــم میشه. یعنی اینکه این دستورات مهمترین ساختار هر زبان برنامه‌نویسی هستن.۱.۴. توابع و کاربردشونبعضی موقع‌ها می‌خواین یه کار رو چندین بار انجام بدین. برا اینکه یه ساختار داشته باشین که با اســتفــــــاده از اون یه سری از کارا به صورت خودکـــــــار انجام بشه از تابع استفاده می‌کنیم. تابع دقــــــــیقا مثل مفهوم تابــــــع تو ریاضیه. بعضی از توابع ورودی میگیرن و بعـــضـــیـــــاشون نمی‌گیرن. به هر حال بســــتــــگی به هدفــــــمـــــون داره. تو پایتون دو نوع تابع وجود داره که الان براتون میگم.توابع ساده (Simple Function)توابع ناشناس (Lambda Function)از نظر من شما باید حداقل با توابع زیر آشنا باشید و بتونید کارای مختلفی با اونا انجام بدین. یاد گرفـــــــتن توابع متفاوت تو یه زبان برنامه‌نویسی این قدرت رو به شما میده که کدتون رو به صورت تمیز‌تر بنویــــــسید و این نکته رو فراموش نکنید که این توابع توسط افراد خبره‌ای پیاده‌سازی شـــده‌اند که با این وجود بســـــیار بهینه‌ می‌باشند.تابع map که روی یه شئ قابل پیمایش اجرا می‌شه و همه مقادیرو طبق خواسته شما تغییر می‌ده.تابع sum که مجموع مقادیر یه شئ قابل پیمایشو محاسبه می‌کنه.توابع min و max که به ترتیب کمترین و بیشترین مقدار یه شئ قابل پیمایشو پیدا می‌کنه.تابع filter که مقادیر خاصی از یه شئ قابل پیمایشو برا شما پیدا می‌کنه.تابع any که چک میکنه آیا حداقل یکی از مقادیر یه شئ قابل پیمایش شرایط اعلام‌شده رو داره یا نه.تابع all که چک میکنه آیا همه مقادیر یه شئ قابل پیمایش شرایط اعلام‌شده رو دارن یا نه.۲. ساختمان‌داده‌ها (Data Structures)وقتی این همه داده و اطلاعات اطراف خودمــــون می‌بینیم باید انتظار داشـــــته باشیـــم این هــــمه داده به صورت خیلی ساده و بدیهی مدیریت و سازماندهی نمی‌شن. نحوه ذخیره‌سازی داده‌ها روی سرعت و نحـوه دسترسی به اونا و پیدا کردن یه مقدار مشخص بین انبوهی از اون داده‌ها تاثیر‌گذاره. هر ساختمان داده یه ساختار مشـخص داره که داده رو به یه روش مشخص توی خودش ذخیـــــره می‌کنه و البته برای دستــــرســـــی به داده‌ها هم روش خاص خودش رو داره. ساختمان‌داده‌ها و طراحی الگوریتم یکی از مهم‌ترین درسای دانشگاهه که یه مهـــنـــــدس کامپیوتر باید روی مفاهیم اونا تسلط داشته باشه. اما مهمترین و ساده‌ترین ساخـــــــتمان‌داده‌هایی که تو پایتون هستن رو تو ادامه می‌تونید ببینید.۲.۱. لیست‌ (List)بوقتی که می‌خوایم یه سری از اطلاعـات رو پیش هم نگه داریم از لیست استفاده می‌کنیم. به طـــور کلـــی شاید اسم آرایه (Array) رو شنیده باشید. آرایه‌ها به دو نوع پویـــــا (Dynamic) و ایســــــتا (Statistic) نقسیم می‌شن. آرایه ایستا محدودیت‌های زیادی داره ولی ســـــرعت اون نسبت به آرایه پویا خیــــــلی بیشتره. محدودیت‌هایی که آرایه ایستا داره به این صورته.همه مقادیری که توی این نوع آرایه ذخیره می‌شن هم نوع هستن مثلا همشون عدد صحیح باشن.تعداد مقادیری که می‌خوایم توی این نوع آرایه ذخیره کنیم باید از قبل مشخص بشه.اضافه کردن یه مقدار جدید به آرایه بعد از تعریفش امکان‌پذیر نیست.و ...اما آرایه‌های پویا با وجود سرعت کم همه‌ی معایــــــــــــب آرایه ایستا رو برطرف می‌کنن و به هــــــمین خاطر بوجود اومدن. پایتون از آرایه پویا استفاده می‌کنه. به طور کلی به آرایه‌های پویا لیـــــست هم ‌میگن. عملــــیات‌هایی که روی یه لیست می‌تونید انجام بدین به این صورتن.اضافه کردن یک یا چند مقدار مشخصحذف یه مقدار مشخصپیدا کردن یه مقدار مشخصدسترسی به یک یا چند مقدار توی مکان‌‌های (Indices) مشخص۲.۲. مجموعه (Set)این ساختارها دقیقا مثل مجوعه‌ها تو ریــــــاضی می‌مــونن با این تفاوت که میشه تو اونا متـــــــغیرهــــــــایی از نوع مختلفی ذخیره کرد. تفاوت‌های مجموعه نسبت به لیست به این صورته.سرعت دسترسی و پیدا کردن یه مقدار مشخص تو مجموعه خیلی بیشتره.ترتیب مقادیر از الگوی مرتبی مثل ترتیب مقادیر لیست پیروی نمی‌کنه.بعد از ایجاد یه مجموعه شما احتمالا نیاز دارین یه سری عملیات روی اون انجام بدین. عملیات‌هایی که روی یه مجموعه می‌تونید انجام بدین به شکل زیر هستن.اضافه کردن یه مقدار مشخصحذف یه مقدار مشخصپیدا کردن یه مقدار مشخصادغام کردن دو مجموعهاجتماع (Union) و اشتراک (Intersection) بین دو مجموعهتفاضل (Subtraction) و تفاضل تقارنی (Symmetric Subtraction) بین دو مجموعه۲.۳. لغت‌نامه (Dictionary)فرض کنید می‌خــــــــــواین به جای اســــــتفاده از اندیس عددی به عنوان دسترسی به مقادیــــر یه لیست از اندیس رشته‌ای هم بتونید اســــتفاده کنید. یعنی مثلا به جای اینکه‌ بگــــین خونه اول مـــــقدارش چـــــنده بگــــین خونـــه‌ی ساریـــنا مقــــدارش چنده. مثلا مــــــی‌تونید سن هر نفر رو با توجه به اســــمش ذخیره کنید. هر مقـــــداری که توی لغـــــــــت‌نامه قرار می‌گیره یه کلید (Key) متمیاز و یه مقــــــدار (Value) مشخص داره. کلـــــید مثل همون اندیس می‌مونه تو آرایه و لیست. عملیات‌هایی که می‌تونید روی یه لغت‌نامه انجام بدین به این صورتن.اضافه کردن یه مقدار با کلید مشخصحذف یه مقدار مشخص با کمک کلید اونپیدا کردن یه مقدار مشخص با کمک کلید اونادغام کردن دو لغت‌نامهدسترسی به مقادیر و کلید‌ها به صورت مستقل۳. کتابخونه‌های مفید و کاربردی (Useful Libraries)خیلی از کاراتون رو می‌تونید با کتابخونه‌های آماده که توی پایتون به صورت پیش‌فرض وجود داره انجام بدین. به طور کلی تعداد خیلی زیادی کتابخونه تو پایتون هست که من چندتا از اون را براتون میگم.۳.۱. کتابخونه ریاضیبا استفاده از این کتابخونه که تو پایتون به نام math قابل استفاده است می‌تونید کارای محاســباتی و ریاضیاتی مختلفی انجام بدین. توابع و مقادیری که توی این کتابخونه هست به صورت زیر دسته‌بندی میشن.توابع جبری مثل بزرگترین مقسوم‌علیه مشترک، قدر مطلق، جزء صحیح و ...توابع مثلثاتی مثل سینوس، کسینوس، ثانژانت و ...توابع توانی و لگاریتیمی مثل لگاریتم، توان، جذر و ...مقادیر کاربردی مثل عدد پی، عدد نپر، مقدار فرضی بی‌نهایت و ...۳.۲. کتابخونه زمان و تاریخبا استفاده از این کتابــــخونه که تو پایــــتون به نام datetime قابل استفاده است می‌تونید با تاریــــخ و زمان بازی کنید. بعضی‌ کارای شـــــما نیاز داره که به تاریــــــخ یه زمان مشخص دسترسی داشته باشین. کارای جالــــــبی که با استفاده از این کتابخونه می‌تونید بکنید به شکل زیر هستن.دسترسی به زمان و تاریخایجاد مقایسه بین دو یا چند تاریخ و زمان مشخصاستفاده از قالب‌بندی زمان و تاریخ مشخص و متنوع۳.۳. کتابخونه کار با سیستم‌عاملاین کتابخونه مثل یه خط فرمان کنترل کل سیســــــــتم‌عامل رو به شـــــــما میده. فرض کنید می‌خــــــواین یه سری از فایل‌هاتون رو مرتب کنید. با کمک این کـــتــابـــخــونــه این کار رو با کمترین زمان ممــــکن می‌تونید انجام بدین. مهم‌ترین کارای مختلفی که با این کتابخونه میشه انجام داد به شکل زیر هستن.تغییر نام فایل‌هاانتقال فایل‌هاایجاد و حذف پوشه‌هاپیمایش ساختار درختی پوشه‌ها و فایل‌هااستفاده از خط فرمان سیستم‌عاملاما برای اینکه بتونید به صورت کاربردی‌تر از این کتابخونه استفــــاده کنید بهتره که کار با فایل‌ها و به عبارتی I/O رو تو پایتون بلد باشــــــین. دستـــــورات کار با فایل به صورت پـــــیش‌فرض تو پایتون هستن و لازم به اســــتفاده از کتابخونه خاصی نیست. کارایی که می‌تونید با استفاده از این دستورات انجام بدین به این شکل هستن.ایجاد فایل‌های متنی و باینریویرایش فایل‌های متنی و باینریکپی کردن فایل‌های متنی و باینریدر دنیا قالب‌های خاصی برا ذخیره‌سازی داده‌ها در قالب فایل‌های متنی ارائه شده. به عنـوان مثــال می‌تونیم به قالب اکس‌ام‌ال (XML)، جی‌سون (JSON) و سی‌اس‌وی (CSV) اشاره کرد. پایتون دارای یـــک کــتــابــخانه به نام json می‌باشد که می‌توانید از آن برای کار با قالب جی‌سون استفاده کنید.۴. مباحث پیشرفته‌ (Advanced Topic)خب دیگه بعد از معرفی کلی ساختارهای اصلی پایتون وقتشه که یه سر به مفاهیم پیشرفته بزنــــیم. با توجه به پیشرفته بودن این مفاهیم یاد گرفتن اوناهم نسبت به مباحث قبل ســـخــــــت‌تـره. خب بریم سراغ این مفاهیم.۴.۱. برنامه‌نویسی شئ‌گرایی (Objected Oriented Programming)با استفاده از این مفهوم می‌تونید چیزایی که توی دنیای واقعی وجود داره رو تو پایتون شبــیـــه‌ســــازی کنید. توی پایتون شما می‌تونید متغیر عددی، رشته‌ای، منطقی تعریف کنید ولی شاید بخواین یه متغیر از نـــوع انـــســان یا اتومبیل تعریف کنید :) با این وجود یاد گرفتن این مفهوم و انس گرفتن با مفهوم بسیار قشنگ شـــئ‌گـــرایـــی تو درک مفاهیم پیچیده برنامه‌نویسی کمکتـــــــون میکنه. مفاهیم اصلی که تو پایتـــــون در زمــــینه شـــــئ‌گرایی وجود دارن به شکل زیر هستن.کلاس‌های ساده، والد و فرزندمفهوم ارث‌بریتوابع ایستا، شخصی، نیمه شخصی و ...انواع دسترسی‌هاکپسوله‌سازی و انواع متغیرهاو ...۴.۲. پردازش‌های موازی و تردها (Parallel Processes &amp; Threads)شاید بخواین یه سری کارها رو باهم انجام بدین. مثلا اگه یه سایت داشته باشین و بخــواین بــه یه میلیون نفـــر نفر از اعضای وبسایت تو یه لحظه پیام بدین اگه به صورت همروند انجام نشه باید به ترتیب و یکــــــی یکـــــــی به افراد پیام داده بشه. به طور مثال اگه دادن هر پیام ۲ ثانیه از وقت CPU رو بگیره آخــــرین نفر بعد از ۲,۰۰۰,۰۰۰ یعنی حدود ۲۳ روز پیام رو دریافت میکنه. ۲۳ روز خیــــــــــــلی زیاده برا جلوگیری از این کارا از پردازش مــــــــوازی استفاده می‌کنیم.۴.۳. برنامه‌نویس سوکت (Socket Programming)برا برنامه‌نویسی تو محیط شبکه از این مفهوم و ساختار استفاده می‌کنیم. مثلا می‌خواین یه برنامه بنویسین که یه سری دستور رو از طریق کامپیوتر شماره ۱ شـــبکه و کامپیوتر شماره ۲ شـــبکه ارسال کنه یا حتی شاید بخواین یه چت‌روم توی شبکه خصوصی خودتون با پایتون بسازین.۵. معرفی چندتا از برنامه‌های ساده پایتونی خودمتو این بخش می‌خوام ســــه‌تا از برنامه‌هایی که خــــودم وقتی تازه مفاهـــیم بالا رو تو پایتون تموم کرده بـــودم رو بهتون توضیح بدم. بریم سراغ برنامه‌ها :)۵.۱. ترک سیگاراین برنامه خیلی سادست ولی خب یکم جالبه. شما به برنامه می‌گین که می‌خواین سـیگار بکشین و برنامه چک می‌کنه اگه شما تو دو ساعت گذشته سیگار نکشیده باشین بهتون میگه بـــازم می‌خــــوای بــکــشی؟ و بعد از تایید شما تاریخ و زمان اون لحظه رو ثبت می‌کنه. اما اگه تو دو ساعت گذشته سیگار کشیده باشـــــین بهتون میگه که چقدر مونده تا بتونید یه سیگار دیگه بکشین.۵.۲. چت‌روم دو نفره آفلایناین برنامه دو تا بخش داره یکی کلاینت و یکی هم سرور. ابتدا سرور یه پورت و آی‌پی از شما می‌گـــیره و طـــــــبق اون یه سوکت رو شبکه ایجاد می‌کنه. بعدش شما با کلاینت به اون آی‌پی و پورت وصل می‌شین. الـان می‌تونید دونفره با هم چت کنید. مثلا می‌تونید سرورو رو لپتاپتون اجرا کنید و با اجرای کلاینت رو گوشـــیتــون به لپـــتــــاپ وصل بشین.۵.۳. شجره‌نامه (FamilyTree)تو این برنامه علاوه بر مفاهیم پایتون مفاهیم ساخــــــتمان‌داده درخــت رو هم باید بدونید. اعضای خونوادتون رو به این برنامه می‌دین و بعد از اون می‌تونید به این اطلاعات به صورت ساختار‌یافته و سازماند‌هی شده دسترسی داشته باشین. مثلا اگه بگین که پسر شما نسبتش با پدرتون چیه برنامه میگه که نوه پسری.۶. متخصص پایتون (Python Expert)خب این همه توضیح دادیم حالا نهایتا شما باید بعد این همه یادگـــیــــری چیکار کنید. الـــبته بایــد بــگــــم که من مطالب رو گسترش دادم وگرنه اگه علاقه داشته باشــین یادگیری این مفاهــــیم خیلی براتون شـــــیـــرین و جذاب میشه. بعد از یـــــادگیری این مــفــاهــیـــم شـما باید حوزه موردنظر خودتون رو انتخاب کنید. اینکه می‌خـــواین وارد هـــــــوش‌مصــــــنوعی بشین یا طراحی وبســــایت یا تحلیل داده و چــندین حوزه دیگه. به طور کلی حــــوزه‌هایی که می‌تونید انتخاب کنید به صورت زیر هستن. توسعه وبسایت به کمک کتابخونه‌های Django و Flaskدانشمند داده یا مهندس یادگیری ماشینی به کمک تعداد خیلی زیادی کتابخونهبرنامه‌نویس علمی جهت انجام کارهای محاسباتی و ...و ...۷. منابع یادگیری پایتونپایتون چون خیلی زبان محبوبیه منابع زیادی برای یادگیریش وجود داره. دورهای زبان اصلی زیــادی از انتشارات یودمی و سایر انتشارات مـــعـروف دنیا توی سایت فرین‌مدیا در دسترسی هست. اما می‌تونم بـــگم قــــوی‌تـــریـــن آموزش فارسی برا پایتون آموزش تعاملی سایت کوئرا هست. این آموزش تمامی ســـرفصل‌ها رو با تــمـــرین‌های مربوطه در اختیار شما قرار میده. این آموزش ساعت‌ها و ساعت‌ها برای طـــــــراحی و بهبود زمان برده. دوره کو‌ئرا روز به روز توسط فیدبک‌های شما عزیزان توسط این تیم در حال بهبوده.با تشکر؛ محمدرضا کریمی‌نژاد کوچکترین عضو کوئرادستیار آموزشی دانشگاه شمسی‌پور، برنامه‌نویس و پشتیبان علمی کوئرا</description><category>محمدرضا کریمی‌نژاد</category><author>محمدرضا کریمی‌نژاد</author><pubDate>Fri, 17 Apr 2020 22:48:00 +0430</pubDate></item><item><title>نقشه راه یادگیری ماشین لرنینگ</title><link>https://virgool.ir/dataio/نقشه-راه-یادگیری-ماشین-cv1clucrmqoq</link><description>برای یادگیری ماشین لرنینگ دو راه وجود دارد که در ادامه این پست با نقشه راه، مزایا و معایب هرکدام آشنا می‌شوید. من شما را با مفاهیم آشنا می‌کنم ولی انتخاب را به خودتان واگذار می‌کنم. البته قبل از انتخاب دقت کنید که باید با یک زبان برنامه‌نویسی مناسب (مثل پایتون) آشنایی کامل را داشته باشید. اگر زبان مورد نظر شما پایتون می‌باشد، انتظار می‌رود باسرفصل‌های زیر در پایتون به طور کامل آشنا باشید. منطق ریاضی (Logic)متغیرها (Variables)عملگرهای ریاضیاتی (Mathematical Operators)دستورات شرطی (Conditional Statement)حلقه‌های تکرار (Loops)لیست‌‌ها (Lists)مجموعه‌‌ها (Sets)لغت‌نامه‌ها (Dictionaries)محدوده‌ و فضای نام (Namespace &amp; Scope)توابع (Functions)کلاس‌ها (Classes)اگر آشنایی کافی با زبان برنامه‌نویسی پایتون ندارید راه‌های مختلفی برای یادگیری این زبان قدرتمند و در عین حال ساده وجود دارد. می‌توانید از فیلم‌های آموزش و دوره‌های آموزش تعاملی و ... استفاده کنید. اگر نیاز به راهنمایی بیشتری داشتید به این آیدی در تلگرام مراجعه کنید. درضمن نقشه راه یادگیری پایتون به زودی در پستی دیگر منتشر می‌شود.نقشه راه اول در این روش لازم است با گذراندن یک دوره جامع ماشین لرنینگ به هدف خود برسید. در نتیجه شما باید با مفاهیم ماشین لرنینگ آشنا شوید. برای این کار دوره‌های متنوعی وجود دارد که توسط موسسه‌‌های معتبر و بزرگ مانند لیندا، کورسرا، یودمی و ... منتشر شده‌اند. در این روش شما باید دوره‌هایی را بگذرانید که در آن‌ها مفهوم ماشین لرنینگ به کمک زبان برنامه‌نویسی ارائه می‌شوند. همچنین در این بین شما باید با کتابخانه‌های مربوط به داده و ماشین لرنینگ زبان پایتون را فرا بگیرید. هرچند دوره‌‌های وجود دارد که همه‌ی مطالب را درون خودشان گنجانده‌اند. در نقشه راه دوم به توضیح و معرفی این کتابخانه‌ها پرداخته‌ایم.معایب و مزایادر این روش شما بدون اتلاف وقت روی یادگیری سایر مفاهیم مثل آمار، احتمال، ریاضیات پیوسته و گسسته و ... به طور مستقیم سراغ یادگیری ماشین لرنینگ می‌روید. در نتیجه در طول یک الی سه ماه ماشین لرنینگ را فرا می‌گیرید. در این بین شما تنها چیزی که اصولی یاد گرفته‌اید زبان پایتون می‌باشد و از لذت درک کامل و قدرت پیاده‌سازی الگوریتم‌های ماشین لرنینگ و همچنین درک ارتباط آن‌ها بین آمار، احتمال و ریاضیات را از دست می‌دهید. نقشه راه دوماین راه بر خلاف راه قبلی دارای پیش‌نیازهای متعددی می‌باشد. قبل از یادگیری ماشین لرنینگ باید با مفاهیم زیر به طور کامل آشنا باشید. ریاضی حسابان (Calculus)این درس همان ریاضی عمومی ۱ در دانشگاه می‌باشد. الگوریتم‌های متعددی در ماشین‌لرنینگ با مفهوم مشتق و انتگرال سروکار دارند. همچنین برای درک آمار و احتمال باید با مفاهیم حد و پیوستگی، مشتق و اتگرال آشنا باشید. به طور کلی می‌توانید از سرفصل‌های زیر برای یادگیری حسابان استفاده کنید.تابع و انواع آن (Functions)حد و پیوستگی (Limit &amp; Continuity)مشتق و مشتق‌پذیری (Derivative &amp; Differentiability)انتگرال (Integral)منابع زیادی برای یادگیری حسابان وجود دارد. اما بهترین منبع برای یادگیری عمیق و مفهومی این سرفصل‌ها دوره حسابان موسسه خان‌آکادمی می‌باشد. این آموزش توسط یکی از اساتید برجسته دنیا و دانشگاه‌های آمریکا تهیه شده و به صورت رایگان در اختیار عموم قرار دارد. پیشنهادی که در یادگیری حسابان می‌توان داد یادگیری آن به صورت مفهومی و عمیق باشد نه به صورت تستی و کنکوری!آمار و احتمال (Statistics &amp; Probability)از آنجایی که پایه مفاهیم ماشین لرنینگ از آمار و احتمال گرفته شده‌است آشنایی و تسلط به آمار و احتمال کمک زیادی به درک مفاهیم آن می‌کند. الگوریتم‌های هوشمند معمولا وقتی بین چندراهی قرار می‌گیرند و نیاز به انتخاب یکی از آن‌ها را دارند طبیعتا راهی را انتخاب می‌کنند که احتمال مطلوب بودن آن از بقیه بیشتر است و با این وجود نیاز به درک احتمال برای پیاده‌سازی بخش عظیمی از الگوریتم‌ها بوجود می‌آید. برای جمع‌آوری و تحلیل داد‌ه‌ها از علم آمار کمک می‌گیریم. البته گاهی احتمال و آمار هردو به حل یک مسئله کمک می‌کنند.از نظر من بهترین منبع زبان فارسی برای یادگیری آمار و احتمال دوره استاد شریفی زارچی مدرس علوم رایانه در دانشگاه شریف (مکتبخونه) و همین‌طور دوره آمار و احتمال خان‌آکادمی نیز بسیار مفید می‌باشد. پیشنهاد می‌کنم در کنار دوره‌های آموزشی، کتاب آمار و احتمال انتشارات زیر ذره‌بین را نیز مطالعه فرمایید. سرفصل‌های پیشنهای برای یادگیری آمار و احتمال به این شکل می‌باشد.مفهوم ماشین لرنینگ (Theoretical Machine Learning)بعد از آشنایی با حسابان و آمار و احتمال وقت آن رسیده که به ماشین لرنینگ سلام کنید. برای درک بهتر ابتدا با مفهوم ماشین لرنینگ آشنا شوید. برای یادگیری مفوم و تئوری ماشین لرنینگ این دوره به شدت پیشنهاد می‌شود.کتابخانه‌ها ضروری پایتون (Necessary Python Libraries)برای وارد شدن به ماشین لرنینگ به صورت عملی (Practical) لازم است با کتابخانه‌های زیر به نسبت خوبی آشنا باشید. البته ممکن است در یک دوره کتابخانه‌های دیگری نیز معرفی شوند و کتابخانه‌های زیر همه مهم و در همه دوره‌ها مشترک می‌باشند.محسابات علمی (Numpy)مصورسازی (Matplotlib)مصورسازی (Scipy)ذخیره، طبقه‌بندی و دستکاری داده‌ها (Pandas)ماشین لرنینگ در عمل (Practical Machine Learning)اگر به این مکان از نقشه رسیده‌اید یعنی پایه‌های شما برای حل مسائل واقعی آماده شده است و به این بابت به شما تبریک می‌گویم. احتمالا خودتان ادامه راه را می‌دانید. یک دوره ماشین لرنینگ با پایتون می‌تواند به طور عجیبی تاثیر گذار باشد. چراکه با تمام مفاهیم از قبل آشنا شده‌اید و کافی است آن‌ها را به صورت عملی به کار ببرید. تمرین، تمرین، تمریندر اینجا شما باید به شدت تمرین کرده و از داده‌های موجود در اطرافتان (مثل وبسایت کگل) برای تحلیل و حل مسائل استفاده کنید. چند مورد از این مسائل را می‌توانید در زیر ببینید.تشخیص سرطانمسافران کشتی تایتانیکتشخیص میوه‌های سالمتشخیص چهره راهنماییاگر نیاز به راهنمایی بیشتری دارید یا این‌که حس می‌کنید قدرت انتخاب بین دو راه موجود را ندارید می‌توانید به این آیدی در تلگرام مراجعه کنید.</description><category>محمدرضا کریمی‌نژاد</category><author>محمدرضا کریمی‌نژاد</author><pubDate>Fri, 14 Feb 2020 03:23:24 +0330</pubDate></item></channel></rss>