مجله خبری برنامه‌نویسی پایتون

مرکز آموزش و رقابت برنامه نویسی پایتون

مجله خبری برنامه‌نویسی پایتون

مرکز آموزش و رقابت برنامه نویسی پایتون

مجله خبری برنامه‌نویسی پایتون

زبان پایتون (Python) در سال ۱۹۹۱ توسط یک برنامه‌نویس هلندی به نام گیدو ون روسوم (Guido van Rossum) ابداع شد و از آن زمان تا کنون رشد قابل ملاحظه‌ای را شاهد بوده است.

اگر چه وی در آن زمان گفته بود: «من به هیچ وجه قصد ندارم زبانی بسازم که به طور گسترده مورد استفاده قرار بگیرد» ولی اکنون و با گذشت نزدیک به سه دهه از آن تاریخ، پایتون تقریباً تمام رقبای خود را کنار زده و به اندازه‌ای محبوبیت یافته که حتی افراد مبتدی نیز کدنویسی را با آن شروع می‌کنند.

در یک سال گذشته، «Python» یکی از کلماتی بود که شهروندان آمریکایی بسیار زیاد در گوگل جستجو کرده‌اند، حتی بیشتر از نام ستاره‌های تلویزیونی.

نویسنده : javinpaul

مترجم: آزاده رضازاده همدانی

لینک : منبع


اگر وبلاگ من رو به طور منظم دنبال کرده باشید حتما از اینکه مقاله ای در باره لزوم یادگیری پایتون مینویسم تعجب کنید! شاید به خاطر داشته باشید که چند سال پیش مقاله ای با این مضمون که چرا بین جاوا و پایتون, باید جاوا را انتخاب کرد؟ نوشتم. درسته خیلی چیزها از آن سالها تا به امروز تغییر کرده است. در سال 2016 پایتون در بسیاری از دانشکده ها و دانشگاه ها به عنوان محبوب ترین زبان برنامه نویسی جایگزین بقیه زبانها شد و هیچ وقت به دوران قبلش باز نگشت. پایتون روز بروز بزرگ و بزرگ تر میشد و اگر شما اخبار مربوط به آخرین تکنولوزی ها و برنامه نویسی رو دنبال کنید متوجه میشوید که در بسیاری از سایت های معروف برنامه نویسی مثل Stackoverflow و CodeAcademy پایتون روند رو به رشدی دارد و از آن به عنوان یک زبان برنامه نویسی مهم ذکر شده است. اما بزرگترن سوال ما این است که چرا یک برنامه نویس باید پایتون را یادبگیرد؟ درسته که پایتون در حال رشد است اما این به معنی در حال سقوط بودن جاوا و یا c++  نیست؟

بله من افتخار میکنم که برنامه نویس جاوا هستم و جاوا زبان محبوب من بوده و هست و خواهد بود اما این امر باعث نمیشود که من مشتاق به یادگیری و استفاده از  ابزار ها و تکنولوژی های جدید نباشم.پایتون دقیقا همان زبانی است که من به دنبالش هستم تا من با یادگیری آن به برنامه نویس بهتری مبدل شوم. یادگیری پایتون برای افراد مبتدی و تازه کار بسیار آسان است و قدرت کافی برای ایجاد برنامه های مبتنی بر وب و همچنین سیستم های اتوماسیون اداری کسل کننده را داراست. چندین سال پیش, تنها دلیل جذابیت و انتخاب پایتون از نظر من , توانایی اسکریپت نویسی آن بود و در مقایسه با perl که زبان اسکریپت نویسی محبوب دیگری در آن زمان بود ترجیح دادم.

برای برنامه نویسان حرفه ای و یا هرکسی که از قبل با Ruby,Java,Javascript آشنایی دارد یادگیری پایتون نیز به منزله کسب یک ابزار قدرتمند می باشد . همانطور که در کتاب Automate the Boring stuff with python ذکر شده است پایتون به شما این توانایی را می دهد تا کارهای تکراری و کسل کننده را به طور اتومات انجام داده و بر روی موارد جذاب و سودمند بیشتر متمرکز شوید.

اگر برنامه نویس جاوا باشید شاید تصور کنید که میتوانید با استفاده از Groovy این کارها را انجام دهید . اما لازم است بدانید که Groovy هرگز امکانات متعدد پایتون مثل api ها و کتابخانه ها, فریم ورک ها و همچنین حوزه های مختلف مثل علوم داده , یادگیری ماشین و برنامه نویسی وب را در اختیار شما قرار نخواهد داد.

 

چرا برنامه نویسان باید در سال 2018 پایتون را فرابگیرند؟

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

به هر حال در ادامه 10 دلیل مهم برای یادگیری پایتون در سال 2018 را خواهید دانست:

1-    علم داده :

این دلیل خود به تنهایی بزرگترین عامل یادگیری پایتون توسط بسیاری از برنامه نویسان در سال 2018 بوده است. بسیاری از دوستان من که از پروژه های برنامه نویسی جاوا خودشون که در ارتباط با بانکهای سرمایه گذاری بود خسته شده اند و بدنبال یادگیری پایتون از طریق سایت های آموزش آنلاین مثل Udemy هستند تا بتوانند شغلی هیجان انگیز با حقوق بالا در زمینه علم داده پیدا نمایند.

اما چه عاملی باعث محبوبیت پایتون در زمینه علم داده و یادگیری ماشین شده است؟

در سالهای نه چندان دور زبان R یکی از بهترین زبان ها در این حوزه محسوب میشد. اما من تصور میکنم پایتون به دلیل دارابودن کتابخانه ها و فریم ورک های متعدد مثل PyBrain , NumPy و PyMySql در هوش مصنوعی , علم داده و یادگیری ماشین به محبوبیت فراوانی دست یافته است.

دلیل دیگر محبوبیت پایتون , کاربرد های متنوع تر آن نسبت به زبان R است مثلا شما میتوانید اسکریپت هایی را  برای  اتوماسیون اداری, طراحی وب و یا موارد بیشتر ایجادکنید.

حال اگر علاقه مندید که به یک محقق  علوم داده در سال جدید مبدل شوید به شما پیشنهاد می کنم که مجموعه ارزشمند Data Science, Deep Learning, & Machine Learning with Pythonدر سایت آموزش آنلاین Udemy با قیمت 10 دلار تهیه و مطالعه نمایید.

 

2-    یادگیری ماشین:

دومین دلیل برای یادگیری پایتون , یادگیری ماشین است. در چند سال اخیر رشد یادگیری ماشین فوق العاده بوده و به سرعت در حال تغییر محیط پیرامون ما است.

روز به روز الگوریتم ها پیچیده تر می شوند مثلا با الگوریتمهای جستجوی گوگل امروزه میتوانید پاسخ همه سوالات خود را بیابید . همچنین Chatbot هایی برای پاسخ به همه پرسش های شما وجود دارند و یا تاکسی اینترنتی Uber در واقع از الگوریتم ها رانندگی استفاده می کند.

حال اگر شما به یادگیری ماشین علاقه دارید و تصمیم دارید پروژه هایی را بر حسب میل و علاقه شخصی خود انجام دهید, پایتون اصلی ترین زبان برنامه نویسی است که این کار را برای شما آسان می کند.

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

در صورتی که تمایل به شروع برنامه نویسی وب در این حوزه دارید پیشنهاد میکنم واحد  Machine Learning A-Z™: Hands-On Python & R In Data Science  را در سایت آموزش آنلاین Udemy مطالعه نمایید.

 

3-    برنامه نویسی تحت وب

وجود کتابخانه ها و فریم ورک های بسیار خوبی از جمله Django و Flask  در پایتون ,که برنامه نویسی تحت وب را آسان می کند, سومین دلیل یادگیری این زبان می باشد. 

به عنوان مثال انجام کارهایی که در PHP به صرف چندین ساعت زمان نیاز است, به راحتی در عرض چند دقیقه در پایتون انجام می شوند. همچنین از پایتون در زمینه Web Scraping که به مجموعه روش های مورد استفاده برای جمع آوری اطلاعات  از سایتهای اینترنتی اطلاق می شود, نیز بسیار کاربرد دارد. از جمله این سایتها میتوان به سایت معروف Reddit اشاره نمود.

اگر به این مبحث علاقه دارید پیشنهاد میشود مباحث مربوط به پایتون و Django را در سایت JoshPortilla مطالعه نمایید.همچنین یک واحد درسی رایگان در سایت udemy نیز پیرامون همین موضوع وجود دارد .

 

4-    سادگی

یکی از بزرگترین دلایل انتخاب پایتون توسط برنامه نویسان مبتدی , سادگی این زبان است. زیرا هنگامی که برای بار اول برنامه نویسی و کدنویسی را آغاز می کنید طبیعتا به دنبال یادگیری زبانی با دستورات و قواعد دشوار و گیج کننده نخواهید بود.

پایتون زبانی خوانا و ساده است. همچنین نصب و راه اندازی آن بسیار ساده است به صورتی که مشکلات مربوط به مسیر کلاس ها در جاوا و مسایل مربوط به کامپایلر را در C++ ندارید. فقط کافی است پایتون را نصب و شروع به کار کنید. فقط در هنگام نصب سوالی مبنی بر اضافه کردن پایتون به PATH از شما پرسیده میشود که بدین معنی است : شما میتوانید پایتون را از هر جا در سیستم خود اجرا نمایید.

 

5-    انجمن عظیم برنامه نویسان

شما برای یادگیری یک زبان و یک تکنولوژی جدید به گروهی از دوستان برنامه نویس احتیاج دارید تا زمانی که به شدت درگیر و مستاصل در حل یک مشکل و خطا شده اید به شما کمک کنند!

در این زمینه باید بسیاراز google تشکر کرد زیرا در عرض چند دقیقه شما میتوانید راه حل مشکل خود را در پایتون پیدا نمایید. همچنین انجمن های مانند سایت Stackoverflow باعث گردهمایی بسیاری از افراد خبره پایتون در کنار هم و کمک به تازه واردین شده است.

 

6-    کتابخانه ها و فریم ورک ها

یکی از شباهت های پایتون و جاوا, وجود تعداد بسیار زیاد کتابخانه ها, فریم ورک ها و ماژول های متن باز و در دسترس  برای انجام هر آنچه که در ذهن شما است, می باشد و این امر توسعه برنامه ها و نرم افزار ها را بسیار آسان کرده است.

حتی تصور اینکه شما بخواهید برنامه نویسی تحت وب را بدون استفاده از Spring در جاوا یا Django  و Flask در پایتون انجام دهید, هم بسیار سخت است. وجود این کتابخانه ها باعث ساده تر شده کار شما شده است و شما تنها کافی است بر روی منطق تجاری (Business Logic) تمرکز کنید.

پایتون کتابخانه های متعددی به منظور رفع نیاز های متفاوت دارد. بعنوان مثال میتوان از Django و Flask برای طراحی و برنامه نویسی وب و از NumPy و SciPy در زمینه علوم داده نام برد.

در واقع پایتون مجموعه بسیارخوبی از کتابخانه های مربوط به یادگیری ماشین و علوم داده مثل TensorFlow,Scikit-Learn,Pandas,Keras و ... را جمع آوری نموده است.

برای اطلاعات بیشتر می توانید به لینک پایتون در یادگیری ماشین و علوم داده مراجعه نمایید.

 

7-    اتوماسیون

اولین باری که با پایتون آشنا شدم مربوط به زمانی بود که در حال نوشتن برنامه ای برای دریافت پیغام ها ی UDP بودم که به مشکل عدم وجود پیغام ها در log برخوردم. در واقع به دنبال این بودم که آیا بر روی این پورت خاص آیا ترافیک UDP دریافت می کنم یا خیر اما هیچ دستور UNIX برای حل این مشکل پیدا نمیکردم. تا این که همکار بغل دستی من که در حال یادگیری پایتون بود فقط در عرض 5 دقیقه توانست اسکریپتی باا استفاده از ماژول های پایتون برای دریافت پیغام های UDP بنویسد!

زمانی که همکارم صرف نوشتن این ابزار کره بود به شدت من رو تحت تاثیر قرار داد و قدرت پایتون را بیش از پیش در نوشتن اسکریپت, ابزار و یا هر کار تکراری دیگر به  من نشان داد.

حال اگر به دنبال مطالعه بیشتر در این زمینه هستید پیشنهاد میکنم مطالعه کتاب Automate the boring stuff with python را که به شدت کتاب ساده ای است از دست ندهید.

 

8-    همه منظوره بودن

پایتون یک چاقوی همه کاره است! که بسیار مورد علاقه برنامه نویسان واقع شده است. مثلا R زبانی است که تنها در زمینه یادگیری ماشین و علوم داده  می توان از آن استفا ده کرد اما هرگز نمیتوان از آن برای برنامه نویسی تحت وب بهره گرفت. اما شما با یادگیری پایتون قادر خواهید بود که کارهای بسیار متنوعی را انجام دهید.

با استفاده از Django و flask میتوانید برنامه نویسی تحت وب و با استفاده از NumPy,SciPy,Scikit-Learn,NLTK داده ها را تحلیل نمایید. حداقل حداقل میتوانید با استفاده از پایتون اسکریپتی برای انجام کارهای تکراری و روزمره خود بنویسید.

 

9-    شغل

پایتون به سرعت در حال رشد است و خیلی خوب است اگر در ابتدای راه برنامه نویسی هستید بدنبال یادگیری یک زبان مهم در حال رشد باشید. این امر نه تنها باعث می شود که شما شغل موردعلاقه خود را به سرعت پیدا کنید بلکه باعث میشود که در زمینه کاری و شغلی نیز به سرعت رشد کنید. بنابراین از نظر من , برای افراد مبتدی بعد از ویژگی سادگی, این امر میتواند مهم ترین دلیل یادگیری پایتون باشد.

 

10-                       حقوق

حقوق برنامه نویسان پایتون یکی از بالاترین مبالغ تعیین شده به عنوان دستمزد برای برنامه نویسان است مخصوصا اگر در زمینه یادگیری ماشین, علوم داده و برنامه نویسی وب فعالیت داشت باشند.

به طور میانگین مبلغ دریافتی یک برنامه نویس پایتون بین 70000 تا 150,000 دلار آمریکا ست که بنابر سابقه , موقعیت و زمینه کاری میتواند متفاوت باشد.

اگر به دنبال شغل های با درآمد بالا در زمینه تکنولوژی هستید بهتر است مقاله من در باره 10 شغل برتر حوزه مهندسی نرم افزار در سال 2018 را مطالعه نمایید.

منابع سودمند برای یادگیری پایتون :

اگر قصد شروع به یادگیری پایتون را دارید در ادامه لیستی از منابع آموزشی این زبان زیبای برنامه نویسی آمده است:

1-   The Complete Python MasterClass

2-   The Python Bible — Everything You Need to Program in Python

3-   Python Fundamentals by Pluralsight

4-   5 Courses to Learn Data Science and Machine learning

5-   10 Free Python Programming EBooks and PDF

6-   Top 5 Courses to Learn Python in 2018

و اگر هنوز برای یادگیری پایتون احساس راحتی نمیکنید شاید عکس زیر نمای درستی از زندگی یک برنامه نویس پایتون را بخوبی به شما نشان دهد:

این تمامی دلایل مهم برای یادگیری پایتون در سال 2018 بود. همانگونه که قبلا گفتم یادگیری برنامه نویسی این روزها یکی از ملزومات دنیای فعلی است و پایتون یکی از بهترین زبان های برای شروع افراد مبتدی و تازه کار است.

یادگیری پایتون  برای برنامه نویسانی که قبلا با جاوا و یا C++ کار کرده اند, نه تنها باعث میشود به یک برنامه نویس چند زبانه تبدیل شده بلکه ابزاری قدرتمند را برای ایجاد اسکریپت ها, برنامه نویسی وب و ورود بدنیای جذاب و پر هیجان یادگیری ماشین و علوم داده در اختیار آنها قرار میدهد.

به طور خلاصه اگر امسال تنها میتوانید یک زبان را یادبگیرید حتما پایتون را انتخاب کنید و The complete Python MasterClass یکی از بهترین منابع در این زمینه است.

در ادامه سایر مقالات مهم در این حوزه آمده است:

1-   Top 8 Python Data Science and Machine Learning libraries

2-   10 Machine Learning and Data Science courses for Programmers

3-   10 Programming languages You can Learn in 2018

4-   10 Reasons to Learn Scala Programming Languages

5-   5 Free R Programming Courses for Data Scientists

6-   Top 5 TensorFlow courses for Python Programmers

7-   Top 5 Courses to Learn Data Science and Machine Learning

8-   50+ Data Structure and Algorithms Interview Questions

 

حرف آخر

خیلی ممنونم که این مقاله رو مطالعه کردید سفر خوبی در پایتون داشته باشید مطمینا تصمیم به شروع پایتون تصمیم بزرگی است اما حتما در آینده مبالغ دریافتی خوبی بابت این تصمیم خواهید گرفت. من منابع بسیاری را برای یادگیری پایتون در حوزه یادگیری ماشین , علوم داده, برنامه نویسی وب ,.. معرفی کردم و درصورتی که مورد علاقه شما واقع شده اند لطفا با دوستان و همکاران تان به اشتراک بگذارید و حتما من را در توییتر با شناسه javarevisited و در Medium با شناسه Javinpaul دنبال کنید.

و در آخر اگر به دنبال منابع رایگان برای یادگیری پایتون هستید حتما به آدرس زیر مراجعه نمایید:

https://hackernoon.com/tagged/python

 


زبان برنامه‌نویسی پایتون کاربردهای گسترده‌ای دارد و برنامه‌نویسان حرفه‌ای در سازمان‌های بزرگی مانند گوگل، اسپاتیفای، پیکسار و حتی آژانس اطلاعات مرکزی از آن استفاده می‌کنند.

خیدو فان‌روسوم، دانشمند علوم رایانه هلندی تصمیم گرفت در دسامبر ۱۹۸۹ در تعطیلات کریسمس روی پروژه‌ای شخصی کار کند. او که از کم‌وکاستی‌های دیگر زبان‌های برنامه‌نویسی رایانه خسته شده بود، دست به کار شد و زبان برنامه‌نویسی خودش را ساخت. فان‌روسوم برای ساخت زبان برنامه‌نویسی‌اش سه اصل ساده و ابتدایی داشت:

  • ۱. زبانی که می‌سازد باید خوانا و یادگیری آن آسان باشد؛ به‌همین‌دلیل در هر کد در زبان برنامه‌نویسی پایتون به‌جای براکت‌های درهم، از تورفتگی (وایت‌اسپیس) استفاده می‌شود.
  • ۲. به کاربران اجازه دهد بسته‌های خاص خود را برای ماژول‌های برنامه‌نویسی بسازند.
  • ۳. زبان ساخته‌شده نامی کوتاه و خاص و کمی مبهم داشته باشد.

فان‌روسوم برای انتخاب نام زبان برنامه‌نویسی خود از گروه کمدی انگلیسی به‌نام مونتی پایتون (Monty Python) الهام گرفت و نام آن را پایتون گذاشت. همچنین نام package repository این زبان برنامه‌نویسی از نام یکی از قسمت‌های کمدی محبوب فان‌روسوم، یعنی چیزشاپ (Cheese Shop)، انتخاب شده است.

تقریبا سی سال بعد از اختراع فان‌روسوم، این زبان برنامه‌نویسی محبوب شد و تعداد جست‌وجوهای پایتون در گوگل از تعداد جست‌و‌جوهای کیم کارداشیان، ستاره‌ی هالیوودی پیشی گرفت. تعداد پرس‌وجوها درباره‌ی زبان برنامه‌نویسی پایتون تا سال ۲۰۱۰ بیش از سه برابر شده بود؛ درحالی‌که نمودار تعداد پرس‌وجوی دیگر زبان برنامه‌های نویسی معمولا با گذشت زمان، یکنواخت یا حتی نزولی است.

Guido-van-Rossum

براساس گزارش انجمن برنامه‌نویسی اِستَک اُوِرفِلو (StackOverflow)، زبان پایتون نه‌تنها میان توسعه‌دهندگان حرفه‌ای محبوبیت پیدا کرده؛ بلکه مردم عادی نیز به آن علاقه‌مند شده بودند. وبگاه کُدِکادِمی (Codecademy)، یکی از وبگاه‌های شناخته‌شده در زمینه‌ی آموزش زبان‌های برنامه‌نویسی نیز اعلام کرده پایتون یکی از زبان‌های محبوبی است که کاربران برای یادگرفتن آن به این وبگاه مراجعه می‌کنند.

زبان برنامه‌نویسی پایتون باعث شده بسیاری از افراد سردرگم در دنیای برنامه‌نویسی راه خود را پیدا کنند. پایتونیست‌ها (طرفداران پایتون) با کمک یکدیگر بیش از ۱۴۵هزار بسته‌ی نرم‌افزاری به Cheese Shop پایتون اضافه کرده‌اند که موضوعات مختلفی از نجوم تا توسعه‌ی بازی را پوشش می‌دهد.

فان‌روسوم، مخترع زبان برنامه‌نویسی پایتون، از محبوبیت نرم‌افزار خود لذت می‌بُرد؛ اما فشار نظارتی و لقبی که به او داده بودند، یعنی «دیکتاتور خیرخواه جاویدان» باعث شد از مدیریت زبانی که اختراع کرده کنار بکشد. او از این موضوع وحشت داشت که به بُت زندگی مردم تبدیل شود و دراین‌باره گفت:

من مشهوربودن را دوست ندارم و احساس راحتی نمی‌کنم؛ حتی گاهی اوقات احساس می‌کنم هر حرفی که می‌زنم یا هر کاری که انجام می‌دهم، بیش‌ازاندازه به آن توجه می‌شود.

درنهایت، او در ۱۲جولای سال جاری، پایتونیست‌ها را در مدیریت پایتون تنها گذاشت.

python

گسترش و محبوبیت زبان پایتون

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

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

python

یکی از بسته‌‌های نرم‌افزاری کاربردی و جذاب پایتون برای پایتونیست‌ها در Cheese Shop، هوش مصنوعی است. کاربران به کمک این زبان می‌توانند شبکه‌هایی عصبی بسازند که از ارتباطات مغز برای پیداکردن الگوی بین داده‌های حجیم استفاده می‌کند. فان‌روسوم می‌گوید پایتون به زبان برنامه‌نویسی محبوب محققان هوش مصنوعی تبدیل و بسته‌های نرم‌افزاری زیادی برای آن ساخته شده است.

البته همه‌ی پایتونیست‌ها تا این اندازه جاه‌طلب نیستند. زک سیمز، رئیس وبگاه Codecademy معتقد است بسیاری از بازدیدکنندگان وب‌سایت دنبال مهارت‌هایی هستند که در کارهای غیرفنی به آن‌ها کمک کند. به‌عنوان مثال، بازاریابان از پایتون برای ساخت مدل‌های آماری استفاده می‌کنند که میزان تأثیرگذاری پویش تبلیغاتی را اندازه‌گیری می‌کند. دانشجویان برای بررسی درستی توزیع نمره‌ها از پایتون بهره می‌گیرند و حتی روزنامه‌نگاران به‌منظور جمع‌آوری داده‌های مدنظرشان با پایتون برنامه‌نویسی می‌کنند. پایتون همچنین برای کاربران حرفه‌ای صفحه‌گسترده (Spreadsheets) دردسترس است.

استفاده از این زبان ‌برنامه‌نویسی بسیار گسترده شده است؛ به‌طوری‌که حتی سیتی‌گروپ (Citigroup)، یکی از بانک‌های آمریکایی، دوره‌ی پایتون برای تحلیل‌گران کارآموز برگزار می‌کند. وب‌سایت کاریابی eFinancialCareers نیز گزارش داده تعداد متقاضیان مربی پایتون در سال‌های ۲۰۱۵ تا ۲۰۱۸ بیش از چهار برابر شده است. بااین‌حال، برخی تحلیل‌گران از افزایش محبوبیت این زبان ابراز نگرانی کرده‌اند. سیزر برا، مشاور شرکت Bain & Company، درباره‌ی محبوبیت زبان پایتون هشدار داده و گفته است:

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

python

ربات جهانی فان‌روسوم

یکی از راه‌حل‌ها برای ازبین‌بردن مشکل کاربران تقریبا تازه‌کار این است که تمام جوانب زبان برنامه‌نویسی به آن‌ها آموزش داده شود. پایتون محبوب‌ترین زبان مقدماتی در دانشگاه‌های آمریکا در سال ۲۰۱۴ بوده است؛ اما فقط در رشته‌های علوم، فناوری، مهندسی و ریاضی آموزش داده می‌شود. یکی از راه‌حل‌های کاربردی این است که علوم رایانه از دوران ابتدایی مدرسه به دانش‌آموزان آموزش داده شود. هادی پرتوی، رئیس بنیاد Code.org می‌گوید:

۴۰درصد مدارس آمریکا درحال‌حاضر چنین درس‌هایی برای دانش‌آموزان دارند؛ درحالی‌که در سال ۲۰۱۳، تنها ۱۰درصد آن‌ها برنامه‌نویسی را به دانش‌آموزان یاد می‌دادند. حدود دوسوم کودکان ده تا دوازده‌ساله در وبگاه Code.org حساب کاربری دارند. اگر پیشرفت‌کردن و خودکارشدن کارها به‌همین ترتیب ادامه پیدا کند، شاید ۹۰درصد والدین آمریکایی خواستار آموزش علوم یارانه به فرزندانشان شوند.

python

اینکه پایتون تا چه اندازه رشد می‌کند، هنوز معلوم نیست. زبان‌های برنامه‌نویسی بسیار محبوبی در گذشته وجود داشته‌اند که امروزه چندان طرفدار ندارند و به حاشیه رفته‌اند. در سال ۱۹۶۰، زبان برنامه‌نویسی فورترن (Fortran) در کل دنیا محبوب شده بود و به کارآموزان آموزش داده می‌شد. بیسیک (Basic) و پاسکال (Pascal) نیز از دیگر زبان‌هایی هستند که روزگاری در اوج محبوبیت بوده‌اند. هادی پرتوی نیز زبان جاوا اسکریپت را به‌عنوان زبان اصلی سایت Code.org انتخاب کرده است؛ زیرا انتخاب استاندارد برای انیمیشن‌سازی صفحات وب است.

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

منبع ECONOMIST

جمعه سیاه یا بلک فرایدی (Black Friday) چیست و خرید در این روز چگونه انجام می‌شود؟ تاریخچه بلک فرایدیچیست، چرا با این نام شناخته شده و چرا خرید در این روز مهم است؟

جمعه سیاه (Black Friday) و تاریخ دقیق این حراجی بزرگ دنیا

جمعه سیاه یا همان بلک فرایدی به نوعی روز به صدا درآمدن زنگ‌ها برای شروع خرید کریسمس بوده و فردای روز شکرگزاری در ایالات متحده است. در واقع آخرین جمعه ماه نوامبر بلک فرایدی (Black Friday) نام‌گذاری شده است. روز جمعه سیاه یک روز تعطیل نیست، ولی در این روز مردم به آغاز خرید برای جشن کریسمس و سال نو می‌پردازند. خرید در این روز برای مردم آمریکا یک سنت قدیمی است و از اهمیت بالایی برای آنها برخوردار است.با وجود تعطیل نبودن این روز، اکثر شرکت‌ها به کارکنان خود اجازه می‌دهند که این روز را در مرخصی باشند و در بزرگترین حراجی دنیا، به خرید سال نو مشغول شوند.

تاریخچه جمعه سیاه یا بلک فرایدی

معمولا صفت سیاه در فرهنگ‌های مختلف، بر یک رویداد بدشگون دلالت دارد. اما جمعه سیاه در تاریخ کشور آمریکا، به رسوایی بازار طلا در روز ۲۴ سپتامبر سال ۱۸۶۹ اشاره می‌کند.

وقتی که جنگ داخلی آمریکا پایان یافت، دوران دوازده ساله بازسازی آمریکا آغاز شد. در آن زمان دو تن از زمین خواران به نام‌های جِی گولد (Jay Gould)  و جیمز فیسک (James Fisk)  توانستند به واسطه خریدهای عمده، در مدتی کوتاه انحصار موقت طلا را به دست آورند.

این دو از این طریق سود کلانی را نیز به دست آوردند. چون دولت وقت نتوانست به‌موقع متوجه این سوءاستفاده شود، برای اینکه قیمت از دست رفته ثابت شود، حجم طلای بالایی را روانه بازار کرد.

این کار در پایان به ویرانی زندگی بسیاری از افراد انجامید. از آن زمان به دلیل وقوع این اتفاق در آن روز، از آن به عنوان بلک فرایدی (یا همان جمعه سیاه) یاد می‌شود.

روایت دیگری نیز برای علت نامگذاری این روز وجود دارد. پلیس فیلادلفیا پنسیلوانیا و راچستر نیویورک، در سال ۱۹۶۱ به خاطر شلوغی و ترافیک بیش از حد خیابان‌ها در این روز، آن را بلک فرایدی نام‌گذاری کردند. البته در آن زمان کارشناسان این واژه را مناسب ندانستند و از مردم خواستند تا به جای استفاده از جمعه سیاه از عبارات دیگر استفاده کنند چراکه کلمه سیاه، نشان دهنده رویدادی بدشگون است.

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

دوباره در سال ۱۹۷۵ میلادی در روزنامه نیویورک تایمز، عبارت بلک فرایدی استفاده شد که در اینجا منظور از عبارت جمعه سیاه شلوغ‌ترین روز خرید و سنگین‌ترین ترافیک جاده‌ها بود که به دلیل خرید مردم ایجاد شده بود.

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

بررسی علمی بلک فرایدی

دلیل اهمیت جمعه سیاه چیست ؟

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

خرید در این روز به اندازه‌ای با اهمیت است که فروشگاه‌ها قبل از ساعت ۴ صبح فعالیت خود را آغاز می‌کنند. تمامی مردم نیز برای خرید در این روز راهی فروشگاه‌ها شده و صف‌هایی طویل تشکیل می‌دهند.

تخفیف در روز بلک فرایدی هم شامل وسایل الکترونیکی است و هم غیر الکترونیکی. از نظر روانشناسی و علم بازاریابی تکنیک‌هایی که فروشنده‌ها در این روز به کار می‌برند باعث می شود آنها فروش فوق العاده‌ای را تجربه کنند.

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

این سبک از بازاریابی، یک نوع هیجان در خریدار ایجاد کرده و وی را تشویق به خرید محصول می‌کند. این ویژگی در روز Black Friday به خوبی قابل رویت است. در این روز خریداران تنها از صبح تا قبل از شب، فرصت دارند تا خریدهای خود را انجام دهند در غیر اینصورت متضرر می‌شوند!

تخفیف های شگفت انگیز و کاهش قیمت در بزرگترین حراج سال

دلیل خرید مردم در روز جمعه سیاه چیست ؟

خرید در روز بلک فرایدی شامل تخفیف بر روی تمام اجناس است و تمامی کالاها شامل تخفیف هستند؛ تخفیفی که مشتریان را تشویق می‌کند تا با هزینه کمتر به رفع نیازهای خود در شروع سال نو بپردازند. اما در این سال‌ها رقابت بین فروشنده‌ها به حدی بود که  مفهوم Doorbuster نیز به وجود آمد.

اما منظور از Doorbuster چیست و اصلا این واژه به چه معناست؟ کلمه Door به معنای “در” است و کلمه Buster به معنی “انفجار یا شکستن چیزی”. فروشندگان کالاهایی با تخفیف بسیار ویژه را Doorbuster نامیدند، زیرا این کالاها باعث شدند تا مردم پشت درهای فروشگاه‌ها صف بکشند. در بسیاری از مواقع تجمع افراد باعث شکسته شدن درها نیز می‌شود.

ساعت شروع بزرگترین حراجی سال

با کمال تعجب شروع این حراجی زمان مشخصی ندارد! چون رقابت بین فروشگاه‌ها شدید است هر کسی قصد دارد تا ساعت شروع را جلو بکشد. در سال‌های گذشته، مغازه‌ها راس ساعت ۱۲ بامداد، درب فروشگاه‌های خود را باز می‌کردند و به نوع بازماندن مغازه‌ها در کل ساعات شب، روال عادی روز جمعه سیاه است.

در سال ۲۰۱۰، یکی از فروشگاه‌های زنجیره‌ای ساعت ۱۰ شب روز عید شکرگزاری، حراجی بلک فرایدی را آغاز کرد. بسیاری فروشگاه‌ها به عرضه نمونه محصولات رایگان، مانند مداد شمعی و کتاب‌های نقاشی پرداختند تا بتوانند از این طریق مشتری جذب کنند.

حراج پنج شنبه در جمعه سیاه!

منظور از بلک فرایدی یا جمعه سیاه چیست ؟

همان‌طور که در ابتدا اشاره کردیم جمعه سیاه، روز بعد از روز شکرگزاری در آمریکا بود که مردم خریدهای خود را برای عید کریسمس انجام می‌دادند، اما رقابت بین فروشگاه‌ها به حدی رسید که آنها حراج را از روز پنج شنبه، یعنی روز شکرگزاری آغاز کردند. آن هم به بهانه این که خریداران در ترافیک جمعه سیاه نمانند!

در سال ۲۰۰۹ فروشگاه (Kmart)، حراجی خود را از ساعت ۷ صبح پنجشنبه آغاز کرد. در ادامه فروشگاه‌های دیگری نیز از این تغییر پیروی کردند و در ساعات ۸ و ۹ صبح پنجشنبه، به حراج اجناس خود پرداختند.

Cyber Monday یا Black Friday

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

اما در این میان رفته‌رفته خریدهای اینترنتی جا باز کردند و البته فروشگاه‌های آنلاین نیز در بزرگترین حراجی سال حضور یافتند. چون بسیاری از مردم فرصت ایستادن در صف‌های طولانی را نداشتند و ترجیح می‌دادند که در کنار خانواده خود باشند، به سمت خریدهای اینترنتی بلک فرایدی روی آوردند.

این فروشگاه‌های آنلاین، در روز دوشنبه بعد از روز شکرگزاری (پایان تعطیلات چهار روزه عید)، پیشنهادهای آنلاین جذاب خود را ارائه می‌دادند. کسانی که نتوانسته بودند در بلک فرایدی حضور یابند، شانسی دوباره پیدا می‌کردند تا در این روز که با نام دوشنبه آنلاین یا سایبر ماندی (Cyber Monday) شناخته می‌شود، به خرید بپردازند. در بعضی مواقع این حراجی آنلاین، یک هفته کامل طول می‌کشید.

مزیت‌های خرید آنلاین

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

دلیل دزدی در روز جمعه سیاه چیست ؟

خرید آنلاین از فروشگاه‌ها، برتری‌هایی دارد که می‌توان به موارد زیر اشاره کرد:

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

اولین مرگ در روز جمعه سیاه!

جمعه سیاه چیست ؟

در سال ۲۰۰۸، در منطقه (Valley Stream) نیویورک، حدود ۲۰۰۰ نفر منتظر بودند تا بلک فرایدی شروع شود. کم کم ساعت به ۵ صبح نزدیک ‌شد و مردم نتوانستند پشت درها دوام بیاوردند. در ادامه با هل دادن درهای پاساژ شکست.

سیل خریداران به طرف فروشگاه سرازیر شد و در این بین یکی از کارکنان ۳۴ ساله، زیر پای خریداران افتاد. سایر کارکنان به هیچ روشی نتوانستند جلوی سیل مردم را بگیرند و خریداران نیز صبر نمی‌کردند و در نهایت کارمند فروشگاه جان خود را زیردست و پای مردم از دست داد!

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

برگزاری بلک فرایدی در بعضی از کشورها

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

در ادامه به بررسی بزرگترین حراجی دنیا در کشورهای زیر می‌پردازیم:

  1. آمریکا
  2. بریتانیا
  3. روسیه
  4. فرانسه
  5. کانادا

در انتها نیز برگزاری جمعه سیاه در ایران را بررسی می‌کنیم.

۱. آمریکا

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

  1. فروشگاه‌های خرده‌فروش و نمایندگی‌های برندها
  2. فروشگاه‌های زنجیره‌ای بزرگ
  3. فروشگاه‌های آنلاین

تقریبا تمامی این فروشگاه‌ها در حراج شرکت می‌کنند.

۲. بریتانیا

دلیل حضور پلیس در روز جمعه سیاه چیست ؟

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

در سال ۲۰۱۳، در ابتدا شرکت آسدا (Asda) به فکر برگزاری بلک فرایدی در بریتانیا افتاد و در ادامه فروشگاه‌های آنلاین هم به این موج پیوستند. در این روز مشکلات مختلفی در فروشگاه‌ها اتفاق می‌افتاد که لازم بود نیروهای پلیس، اتفاقات را کنترل کنند. در سال ۲۰۱۵ میزان خرید محصولات از فروشگاه‌های حقیقی و آنلاین، مرز ۲ میلیون پوند را رد کرد. این مساله باعث شد تا بزرگترین حراجی دنیا در بریتانیا لقب پرمنفعت‌ترین روز خرید را از آن خود کند.

۳. روسیه

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

در سال‌های ۲۰۱۰ میلادی بود که بسیاری از مغازه‌دارها مخصوصا فروشگاه‌های لوازم الکترونیکی، در جمعه آخر ماه نوامبر با تخفیف ویژه و تحت عنوان تخفیف پایان سال کالاهای خود را به فروش می‌رساندند.

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

اکنون در روسیه برندها و فروشگاه‌های متعددی در حال فعالیت هستند اما نخستین فروشگاهی که فرهنگ حراج جمعه سیاه را در این کشور به درستی پیاده کرد، فروشگاه آنلاین Promokodabra بود. این فروشگاه کار خود را ابتدا در اتریش آغاز کرده و سپس مدل کسب‌وکار خود را در روسیه نیز پیاده کرد و هم‌اکنون در ۱۲ کشور فعالیت دارد.

۴. فرانسه

فرانسه که پایتخت مد جهان است، تنها از سال ۲۰۱۴ توانست با پدیده بلک فرایدی آشنا شود! تاجران و مغازه داران، به مرور این سنت را در فرانسه جا انداختند. شرکت‌های اپل و آمازون هم در همین سال با تخفیف‌های ۸۵ درصدی مردم را به فروشگاه‌های خود کشاندند.

۵. کانادا

جمعه سیاه چیست و بررسی تاریخچه آن

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

البته این حراجی در کانادا بیشتر به سبک آنلاین رواج پیدا کرده است. این سنت در سال ۲۰۰۸ شروع شد و در ۲۰۱۲ به اوج خود رسید.

جمعه سیاه در ایران

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

به عنوان مثال می‌توان به پیش فروش گوشی ال جی وی ۲۰ در فروشگاه اینترنتی دیجی کالا اشاره کرد؛ تعداد گوشی‌های ارائه شده در مدت چند ساعت به پایان رسیدند. طی دو سال گذشته، فروشگاه‌های آنلاین بزرگی چون دیجی کالا و بامیلو جمعه سیاه را به ایران آوردند. هدف آنها از این کار بهره‌مند کردن مشتریان از تخفیف‌های بزرگی است که برای این روز در نظر گرفته‌ شده است. اما…

بامیلو یا دیجی کالا ؟

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

البته نوع تجارت بامیلو، مارکت پلیس (Marketplace) است و آنها تمامی محصولات و کالاها را در انبار خود نگهداری نمی‌کنند، بیزنس مدلی که دیجی‌کالا به تازگی به آن روی آورده است. اما بامیلو در مدت ۲ سال گذشته توانسته است تا با کمک حامیان و تامین کنندگان، تخفیف‌های شگفت انگیزی اعمال کند و مشتریان را راضی نگه دارد.

جمعه سیاه چیست و چگونه در ایران برگزار می شود؟

در ایران، فروش Black Friday از سال ۲۰۱۶ آغاز شد. نظر سنجی ها نشان می‌دهد که ۳۲ درصد ایرانیان در فروش بلک فرایدی شرکت می کنند. این مقدار حدود ۱۳ درصد بیشتر از سال قبل است.

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

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

نویسنده: Kimberly Cook

مترجم : آزاده رضازاده همدانی

لینک : منبع


امروزه یادگیری عمیق یکی از مطرح ترین و جذاب ترین زیر شاخه های یادگیری ماشین و هوش مصنوعی است که در زمینه هایی از جمله بینایی ماشین, پردازش صوت, اتومبیل های خودران و... کاربرد فراوانی دارد. در این مقاله مروری بر کتابخانه های پرکاربرد و محبوب پایتون در این حوزه خواهیم داشت که شامل معماری های متفاوت یادگیری عمیق از جمله شبکه های عصبی پیش رو, autoencoders, شبکه های عصبی بازگشتی RNNs و شبکه های عصبی کانولوشن CNNs  می باشند.

v     چرا تنها 5 کتابخانه؟

در پایتون کتابخانه های متعددی در زمینه یادگیری عمیق وجود دارد این در حالی است که شما برای یادگیری و کار در این زمینه تنها به تعداد انگشت شماری از این کتابخانه ها احتیاج دارید. پس بهتر است به جای خسته و اشباع کردن ذهن خود با انبوهی از اطلاعات , تنها با کتابخانه های مهم و پرکاربرد آشنا شوید.

v     آیا لزومی بر یادگیری کلیه کتابخانه های زیر است؟

مطمینا خیر! در واقع شما تنها با یادگیری یک یا دو کتابخانه از موارد ذکر شده قادر خواهید بود تا به هر آنچه مدنظر شما است در یادگیری عمیق دست یابید.

v     اسامی کتابخانه های مطرح پایتون در یادگیری عمیق به طور خلاصه به شرح زیر است:

1-     Theano : یک کتابخانه سطح پایین که تخصص اصلی آن انجام محاسبات بهینه و کارا می باشد و در صورتی که به انعطاف پذیری و سفارشی سازی جزیی تری نیاز داشته باشید, می توانید از این کتابخانه استفاده نمایید.

2-     TensorFlow  : یک کتابخانه سطح پایین دیگر که نسبت به Theano  از میزان اهمیت کمتری برخوردار می باشد. توسط شرکت google ارایه و پشتیبانی شده و از امکان پردازش توزیع شده برخوردار می باشد.

3-     Lasagne :  نسخه ای سبک از کتابخانه Theano است  که دشواری های آن را ندارد. به عبارتی گاهی انعطاف پذیری Theano برای شما مطلوب است اما لزومی به ایجاد لایه های شبکه عصبی از ابتدا نمیبینید, پس می توانید در چنین مواردی از این کتابخانه استفاده نمایید.

4-      Keras : نسخه کامل تری از دو کتابخانه Theano و Tensorflow  اما به صورت خلاصه تر, ماژولارتر و به شدت سریعتر ! این کتابخانه یکی از محبوب ترین کتابخانه های پایتون در یادگیری عمیق بوده و نقطه شروع مناسبی برای افراد تازه کار محسوب می شود.

5-     MXNet : کتابخانه سطح بالایی مشابه Keras است که کاربرد اصلی آن در الحاق زبان های متفاوت بود و همچنین از پردازش توزیع شده پشتیبانی می نماید.

در ادامه هر یک از کتابخانه ها بیشتر توضیح داده خواهند شد :

1-     Theano

این کتابخانه به دلیل میزان اهمیت و تاثیر بالا آن در ایجاد سایر کتابخانه های محبوب و موثر پایتون مثل Kerasو Lasagne در این مقاله لقب "مربی" را به خود اختصاص می دهد.  

هسته اصلی این کتابخانه از آرایه های چند بعدی تشکیل شده و کاربرد اصلی آن انجام عملیات ریاضی می باشد. از سرعت بالایی برخوردار بوده و با استفاده از GPU که 140 برابر سریعتر از CPU می باشد , بهینه شده است. به بیان دیگر این کتابخانه سنگ بنای شبکه عصبی بوده و اهمیت نقش آن مشابه کتابخانه Numpy در محاسبات علمی می باشد. اما از این کتابخانه به ندرت به طور مستقیم در کدنویسی استفاده می­شود بلکه معمولا از کتابخانه های سطح بالاتر بهره گرفته شده مگر در مواردی خاص که به تغییرات و سفارشی سازی های سطح پایین نیاز باشد. در لینک های زیر میتوانید اطلاعات بیشتری پیرامون این کتابخانه و مثال های متعددی از جمله تعریف تابع فعالسازی در Theano را کسب نمایید.

http://deeplearning.net/software/theano/index.html

http://www.marekrei.com/blog/theano-tutorial

2-     TensorFlow

اولین بار توسط تیم هوش مصنوعی Google ارایه شده و اخیرا به صورت متن باز در اختیار عموم قرار گرفته است. در این کتابخانه محاسبات عددی به کمک گرافهای جریان داده انجام می شود. اما لازم بذکر است کتابخانه Theano در مقایسه با این کتابخانه سریعتر بوده و از عملیات بیشتری پشتیبانی می نماید.

 از جمله مزایای این کتابخانه می توان : پشتیبانی شرکت قدرتمند گوگل و برخورداری از ویژگی محاسبات توزیع شده که امکان آموزش شبکه های عصبی را بر روی چندین GPU آسانتر می کند, نام برد. برای کسب اطلاعات بیشتر میتوانید به لینک های زیر مراجعه نمایید:

https://www.tensorflow.org

http://learningtensorflow.com

3-    Lasagne

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

https://lasagne.readthedocs.io/en/latest

http://katbailey.github.io/post/neural-nets-in-python

 

4-     Keras

به 3 دلیل این کتابخانه یکی از کتابخانه های محبوب پایتون در یادگیری عمیق است :

·         این کتابخانه نسخه سبک تری از دو کتابخانه مطرح Theano و TensorFlow است که به راحتی و بر حسب نوع پروژه خود می توانید بین یکی از این دو سوییچ کنید.

·         خصوصیاتی از جمله : ماژولاریتی , خلاصه بودن, قابلیت توسعه , .. باعث شده است که کار با این کتابخانه آسان و لذت بخش باشد.

·         وجود شبکه های عصبی معمول و متعارف دراین کتابخانه که امکان اجرای آسان و سریع آنها  را فراهم آورده است. به طور مثال به آسانی می توان با استفاده از این کتابخانه, یک شبکه عصبی کانولوشن را ایجاد و اجرا نمود.

Keras کتابخانه ی سریع برای انجام آزمایشات می باشد اما در حال حاضر, این کتابخانه قادر به اجرا بر روی محیط­های دارای چندین GPU به منظور آموزش موازی شبکه نمی باشد, که این امر یک نقطه ضعف برای Keras محسوب می شود.

https://keras.io/

https://github.com/fastforwardlabs/keras-hello-world/blob/master/kerashelloworld.ipynb

 

5-     MXNet

این کتابخانه نیز مشابه keras یک کتابخانه سطح بالا محسوب شده و امکان الحاق 7 زبان متفاوت از جمله C++, ,R ,Python ,javascript Matlab  را فراهم می آورد و گزینه مناسبی برای کارهای گروهی محسوب میشود. هچنین مزیت مهم این کتابخانه , امکان آموزش شبکه به صورت توزیع شده و با استفاده از چندین GPU و CPU است.

اما لازم به ذکر است ایجاد شبکه عصبی در این کتابخانه در مقایسه با keras بدلیل کمبود منابع  آموزشی لازم , کاری بسیار دشوار و زمانبر است.

http://mxnet.io

https://indico.io/blog/getting-started-with-mxnet

✍️  به نکات زیر توجه کنید :


▪️دو بخشی که کادری به رنگ آبی دارد، باید آدرس ایمیل و رمز خودتان را وارد کنید. و در بخش To آدرس ایمیل گیرنده را وارد کنید.


▪️از طریق این لینک  وضعیت less secure apps را به ON تغییر دهید. تا گوگل به شما اجازه ورود به حسابتان را دهد.


برای مشاهده تصاویر در اندازه اصلی روی عکس کلیک کنید.

نویسنده : Robert Carver

مترجم : آزاده رضازاده همدانی

امروزه برنامه نویسی پایتون یکی از پرتقاضاترین شغل ها در صنعت بانکداری و بیمه محسوب می شود.خوشبختانه فراگیری زبان پایتون بسیار اسان بوده به گونه ای که در مدارس ابتدایی انگلستان برای آموزش مفاهیم پایه برنامه نویسی از این زبان استفاده می­شود. اگر هدف شما از یادگیری پایتون ورود به دنیای سرمایه گذاری و اقتصاد است , بهتر است قبل از شروع چندین نکته را بدانید:

1-    کدام نسخه پایتون مناسب شما است؟ پایتون 2  یا پایتون 3 ؟

معمولا نسخه های جدید یک زبان, علاوه بر دارا بودن امکاناتی جدید, از نسخه های قدیمی نیز پشتیبانی می کنند. این بدین معنی است که با ارتقاء نسخه, همچنان کدهای قبلی نوشته شده قابل اجرا هستند. اما این قانون در مورد پایتون 3 برقرار نیست. بعبارتی پایتون 3 هرگز قادر به پشتیبانی برنامه های نوشته شده با پایتون 2 نمی باشد.  به همین دلیل پس از حدود 10 سال که از ارایه نسخه 3 پایتون می گذرد, نسخه 2 همچنان پشتیبانی می شود. البته ارایه نسخه جدید برای پایتون 2 متوقف شده است. ولی همچنان بطور گسترده در صنعت تجارت و امور مالی و اقتصادی کاربرد دارد.

این امر واضح است که انتخاب نسخه های جدید پایتون 3 و بهره گیری از امکانات جدید آن,  به پیشبرد پروژه های جدید کمک بیشتر خواهد کرد اما گاهی ممکن است در شرایط کاری قرار بگیرید که مجبور به کار با پایتون 2 باشید.پس بهتر است خود را از هم اکنون برای کار با هر نسخه پایتون آماده کنید.

 

2-    کتابخانه های موردنیاز

هسته اصلی پایتون بسیار سبک است بنابراین برای هر هدف و منظوری که دارید باید ابتدا کتابخانه مربود به آن را به هسته اصلی اضافه نمایید. این کتابخانه ها , توابعی را برای اجرای عملیات محاسبات ریاضی, کار با تقویم, کار با داده ها و یا انجام کارهای سیستمی در اختیار شما قرار می دهند.

برای استفاده از پایتون در پروژه های مالی ,  شما به کتابخانه های : numpy (برای کار با آرایه های بزرگ و عملیات مربوط بر روی آنها) , Scipy ( عملیات آماری و توابع ریاضی پیشرفته) , matplotlib (نمایش داده)   نیاز دارید. همچنین به منظور کار های پیچیده تر به کتابخانه های tensorflow( برای بکارگیری الگوریتم های یادگیری ماشین) , pandas ( برای کار با داده ها) و کتابخانه pedigree که توسط شرکت بزرگ AQR پیاده سازی شده است نیاز خواهید داشت.

لازم بذکر است که میتوان از نرم افزار anaconda برای نصب پایتون و هر یک از کتابخانه های دلخواه بهره گرفت.

3-    چگونه میتوان مشکل سرعت را در پایتون حل کرد؟

ممکن است برنامه نویسانی که با زبان هایی مثل c,c++ , Java و ... کار کرده باشند , پایتون را کندتر بدانند هرچند که پایتون در مقایسه با سایر زبانهای محاسباتی مثل Matlab و R از سرعت بالاتری برخوردار می باشد. عموما برنامه نویسان از اغراق در مورد سرعت کدهای ود و کارایی آن لذت می برند اما در واقع بسیاری از کدها چندان ضرورتی برای اجرای سریع ندارند. پایتون در شرایطی که مجبور به اجرای عملیات تکراری بر روی مجموعه داده های بزرگ باشد , بسیار کند و آهسته عمل می کند.

خوشبختانه برای این مشکل یک راه خوب وجود دارد. شما به راحتی می توانید کدهای نوشته شده به زبان های c و c++ را در پایتون جایگذاری نموده و از سرعت و کارایی آنها بهره مند شوید. پس حتما نحوه انجام این کار را فرا بگیرید!

 

4-    پایتون قابلیت کار با داده های حجیم را دارد

شرکت های سرمایه گداری و مالی بزرگ, این روزها به دنبال استفاده از آخرین تکنولوژی های روز دنیا هستند که با منابع جدید داده در ارتباط می باشند. نکته مشترک کلیه منابع داده, حجیم و بزرگ بودن آنهاست. به طور مثال برای استفاده از داده های twitter برای پیش بینی تمایلات بازار , ایده بسیار خوبی است. اما روزانه حدود 500 میلیون توییت جدید تولید می شود که دخیره سازی , پردازش و تحلیل این حجم عظیم داده , فرایندی بسیار پیچیده می باشد.

خوشبختانه پایتون با استفاده از کتابخانه های spark و Hadoop با این قضیه کنار آمده است . واسط های کاربری نیز برای ارتباط پایتون با پایگاه داده هایی غیر از SQL مثل MongoDB و یا ارتباط با provider های فضای ابری پیاده سازی شده اند.

 

5-    از GIL نترسید!

GIL مخفف عبارت Global Interpreter Lock مکانیزمی است که مفسرهای زبان های برنامه نویسی از آن برای همگام سازی thread ها استفاده می کنند . به عبارتی مفسری  که از GIL استفاده می کند تنها در هر لحظه قادر به اجرای یک Thread بر روی پردازنده خواهد بود حتی اگر پردازنده دارای امکانات پردازش چند هسته ای باشد! این ویژگی از دید مخالفان پایتون بسیار مورد نقد واقع شده است. زیرا اجرای تنها یک Thread  در هر لحظه باعث کاهش سرعت اجرا و عدم بهره وری کامل از پردازنده های چندهسته ای می شود.  در واقعیت, چون برنامه ها زمان بسیاری را صرف اتلاف وقت برای وروودی و خروجی می کنند , استفاده از مکانیزم GIL به ندرت ایجاد مشکل می کند. هرچند که عملیات محاسباتی حساس و عظیم می تواند توسط این مکانیزم تحت تاثیر قرار بگیرد. اما باید در نظر گرفت که اجرای چنین عملیاتی بر روی سیستم های رومیزی و لپ تاپ منطقی نبوده و نوعی خودآزاری محسوب می شود! پس به عنوان راه حل می توان کدهای پیچیده خود را به طور موازی بر روی پردازنده های موجود در فضای ابری اجرا نمود.

 

در انتها شاید جالب باشد بدانید که نویسنده مقاله فوق آقای Robert Carver مدیر سابق شرکت بیمه AHL  و نویسنده کتاب های Systematic Trading و Smart Portfolios از حدود 7 سالگی شروع به یادگیری زبان های برنامه نویسی کرده است و زبان های بسیاری را آموخته اما زبانی که هر روز با آن برنامه نویسی می کند , پایتون است!


منبع (+)

مترجم : آزاده رضازاده همدانی

ویدئوهای آموزش یادگیری ماشین یا پایتون [کلیک کنید]

در دنباله آموزش­های یادگیری ماشین, مثال رگرسیون بر روی داده­های ارزش سهام را ادامه می­دهیم: کدهایی که در مرحله قبل نوشتیم به صورت زیر است:

در ادامه باید تعدادی از کتابخانه­ها را import کنیم:

·         numpy: داده ها را به آرایه ( numpy Array ) تبدیل کرده تا بتوان آنها را در اختیار scikit-learn قرار داد.

·         ماژول پیش پردازش Preprocessing و اعتبارسنجی CrossValidation: که بیشتر در طول کدنویسی در مورد آنها توضیح خواهیم داد. اما به طور خلاصه کافی است بدانید که پیش پردازش, مرحله پاکسازی و مقیاس بندی داده­ها قبل از شروع عملیات یادگیری ماشین و اعتبار سنجی فاز آزمایش نتایج حاصل از اجرای الگوریتم یادگیری ماشین است.

·         الگوریتم linear Regression : همان الگوریتم رگرسیون خطی است.

·         Svm: الگوریتم یادگیری ماشین به کار رفته برای نمایش نتایج

تا این مرحله داده­های سودمند را دریافت کرده­ایم اما واقعا یادگیری ماشین چگونه کار میکند؟ در یادگیری بانظارت, مجموعه­ای از ویژگی­ها Features و برچسب­ها Labels را داریم. ویژگی­ها, خصوصیات توصیفی هر نمونه و برچسب, کلاسی است که در واقع نمونه به آن تعلق دارد و قرار است توسط یادگیری ماشین, پیش­بینی شود.  یکی از مثال­های رایج در رگرسیون, پیش­ بینی ارزش حق بیمه اشخاص است. شرکت بیمه اطلاعاتی از جمله سن, سوابق تخلفات رانندگی, سوابق سوء پیشینه و میزان اعتبار بانکی شخص را جمع آوری میکند. البته این داده­ها را از طریق اطلاعات مشتریان گذشته دریافت کرده تا حق بیمه مطلوب را پیش بینی نماید. در این مثال مشخصات هر مشتری به عنوان ویژگی­ها و حق بیمه به عنوان برچسب مرتبط با هر مشتری در نطر گرفته می­شود.

در مورد مثال بالا ویژگی­ها و برچسب چگونه تعیین می­شود؟ از آنجایی که هدف پیش بینی قیمت است آیا قیمت به عنوان برچسب در نطر گرفته می­شود؟ ویژگی­ها چطور؟ ویژگی­ها عبارتند از : قیمت فعلی, درصد high-low و درصد نوسانات تغییرات. قیمت آینده Future price به عنوان برچسب در این مثال در نظر گرفته می­شود.

حال کمی جلوتر برویم و خطوطی جدید را اضافه نماییم:

در اینجا ابتدا ستونی را به عنوان ستون پیش بینی(forecast_col) تعیین می­کنیم. سپس کلیه مقادیر نامعتبر NAN(not a number) را با مقدار99999-  جایگزین می­نماییم. از آنجایی که نمیتوان یک داده ناقص با مقادیر نامعتبر را به دسته­بند یادگیری ماشین ارسال کرد لذا راهکار­های متعددی برای حذف داده­های ناقص وجود دارد. از جمله: جایگزینی مقادیر نامعتبر با مقدار 99999-  که داده را به منزله یک داده پرت تلقی می­کند. و همچنین حذف کلیه داده­های ناقص. اما این کار احتمال از دست دادن حجم عطیمی از اطلاعات مفید را ایجاد می­کند.

بر خلاف مجموعه داده مربوط به ارزش و تعداد سهام که شامل داده­های کامل و بدون نقصی می­باشد, مجموعه داده­های دنیای واقعی بسیار ناقص و نامعتبر و یا به اصطلاح کثیف Messy می­باشند. اما شما لزوما نیازی به تضمین صحت همه داده­ها نخواهید داشت و حتی میتوانید شرط ببندید که داده­های واقعی مورد استفاده در الگوریتم یادگیری ماشین حتما دارای نقص­هایی می­باشند. بنابراین باید مراحل آموزش و آزمایش نتایج را به ظور زنده بر روی داده­های واقعی یکسان با تمام ویژگی­های آنها انجام داد.

در نهایت تعداد مواردی که میخواهیم پیش­بینی کنیم تعیین می­شود (forecast_out) .در بسیاری موارد به طور مثال پیش بینی حق بیمه, "در همان لحظه", تنها به یک عدد نیاز داریم درحالی که اصولا بدنبال پیش­بینی تعداد مشخصی از داده­ها هستیم.  معمولا هدف, پیش بینی %1  تعداد کل رکورد­های موجود در دیتاست در آینده است. این بدین معنی است که مثلا با داشتن 100 روز ارزش سهام ,هدف, پیش بینی ارزش سهام در یک روز آینده است. پس آنچه ا که می­خواهید, مشخص کنید! اگر تمایل به پیش بینی قیمت فردا را دارید مقدار forecast-out=1 خواهد بود. و اگر مقدار forecast-out=10 باشد یعنی شما قابلیت پیش بینی قیمتها تا ده روزآینده (یک هفته و نیم آینده) را خواهید داشت.

در مثال اولیه مجموعه ای از مقادیر فعلی را به عنوان ویژگی و قیمت آینده (منظور از آینده %1  تعداد داده­های موجود در دیتاست می­باشد )را به عنوان برچسب در نظر گرفتیم. از آنجایی که همه ستون­های فعلی را به عنوان ویژگی در نظر گرفته ایم لذا با یک عملیات ساده موجود در کتابخانه pandas , ستونی جدید برای برچسب ایجاد می نماییم.

تا اینجا ویژگی­ها و برچسب همه نمونه ­ها  معین گردید. در مرحله بعد پس از انجام عملیات پیش پردازش , نمونه ­ها در اختیار الگوریتم رگرسیون قرار خواهند گرفت که در بخش های آینده پیرامون آن صحبت خواهد شد.


مترجم : آزاده رضازاده همدانی

ویدئوهای آموزش یادگیری ماشین یا پایتون [کلیک کنید]


پیشنیاز : Scikit-learnو Pandas, matplotlib

(اگر نسخه علمی  از پیش کامپایل شده پایتون مثل ACtivePython را ذز اختیار دارید پس نیازی به نصب کتابخانه­های numpy,Scipy,Scikit-learn,Matplotlib,pandas نیست در غیر این صورت آنها را به صورت جداگانه نصب نمایید)

همچنین علاوه بر نصب کتابخانه­های فوق , کتابخانه quandl  را نیز نصب نمایید. (به qو یا Q هنگام import کتابخانه quandl توجه نمایید!!)

منظور از رگرسیون در یادگیری ماشین چیست؟ هدف در رگرسیون : دریافت داده­های پیوسته, پیداکردن متناسب ترین معادله برای داده­ها , و سپس پیش بینی مقدار جدید برحسب معادله بدست آمده. به طور مثال در رگرسیون خطی تنها باید بهترین معادله خط را مطابق شکل زیر پیدا نمود:

با داشتن معادله خط میتوان داده­های جدیدی که درآینده دریافت می­شوند را تخمین و پیش بینی نمود. به طور مثال فرض کنید در شکل بالا محور افقی نشاندهنده زمان (تاریخ) و محور Y عمودی نشان دهنده قیمت باشد. بنابراین با داشتن معادله خط می­توان قیمتها را در اینده پیش بینی نمود.

یکی از کاربردهای مرسوم رگرسیون پیش بینی ارزش سهام است بدین صورت که بادرنظر گرفتن روندو جریان قیمت در طول زمان , و با داشتن مجموعه داده­های پیوسته, ارزش روند جدید سهام در آینده پیش بینی میشود.

رگرسیون نوعی یادگیری ماشین با ناظر است. در این حالت فرد خبره(محقق) بارها و بارها نمونه­ها و ویژگی­ها را در اختیار ماشین قرار داده سپس برچسب کلاس دسته بندی صحیح هریک, را نیز در اختیار آن قرار می­دهد تا بدین ترتیب ماشین پروسه دسته­بندی را فرابگیرد. پس از آن که ماشین آموزش داده شد, نوبت به مرحله آزمایش (تست) ماشین می­رسد. بدین صورت که نمونه­های دیده نشده ای که برچسب کلاس آن برای فرد خبره معلوم اما برای ماشین نامعلوم و نامشخص است در اختیار ماشین قرار داه می­شود.پاسخهای حاصل از تشخیص ماشین با پاسخ­های اصلی درست مقایسه شده و میزان صحت ماشین اندازه­گیری می­شود.اگر صحت به اندازه کافی بالا باشد محقق میتواند این الگوریتم را بر روی داده­های واقعی اعمال نماید.

از آنجایی که مثال پرکاربرد رگرسیون, پیش بینی ارزش سهام است پس می­توان با مثال زیر شروع کرد:

در ابتدا به داده احتیاج داریم. گاهی اوقات بدست آوردن این داده­ها کار آسانی است اما گاهی باید اطلاعات مدنظر خود را از بین داده­های موجود بیرون کشید مشابه کاری که در این مثال انجام شده است:  

در اینجا از اطلاعات ساده موجود پیرامون ارزش و تعداد سهام در کتابخانه Quandle استفاده خواهیم کرد که قبلا توسط google جمع آوری شده است.

در متن بالا Q در کلمهQuandle  باید با حروف کوچک نوشته شود.

در حال حاضر این اطلاعات در اختیار ماست: همانطور که مشاهده می­کنید حجم آنها برای شروع کمی زیاد است.

همانطور که قبلا در مقدمه هم توضیح داده شد, در یادگیری ماشین بخشی وجود دارد که هدف آن کاهش میزان داده­های ورودی است. در این مثال خاص چند ستون داریم که بسیاری ازآنها زاید و تکراری بوده و تنها یک زوج از آنها ثابت بوده و تغییر نمیکند. احتمالا همه با این موضوع موافقیم که داشتن همزمان داده های Regular و داده­های Adjusted امر مطلوبی نیست. ستون­­های Adjasted مطلوبترین اطلاعات را در اختیار ما قرار می­دهند در حالی که ستونهای regular حاوی اطلاعات روزانه بوده که شاید خیلی مفید نباشند. مثلا سهام دارای بخشی به نام stock splits(تقسیم سهام) میباشد که ممکن است یک سهم به 2 سهم تقسیم شود و ارزش سهام نصف شده در حالی که ارزش آن شرکت نصف نشود. ستون­های adjusted به مرور و در گذر زمان برای stock splits تنظیم می­شوند از اینرو به منظور تحلیل داده­ها بسیار قابل اعتمادتر هستند. حالا بهتر است کمی پیش برویم و نمونه کوچکی از داده ها را دقیق تر بررسی کنیم:

دراینجا فقط ستون­های adjusted و همچنین ستون volume (تعداد سهام )راداریم. لازم است پیرامون نکاتی مهم بحث شود:

·         آیا این که افراد تصور میکنند که یادگیری ماشین قادر به خلق اطلاعات از هیچ است صحیح می­باشد؟ خیر در واقع باید اطلاعاتی حتما موجود باشد تا یادگیری ماشین بتواند آن را برجسته و مشخص نماید.

·         شما به داده های با معنی احتیاج دارید. حال چگونه متوجه خواهید شد که این داده­ها با معنی هستند یا خیر؟ بهترین پاسخ برای این سوال این است که از فکر و مغز خود استفاده کنید و در مورد آن فکر کنید.

·         آیا قیمت­های گدشته نشان­دهنده قیمتهای آینده هستند؟ بعضی از افراد اینگونه فکر میکنند اما در گذر زمان  ثابت شده است که این تصور اشتباه است.

·         الگو­های گذشته چطور؟ آیا در پیش­بینی آینده موثر هستند؟ این نظریه تا حدودی می­تواند خوب باشد اما در کل هنوز ضعیف است.

·         در راستای بررسی الگوهای گدشته, آیا بررسی روابط بین تغییرات ارزش سهام و تعداد سهام (volume) در طول زمان به پیش­بینی ارزش سهام در آینده کمک خواهد کرد؟بله این دیدگاه تا حدودی نسبت به نظرات قبلی بهتر شده است.

پس همانطور که می­بینید داشتن داده بیشتر به منزله بهتر بودن داده نیست و هدف در یادگیری ماشین کسب مفیدترین داده­ها می­باشد. بدین منظور گاهی نیازاست تاتغییراتی بر روی اطلاعات خام اولیه صورت پذیرد.

میزان نوسانات روزانه مثلا کمترین تغییرات رادر نطر بگیرید. به نظر شما بهتر است داده ها به سادگی مطرح شده (Open, High, Low, Close)و یا به صورت نوسانات و درصد تغییرات( Close, Spread/Volatility, %change )؟ تصور من این است درصد تغییرات اطلاعات مفیدتری را به ما می­دهد.

بنابراین همانگونه که تاکنون مشاهده کردید همه داده­های موجود اطلاعات مفیذی را در اختیار شما قرار نمیدهند, بلکه باید قبل از در اختیار گذاشتن داده ها به صورت ورودی الگوریتم یادگیری ماشین, تغییراتی را بر روی آنها انجام دهید.

در این بخش مقدار (high-low)/low*100 محاسبه می­شودکه نشان­دهنده درصد انتشار بر اساس ارزش close  بوده و میزان نوسانات را اندازه­گیری می­کند:

در انتها درصد تغییرات روزانه محاسبه می­شود:

و چهار ستون زیر نمایش داده می­شود:

 


مترجم : آزاده رضازاده همدانی


مقدمه :

به فرایند استخراج دانش  و دریافت درک, از بین حجم عظیم و متنوعی از داده­ها با سازماندهی , پردازش وتحلیل داده­ها , علوم داده می­گویند. علوم داده شامل تخصص­های متنوعی از جمله مدل­سازی ریاضی و آماری, استخراج داده­ها از منبع و همچنین بهره­گیری از تکنیک­های نمایش و بصری سازی داده­ها و همچنین شامل روش­های مدیریت داده­های حجیم به منظور استخراج داده­ها ی ساخت­یافته و ساخت نیافته می­باشد. در ادامه چند نمونه از کاربردهای علوم داده را خواهیم دید:

سیستم­های پیشنهاددهنده :

از آنجایی که خرید و فروش اینترنتی امروزه بسیار رایج و همه­گیر شده است, سیستم­های تجارت الکترونیک قادر به دریافت سلایق و اولویت­های خرید کاربران و همچنین ارایه محصولات متنوع در بازار می­باشند.این امر منجر به ساخت سیستم­های پیشننهاددهنده ای می­شودکه قادر به ایجاد مدل­ها یپیش بینی نیاز خریداران و نمایش محصولاتی است که خریدار با احتمال بیشتری آنها را خریداری می نماید.

مدیریت ریسک مالی:

تحلیل بهتر ریسک مالی شامل وام­ها و اعتبارات توسط بررسی عادات پرداخی مشتریان در گدشته, پیش فرض های گدشته, تعهدات مالی و بسیاری از شاخص های اقتصادی اجتماعی انجام می­شود. داده­ها از منابع متنوع و به فرمت­های متفاوت گرداوری می­شوند. سازماندهی این اطلاعات در کنار هم و بدست آوردن درک و بینشی درست از مشخصات مشتری­ها تنها به کمک علوم داده قابل انجام است. هدف از مدیریت ریسک مالی, به حداقل رساندن ضرر وارده ناشی از بدهی های بد به سازمان می­باشد.

بهبود خدمات بهداشت و درمان

صنعت بهداشت و درمان با طبف وسیعی از داده­ها که میتوانند به صورت داده­های تخصصی , داده­های مالی, اطلاعات بیمار, اطلاعات دارو و قواعد و مقررات سروکار دارد. تمامی این داده­ها میتوانند به صورتی هماهنگ برای تولید یک دیدگاه که بتواند هم در هزینه های خدمات دهنده و هم خدمات گیرنده صرقه­جویی نماید, تحلیل شوند.

بینایی ماشین

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

مدیریت بهینه انرژی

همانگونه که میزان تقاضا برای مصرف انرژی رو به افزایش است, شرکنت­های تولید کننده انرژی بیشتر نیاز خود را به روش­های مدیریت تولید و توزیع بهینه انرژی احساس می­کنند. بدین منظور از روش­های بهینه­سازی تولید, ذخیره و توزع انرژی در کنار مطالعه الگوهای مصرف مشترین بهره می­گیرند. برقراری ارتباط بین داده­های حاصل از این منابع و دریافت درک درستی از آنها شاید کاری بسیار دشوار باشد که البته به کمک ابزار­های علوم داده قابل انجام است.

مترجم : آزاده رضازاده همدانی

برنامه نویسی در حوزه علوم داده, به یک زبان منعطف اما همه جانبه نیاز دارد تا در حین کدنویسی آسان, قدرت پردازش محاسبات پیچیده ریاضی را داشته باشد. پایتون مناسب­ترین زبان برای برآورده کردن نیاز­های فوق الذکر می­باشد زیرا تا کنون توانایی­های خود را علاوه بر برنامه نویسی همگانی در برنامه نویسی علمی و تخصصی نیز به اثبات رسانیده است. علاوه بر آن به طور مداوم کتابخانه­های خود را به منظور برطرف کردن نیازهای برنامه نویسی ارتقا می­دهد. در ادامه پیرامون تعدادی از ویژگی­های پایتون که آن را به زبان محبوب در حوزه علوم داده تبدیل کرده است صحبت می­شود:

·        یک زبان برنامه نویسی ساده و در عین حال با امکان یادگیری راحت که درمقایسه با زبان­های مشابه مانند R به تولید خطوط کد کمتر برای تولید نتیجه نیازمند است. سادگی این زبان برنامه نویسی باعث می­شود تا قادر باشد مسایل پیچیده را با کمترین میزان کد و همچنین کمترین اشفتگی و بهم ریختگی در روند برنامه اجرا نماید.

·        یک کد یکسان در محیط های متنوع برنامه نویسی بدون هیچگونه تغییری قابل اجرا است.

·        در مقایسه با سایر زبان­های برنامه نویسی تحلیل داده ازجمله R و MAtlab از سرعت بالاتری برخوردار است.

·        توانایی بالای آن در مدیریت حافظه مخصوصا garbage collection این امکان را ایجاد نموده است که به ابزاری قدرتمند در زمینه تبدیل, قطعه بندی, بصری سازی,.. داده­های حجیم مبدل شود.

·        زبان پایتون شامل مجموعه عظیمی از کتابخانه های موردنیاز تحلیل داده را دارا می­باشد.به طور مثال آررایه موجود در کتابخانه  NUMPY در محاسبات علمی به حافظه کمتری نسبت به داده list که برای نگهداری دادهای عددی در پایتون تعریف شده است, نیازمند است.

·        در پایتون package هایی وجود دارد که امکان اجرای کدهایی به زبان C و یا Java را می­دهد. که این امر باعث کاراتر شدن کد و استفاده از سایر کدهای موجود در سایر زبانها می-باشد.

در بخش­های بعدی چگونگی استفاده از ویژگیهای پایتون را در حل مسایل متفاوت در حوزه علوم داده مشاهده خواهید نمود.