Data scientist olmaq üçün haradan başlayaq 2: detallı mənbələr

Bu postu yazmaq düşündüyümdən daha artıq zamanımı aldı, çünki fikirləşdikcə hər kəsin fərqli formada öyrənməyi xoşladığını (oxu: bacardığını) xatırladım. Fərqli oxuma və öyrənmə tərzlərinə malik olan insanlar üçün isə eyni tipli mənbələrin faydalı olmayacağını düşündüm. Amma yekunda buna (hələlik) normalda biznes problemlərin həllinə olduğu kimi - statistik - yanaşıb bir post yazmaq qərarına gəldim. Yazacaqlarım bir qayda olaraq oxumağa maraqlı və meylli olan, eyni zamanda, əvvəl də qeyd etdiyim kimi, ingilis dilində sərbəst oxuma qabiliyyətinə malik insanlar üçün faydalı mənbələrdir.

Daha bir qeyd: hələ ki niyyət heç həvəsi olmayan insanları data science-ə maraqlandırmaq deyil, əsas məqsəd istəyi olan və yol axtaranlara hansısa formada kömək etməkdir, o baxımdan post bir qədər "boring" - canısıxıcı alınıb :) .

Mənbələri "Data Science nədir" postunda qeyd etdiyim qruplar üzrə (oradakı nömrələməni və qruplaşmanı tam qorumasam da) təqdim edirəm. Deməli belə:

1. Proqramlaşdırma: python

Baza proqramlaşdırma

Əgər proqramlaşdırmada tamamilə təcrübəsizsinizsə vaxtilə mənə çox kömək etmiş bir mənbəni təqdim edirəm - thenewboston. Əvvəllər veb-saytı da var idi, amma görünür saxlanmasına ciddi maliyyə resursu tələb olunub, ona görə də hazırda işləmir. Tövsiyyə edirəm bu videolar da itməmiş izləməyə başlayasınız.

OOP

Baza proqramlaşdırma bildikdən sonra OOP prinsiplərini dərk etməyiniz məsləhətdir. Bunun üçün aşağıdakı 3 məqalədən faydalana bilərsiniz. Amma nəzərdə saxlayın: koddan az da olsa başınız çıxmırsa bu məqalələri oxumaq asan olmayacaq.

https://www.python-course.eu/object_oriented_programming.php

https://realpython.com/python3-object-oriented-programming/

https://jeffknupp.com/blog/2014/06/18/improve-your-python-python-classes-and-object-oriented-programming/

 

Ümumiyyətlə daha elmi formada təqdim olunan bir mənbə xoşlayırsınızsa, sözsüz ki, MIT-in Introduction to Computer Science and Programming in Python kursu sizin üçün çox faydalı olar, əvvəldə qeyd elədiklərimizin hamısını daha sistematik şəkildə təqdim edir.

Bir üst səviyyə mütəxəssis olmaq istəyirsinizs artıq vaxtınız olanda isə əsasən elektrik mühəndisləri üçün olan Introduction to Algorithms kursuna nəzər yetirməkdə fayda var.

Bir qeyd də edim: MIT-nin kursları həm də ona görə yaxşıdır ki, ya kitaba ehtiyac olmur, ya da lazım olan yaxşı kitabları özləri bildirirlər.

Digər məsələlər

Proqramlaşdırmanın statistik və riyazi aspektlərini artıq Data ilə iş və Machine Learning hissələrində görəcəksiniz deyə burada çox qeyd eləmirəm. Ümumiyyətlə Xətti cəbr (Linear algebra) öyrənmədən python-un numpy, scipy və pandas kitabxanalarını və data strukturları başa düşmək asan olmayacaq, ona görə də birinci oranı möhkəmləndirib sonra həmin kitabxanalara geri dönün. Modelləşdirmə prinsiplərini (optimallaşdırmanı) başa düşmək üçün isə Riyazi analiz (Single variable calculus və Multivariable calculus) prinsiplərini anlamağınız lazımdır (əzbər bilməyiniz deyil, sadəcə prinsiplərini bilməyiniz yetərlidir)

 

2. Riyaziyyat

Funksiyalar

Riyazi funksiyalarla ətraflı tanış olmaq istəyirsinizsə sizə bir neçə mənbə təklif edirəm.

Ümumiyyətlə funksiyalarla bağlı anlayışınız yoxdursa buradan başlayın: https://www.youtube.com/watch?v=52tpYl2tTqk

Sonra, mənim sevimli mənbələrimdən olan MIT. Köhnə leksiyalar olsa da yaxşı öyrənmək olar. Sizə yalnız bir bölməsinin linkini verirəm (digər bölmələr də səhifədə görünür), işarələmə və digər məsələləri öyrənmək üçün bu kifayətdir.

https://ocw.mit.edu/resources/res-18-006-calculus-revisited-single-variable-calculus-fall-2010/part-i-sets-functions-and-limits/

Əgər texniki yazını oxumağı xoşlayırsınızsa Amerikanın Milli Standartlar və Texnologiya İnstitutunun (NIST) maraqli bir mənbəsi var, bir çox funksiyalar üzrə sizə məlumat verir. Eyni zamanda həmin mənbənin kitab forması da var (Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables), bunu da oxumaq olar.

Bundan əlavə, internetdə bir sıra saytlar var ki, orada funksiyanı yazmaqla onun qrafikini əyani şəkildə görə bilərsiniz. Onlardan birinin linkini yerləşdirirəm, amma oxşar bütün saytlar yararlıdır.

Ümumiyyətlə isə belə bir qeyd edim: funksiyalardan baza şəkildə anlayışınız varsa digər hissələri öyrənməklə davam edə bilərsiniz. Bütün funksiyaları mütləq şəkildə öyrənməyiniz vacib deyil. Əlinizdə mənbələr olsun, lazım olanda geri dönüb baxa biləsiniz.

Riyazi analiz (Calculus)

Əslində sadəcə çoxdəyişənli riyazi analiz qeyd etmək istəyirdim, amma düşündüm ki, bəlkə sıfırdan başlayanlar da var. Digər bir məsələ: əvvəldə qeyd etdiyim kimi, bunları əzbər bilməyiniz tələb olunmur, əgər yeni ML və AI modellər yaratmaq fikrində deyilsinizsə! Sadəcə prinsipləri başa düşməlisiniz, işi isə proqramlar görür. Hər ikisinə dair MIT kursları mövcuddur1 tanış ola bilərsiniz.

https://ocw.mit.edu/courses/mathematics/18-01sc-single-variable-calculus-fall-2010/index.htm

https://ocw.mit.edu/courses/mathematics/18-02sc-multivariable-calculus-fall-2010/index.htm

Xətti cəbr (Linear algebra)

Bu sahədə ən asan başa gələcək dərs MIT kursudur. Həmin kursun türkdilli versiyası da mövcuddur (sayta baxsanız görəcəksiniz). İnterntdə müəllifin kitabı da var, əgər videolardansa kitab oxumağı xoşlayırsınızsa ona da baxa bilərsiniz:

https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

http://www.math.hcmus.edu.vn/~bxthang/Linear%20algebra%20and%20its%20applications.pdf

3. Ehtimal nəzəriyyəsi, Statistika və Ekonometrika

Statistikanı öyrənməyin yolu kitablardır. Əgər tamamilə məlumatsızsınızsa və əvvəlcə məsələlərin intuitiv (ideya) tərəflərini öyrənməyi xoşlayırsınızsa Charles Wheelan-ın kitabı ilə başlayın: Naked Statistics

Sonra " Basic Business Statistics " kitabından biznes statistikasını öyrənə bilərsiniz. Ümumiyyətlə məsələlərin biznes tərəfinə önəm verməyin vacibliyini başa düşdüyüm üçün bu tipli bir kitab qeyd edirəm, amma ehtimal paylamaları üzrə bilikləri möhkəmləndirmək üçün Sheldon Ross-un Introduction to Probability Models kitabını da nəzərdən keçirmək tövsiyyə olunur.

Bundan sonra heç olmasa bir Ekonometrika kitabına göz gəzdirməyiniz məsləhətdir. Wooldridge-in Introductory Econometrics: A Modern Approach kitabı oxumaq üçün pis deyil. Daha çətin və yüksək səviyyəli bir shey oxumaq istəyirsinizsə Greene-in Econometric Analysis kitabı tövsiyyə olunur.

Bu kateqoriyada kitablar hamısı nisbətən yeni olduğu üçün onlara dair leqal pulsuz linklər yoxdur, ona görə də sadəcə kitabla tanış olmaq üçün amazon linkləri yerləşdirmişəm, bir az axtarsanız kitabların özünü də taparsınız :) .

4. Data ilə iş (Data wrangling)

Data ilə iş SQL-dən başlayır. Bir balaca köhnə də olsa Stanford Professoru Jennifer Widom-un "Introduction to Databases" kursu superdir, onunla başlaya bilərsiniz.

Bir qədər geniş və daha nəzəri (amma yenə də çox nəzəri yox) biliklər istəsəniz Coursera-da "Introduction to Structured Query Language (SQL)" və python-SQL əlaqələrinə baxmaq istəsəniz Udacity-də "Intro to Relational Databases" kurlarını nəzərdən keçirin.

Bundan əlavə, python-un numpy və pandas package-lərini istifədə eləmək istəsəniz Udacity "Intro to Data Analysis" kursu köməyinizə gələr. Karolina xanım bir qədər fışıltı ilə danışır, amma öyrənmək xətrinə dözmək olar :) .

Ümumiyyətlə isə "Python for Data Analysis" adında bir kitab var. Oxumaqdan zəhləsi gedən şəxslərə belə bu kitabı mütləq şəkildə tapıb nəzərdən keçirməyi şiddətlə tövsiyyə edirəm, inanın praktik tərəfdən çox öyrənəcəksiniz. Kitabı pandas kitabxanasının yaradıcısı Wes Mckinney yazıb.

5. Machine Learning (ML) və Deep Learning

Data scientist üçün ən vacib alət ML-dir. Onun vasitəsilə datanı faydalı informasiyaya çevirmək olar. Sizin üçün həm kitab formasında, həm onlayn, həm pullu, həm də pulsuz bir sıra mənbələr qeyd edirəm, başlamaq üçün xeyli yaxşıdır.

Tam təcrübəsiz və riyazi tərəflərə çox da "baş qoşmaq" istəməyənlər Udemy-dəki "Machine Learning A-Z™: Hands-On Python & R In Data Science" kursundan faydalana bilərlər. Çox hallarda ciddi güzəştlərlə satılır (10-15 dollar). Bunu mən deməmişəm, amma bəlkə pulsuz da tapa bilərsiniz :) . Çox geniş, bir az üzdən gedən bu kurs başlamaq üçün çox yaxşıdır. Hər bir model və metod haqqında məlumat ala və mahiyyətini başa düşə bilərsiniz. Adından göründüyü kimi, "hands-on", yəni praktikdir.

Yuxarıda qeyd elədiyim kursa çox yaxşı alternativ olaraq Udacity-nin "Intro to Machine Learning" pulsuz kursunu nəzərdən keçirə bilərsiniz, məsləhətdir!

Məsələnin nəzəri tərəflərini daha yaxşı öyrənmək istəsəniz Coursera-nın yaradıcısı Andrew Ng-nin "Machine Learning" kursuna da pulsuz qoşula bilərsiniz.

Bundan əlavə, oxumaq həvəskarınızsa bu yaxınlarda bir kolleqanın mənə tövsiyyə elədiyi çox qısa "The Hundred-Page Machine Learning Book" kitabını da oxuya bilərsiniz, bir balaca texniki bilikləriniz varsa çox yaxşı izah edir.

Əvvəllər Udacity-də mövzu üzrə çoxlu pulsuz kurs var idi, amma artıq çoxunu pullu ediblər. Bununla belə, pul xərcləmək istəsəniz ən yaxşı yer oradır, dərsləri sahənin işləyən professionalları aparır.

Qaldı Deep Learning. Bunun üçün hələlik bir kitab tövsiyyə edirəm: "Neural Networks and Deep Learning". Pulsuz onlayn kitabdır, məsələnin mahiyyətini başa düşmək üçün superdir. Praktik tərəfləri isə internetdən öyrənə bilərsiniz. Udacity-də də pulsuz kurslar tapa bilərsiniz. Məsələn: "Intro to Deep Learning with PyTorch"

6. Ələvə mənbələr

Bir sıra maraqlı mənbələr var ki, onlar hansısa məsələlər üzrə sizə köməkçi ola bilər və ya biliklərinizi genişləndirməkdə kömək edə bilər. Baxmaqda fayda var. Məsələn "Automate the boring stuff with python" adında bir veb-səhifə var. Orada python-un bir çox məsələlərin həllində necə istifadə olunduğunu görə bilərsiniz.

Əgər bir balaca pul ödəməklə aranız yaxşıdırsa və onlayn formada kodu yazıb test edə bilmək sizə daha rahatdırsa Datacamp sizə köməkçi ola bilər. Onlar bəzi kursların ilk dərsini pulsuz formada yerləşdirirlər, daxil olub sınaqdan keçirə bilərsiniz.

Belə! Hamınıza uğur olsun!

 

P.S.: Yəqin fikir verdinizsə R-la bağlı heç bir mənbə qeyd etməmişəm. Düzü mənim əvvəllər öyrəndiyim mənbələr artıq əhəmiyyətini itirib, ona görə onları yazmaq istəmədim. Yeni mənbələri isə bir balaca araşdırmalıyam. Yaxşı mənbələr tapanda onları da paylaşacam.

P.P.S.: Bir vaxtlar, FRM sertifikatımı təzə alanda o sahənin dərsini keçirdim və çox adam mənə "niyə özünə rəqib yaradırsan?" kimi bir sual verirdi. O vaxt çoxuna cavab vermirdim, amma bu postla da bağlı sual gələcəyini bildiyimdən hazır cavabı yazım: tək olmaq, rəqabətsiz olmaq professional ölümdür. Professional sahədə hələ də inkişaf eləmək istəyirəm deyə rəqabət istəyirəm :)

0 Comments
Leave a Comment

Kolmogorov-Smirnov test in python

Kamil Alasgarov

Data science üçün python yüklənməsi

Kamil Alasgarov

Data scientist olmaq üçün haradan başlayaq 2: detallı mənbələr

Kamil Alasgarov

Data Science nədir?

Kamil Alasgarov