علم داده

اينجا قراره ياد بگيريم چطور برنامه نويسي رو شروع كنيم

معرفي ديتاست هاي عمومي و رايگان براي پروژه هاي علم داده-قسمت اول

در مسير تبديل شدن به يك دانشمند داده (data scientist) اولين قدم يافتن يك مجموعه داده مناسب براي تجزيه و تحليل داده هاست. در طول اين مسير شما بايد تصميم بگيريد مجموعه داده در چه حوزه اي نياز داريد و ميخواهيد اين مجموعه داده چقدر بزرگ و نامرتب باشد. مرحله تميز كردن داده ها (data cleaning) جزئي جدايي ناپذير از علم داده است اما ممكن است تصميم شما براي اولين پروژه ها اين باشد كه به جاي تميز كردن داده ها، روي تجزيه و تحليل آن ها تمركز كنيد.

در اين پست مجموعه داده هايي از انواع مختلف و پيچيدگي هاي گوناگون معرفي مي كنيم كه به نظر ميرسد براي پروژه هاي اول خوب كار مي كنند. اين مجموعه داده ها منابع مختلفي را پوشش مي دهند مانند داده هاي جمعيت شناختي، داده هاي اقتصادي، داده هاي متني و داده هاي شركتي

 

ديتاست مجموعه داده داده كاوي

 

  1. داده هاي سرشماري ايالات متحده

اداره سرشماري ايالات متحده مجموعه اطلاعات دموگرافيك را در سطح ايالت ، شهر و حتي كد پستي منتشر مي كند. اين مجموعه داده يك مجموعه خارق العاده براي دانشجويان علاقه مند به ايجاد تجسم داده هاي جغرافيايي است و از طريق وب سايت اداره سرشماري و همچنين از طريق API قابل دسترسي است. به طور كلي اين داده ها بسيار تميز و جامع هستند و به اين دليل كه نياز به تميز كردن دستي آن ها وجود ندارد، براي پروژه هاي تجسم داده انتخاب خوبي هستند.

 

  1. اطلاعات جرم FBI

داده هاي جرايم FBI يكي از جذاب ترين مجموعه هاي داده در اين ليست است. اگر به تجزيه و تحليل داده هاي سري زماني علاقه داريد، مي توانيد از آنها براي ترسيم تغييرات در ميزان جرم در سطح كشور طي يك دوره 20 ساله استفاده كنيد. همچنين مي توانيد از نظر جغرافيايي به داده ها نگاه كنيد.

 

  1. علت مرگ

مراكز كنترل و پيشگيري از بيماري ها يك پايگاه داده در مورد علت مرگ نگهداري مي كنند. داده ها را مي توان تقريباً از هر لحاظ تقسيم بندي كرد: سن ، نژاد ، سال و غيره. از آنجا كه اين مجموعه داده بسيار گسترده است ، استفاده از آن براي پروژه هاي پردازش داده خوب است.

 

  1. كيفيت بيمارستان ها

مركز خدمات پزشكي يك پايگاه داده در مورد كيفيت مراقبت در بيش از 4000 بيمارستان داراي گواهي مديكر در سراسر ايالات متحده را نگهداري مي كند و مقايسه هاي جالبي ارائه مي دهد. از آنجا كه اين داده ها در چندين پرونده پخش مي شود و درك كامل آن ممكن است به كمي تحقيق نياز داشته باشد، مي تواند يك پروژه تميز كردن داده ها باشد.

 

  1. داده هاي مربوط به سرطان

دولت ايالات متحده داده هايي در مورد بروز سرطان دارد كه باز هم بر اساس سن ، نژاد ، جنس ، سال و ساير عوامل تقسيم مي شود. اين مجموعه داده از برنامه نظارت ، اپيدميولوژي و نتايج نهايي موسسه ملي سرطان به دست آمده است. داده ها به سال 1975 برمي گردند و 18 پايگاه داده دارند ، بنابراين گزينه هاي زيادي براي تجزيه و تحليل خواهند داشت.

 

  1. اداره آمار كار

بسياري از شاخص هاي مهم اقتصادي براي ايالات متحده (مانند بيكاري و تورم) را مي توان در وب سايت Bureau of Statistics Statistics يافت. بيشتر داده ها را مي توان هم از نظر زمان و هم از نظر جغرافيايي تقسيم بندي و براي پروژه هاي پردازش داده و تجسم داده استفاده كرد.

 

ديتاست علم داده داده كاوي

 

  1. دفتر تحليل اقتصادي

دفتر تحليل اقتصادي داراي داده هاي اقتصادي ملي و منطقه اي از جمله توليد ناخالص داخلي و نرخ ارز است. محدوده عظيمي در گروههاي مختلف داده وجود دارد كه مي توان براساس مكان ، حساب هاي اقتصادي و موضوعات فهرست كرد. اين گروه ها در زيرمجموعه هاي حتي كوچكتر نيز سازمان يافته اند.

 

  1. اطلاعات اقتصادي صندوق بين المللي پول

چند مجموعه داده مختلف در حوزه آمار اقتصادي جهاني در سايت صندوق بين المللي پول وجود دارد كه مي توان از آن براي طيف گسترده اي از پروژه ها مانند تجسم يا حتي تميز كردن داده ها استفاده كرد.

 

  1. پيش بيني شاخص هاي سهام

پيش بيني قيمت سهام عمده ترين كاربرد تجزيه و تحليل داده ها و يادگيري ماشين است. يك مجموعه داده مرتبط براي كاوش بازده هفتگي شاخص داو جونز توسط مركز سيستم هاي يادگيري ماشين در دانشگاه كاليفرنيا منتشر شده است. اين يكي از مجموعه هايي است كه مخصوص پروژه هاي يادگيري ماشين ساخته شده است.

 

  1. داده هاي دولت انگليس

در پورتال رسمي داده هاي دولت انگليس ده ها هزار مجموعه داده در موضوعاتي مانند جرم، تحصيلات، حمل و نقل و بهداشت موجود است. از آنجا كه اين مجموعه داده يك منبع داده باز با ميليون ها ورودي است، شما قادر خواهيد بود تميز كردن داده ها را در گروه هاي مختلف تمرين كنيد.

 

ديتاست مجموعه داده رايگان عمومي

 

  1. ايميل هاي شركت آمريكايي Enron

پس از فروپاشي Enron يك مجموعه داده رايگان از تقريباً پانصد هزار ايميل با متن پيام و فراداده منتشر شد. اين مجموعه داده اكنون مشهور است و يك زمينه آزمايش عالي براي تجزيه و تحليل مرتبط با متن فراهم مي كند. همچنين مي توانيد ساير كاربردهاي تحقيقاتي اين مجموعه داده را از طريق صفحه اين شركت جستجو كنيد.

پايتون بهتر است يا R ؟ كدام زبان برنامه نويسي براي ورود به دنياي علم داده مناسب تر است؟

اين روزها علم داده يا data science طرفدارهاي بسيار زيادي پيدا كرده و به سرعت در حال گسترش است. اما سوالي كه براي بسياري از برنامه نويسان مطرح مي شود اين است كه كدام زبان برنامه نويسي براي اين كار بهتر است؟ قبل از اينكه در مورد زبان هاي برنامه نويسي صحبت كنيم، بهتر است كمي بيشتر در مورد خود علم داده اطلاع پيدا كنيم.

 

علم داده يا data science چيست؟

اگر در محيط وب جستجويي در مورد علم داده داشته باشيد حتما با دنيايي از مقالات طولاني و پيچيده مواجه مي شويد اما ما فقط يك جمله براي تعريف آن بيان مي كنيم. علم داده هنر جمع آوري، اندازه گيري، ارزيابي، مرتب سازي و آناليز مجموعه داده (data set) است. اين مجموعه داده مي تواند بسيار كوچك مثلا در حد شناسايي افراد بازديدكننده از سايت شما در يك بازه زماني خاص باشد يا داده هاي بسيار زيادي را شامل شود مثل بررسي وضعيت هزاران سنسور هوشمند در سراسر يك منطقه.

علم داده سال هاي زيادي است كه پديد آمده ولي نوآوري در زبان هاي برنامه نويسي مانند پايتون و R باعث گسترش قابليت هاي آن در استفاده از نرم افزارهاي گوناگون شده و سرعت جمع آوري ، ارزيابي و آناليز داده ها را به طور چشمگيري افزايش داده است.

 

علم داده data science

 

خب تا اينجا درمورد علم داده صحبت كرديم. در ادامه اين مطلب قصد داريم زبان هاي پايتون و R را از جنبه هاي مختلفي باهم مقايسه كنيم.

 

جمع آوري داده (data collection)

اولين تفاوت مهم زبان هاي پايتون و R در حوزه جمع آوري داده است. براي مثال زبان پايتون از انواع فرمت هاي گوناگون از csv گرفته تا json و حتي جداول sql پشتيباني مي كند. در حوزه توسعه وب هم پايتون اين اجازه را مي دهد كه داده ها را از دنياي وب جمع آوري كنيد و در جداولي كه خودتان ساختارش را مشخص كرده ايد، قرار دهيد. در مقابل زبان R براي وارد كردن داده هايي با فرمت excel ، csv و txt بهينه سازي شده است.

 

اكتشاف داده (exploring data)
پايتون يك كتابخانه بسيار قدرتمند براي تحليل و اكتشاف داده به نام Pandas دارد كه مي توانيد از آن براي عمليات گوناگوني مثل فيلتر كردن داده ها، مرتب سازي و نمايش داده ها به راحتي استفاده كنيد. در مقابل زبان R براي آناليزهاي آماري در ديتاست هاي بزرگ بهينه شده و شامل قابليت هاي متنوعي براي انجام عمليات اكتشاف داده است. با استفاده از زبان R شما مي توانيد توزيع احتمال هاي مختلفي براي داده هايتان در نظر بگيريد، تست هاي آماري زيادي به كار ببريد و عمليات هاي مختلف داده كاوي و يادگيري ماشين اجرا كنيد.

 

مدل سازي داده (data modeling)

در زبان پايتون كتابخانه هاي قدرتمند و استانداردي مانند NumPy براي آناليز مدل سازي عددي يا SciPy براي محاسبات علمي وجود دارد. اما اگر برنامه نويسان بخواهند همين مدل سازي هاي علمي را در زبان R انجام دهند، بايد از پكيج هاي خارج از اين زبان استفاده كنند. البته ممكن است راه حل هايي در درون خود زبان R هم وجود داشته باشد ولي قطعا پيچيدگي هايي را به برنامه اضافه مي كند كه در زبان پايتون وجود نداشته است.

 

تصويرسازي داده (data visualization)

تنها حوزه اي كه زبان R نسبت به زبان پايتون برتري دارد، حيطه مصورسازي داده است. پايتون ابزارهايي مانند matplotlib دارد كه مي توانند داده ها را به خوبي نمايش دهد. اما زبان R اساسا براي نمايش نتايج آناليزهاي آماري ساخته شده است و ماژول هاي گرافيكي آن امكان رسم نمودارها و چارت هاي مختلف را فراهم مي كند.

 

مقايسه زبان پايتون و زبان آر

 

با اين تفاسير كدام زبان براي افراد مبتدي بهتر است؟

زبان پايتون و R هركدام مزيت هاي متفاوتي در حوزه علم داده دارند اما سوال اصلي اينجاست كه كدام يك براي افراد مبتدي و كارهاي اوليه مناسب تر است؟ با توجه به مواردي كه گفته شد به نظر ميرسد زبان پايتون انتخاب اصلي براي اين دسته از افراد باشد. درست است كه افراد تازه كار مي توانند از زبان R براي اجراي آناليزهاي ساده و پايه اي در مدت زمان كوتاهي استفاده كنند، اما براي اين كه اين زبان و كتابخانه هاي آن را به درستي به كار ببرند، بايد ساعت ها براي يادگيري تلاش كنند. در مقابل زبان برنامه نويسي پايتون يك زبان بسيار ساده و قابل فهم است كه نه فقط براي علم داده بلكه براي بسياري از برنامه ها در حوزه هاي مختلف، كاربرد زيادي دارد. يكي از روش هاي يادگيري اين زبان برنامه نويسي، مشاهده ويدئوهاي آموزشي معتبر است. سايت الگوريتم اول اين امكان را فراهم كرده است كه افراد با هر سطحي از دانش، بتوانند دوره ي مقدماتي زبان برنامه نويسي پايتون را بگذرانند و پس از كسب نمره قبولي در آزمون ها و پروژه هاي اين دوره، مدرك معتبر دانشگاه شيراز را دريافت كنند.