Review Online Course Seputar Data Analytics (Part 2)

Halo!

Setelah setahun gak review online course karna sibuk kerja di tempat baru, akhirnya baru sempet belajar lagi karna baru aja resign :D. Kali ini ada 5 courses di Udemy yang mau gue review, 4 tentang ML dan 1 tentang bisnis, diantaranya:

  1. Feature Engineering for Machine Learning
  2. Machine Learning with Imbalanced Data
  3. Feature Selection for Machine Learning
  4. Hyperparameter Optimization for Machine Learning
  5. Data Driven Marketing A-Z: Improve your Campaign Performance

Gue personally lebih suka belajar dari Udemy karna gue ngerasa lebih practical aja gitu, bisa langsung di-apply ke real case. Untuk course 1-4, diperuntukkan untuk orang yang udah paham basic Machine Learningnya dan mau lebih dalam belajar untuk mengoptimalkan performance dari ML model yang dibuat. Gue akan share pros cons dari masing2 course dan gue attach juga course notes serta source code yang coba gue rangkum selama belajar, enjoy!

1. Feature Engineering for Machine Learning

Feature engineering merupakan tahapan yang awal dan cukup penting dalam machine learning, karena dataset yang kita punya belum tentu bisa langsung kita training ke dalam model tanpa kita “modif” terlebih dahulu. Course ini ditujukan untuk orang yang mau lebih paham tentang metode2 dalam feature engineering supaya performance modelnya makin oke. Sebelum belajar ini, feature engineering yang gue tau ya paling seputar mean/median data imputation atau one hot categorical encoding atau standardization utk feature scaling, tapi ternyata banyak banget metodenya lainnya!. Mbak yang ngajar, Mbak Soledad Galli, pun sampe bikin library sendiri namanya feature-engine yang mempermudah kita dalam melakukan feature engineering. Hal yang dipelajari diantaranya:

  • Missing data imputation (mean, median, mode, random, end of tail, missing category, etc)
  • Categorical encoding (one hot, label, count frequency, mean, rare label encoding, etc)
  • Feature Scaling (standardization, mean normalization, min-max scaling, etc)
  • Discretization
  • Variable transformation
  • Outlier engineering

Course Notes – Feature Engineering

2. Machine Learning with Imbalanced Data

Untuk kasus classification, sebelum masuk ke tahapan selanjutnya, pastinya kita cek dulu dong apakah dataset yang kita punya balanced atau enggak. Alasannya karna model yang dibuat dengan dataset yang imbalanced membuat minority class sulit untuk diprediksi dengan benar. Hal yang dipelajari diantaranya:

  • Undersampling (Random, Nearest neighbour, NearMiss, Instance Hardness, Tomek Links, etc)
  • Oversampling (Random, SMOTE, ADASYN, etc)
  • Under-oversampling
  • Ensemble methods (boosting, bagging)
  • Cost-sensitive learning
  • Probability calibration

Course Notes – Machine Learning with Imbalanced Data

3. Feature Selection for Machine Learning

Setelah melakukan feature engineering dan memastikan datanya udah balanced, langkah selanjutnya adalah feature selection yang juga tidak kalah pentingnya dalam Machine Learning. Course ini ditujukan untuk orang yang mau lebih paham tentang metode2 dalam feature selection supaya bisa lebih efisien dan efektif dalam membuat model (gak perlu memasukkan feature2 yang tidak berguna). Sebelumnya gue cuman tau kalo feature2 yg ada gaboleh correlated, atau simply coba2 aja gitu yang bisa naikkin performance, tapi ternyata banyak metode yang baru gue pelajari disini. Hal yang dipelajari diantaranya:

  • Filter method (basic, correlation, chi-square, etc)
  • Wrapper method (forward selection, backward elimination)
  • Embedded method (LASSO, feature importance dari tree)
  • Hybrid method (feature shuffling, recursive feature addition)

Course Notes – Feature Selection

4. Hyperparameter Optimization for Machine Learning

Setelah udah rapih nih feature2 nya dan udah dipilih juga mana feature yang penting, selanjutnya kita buat modelnya deh. Tahapan selanjutnya kan pengen naikin performancenya tuh, salah satu caranya bisa kita tuning/optimize si hyperparameter yang ada di dalam model. Misal, kita tuning n_estimators, max_depth, min_sample_split pada algoritma Random Forest, kira2 berapa sih value yang akan bisa kasih kita performa terbaik?. Hal yang dipelajari diantaranya:

  • Cross Validation
  • Basic search algorithm (random, grid)
  • Bayesian Optimization (Gaussian, SMAC, TPE)
  • Menggunakan package dari Scikit-optimize, hyperopt, dan optuna

Course Notes – Hyperparameter Optimization

Karna course 1-4 ditutor oleh orang yang sama, yaitu Mbak Soledad Galli, jadi gue satuin aja ya pros consnya:

Pros:

  • Slide, source code, dan cara menjelaskannya sangat jelas dan lengkap
  • Materi cukup mendalam
  • Materinya sangat terstruktur, dan setiap section ada review dari section2 sebelumnya (jadi koheren satu sama lain)
  • Dijelaskan perbandingan antara beberapa metode, kelebihan dan kekurangannya apa aja, dan diperuntukkan untuk case yang seperti apa
  • Tidak terlalu matematik dan penjelasannya terasa manusiawi (cocok buat gue yang kurang kuat kalo lliat banyak equation…)

Cons:

  • Ada beberapa basic knowledge atau materi yang diulang-ulang, tp feel free untuk skip!
  • Karna lebih ke teknikal jadi gaada contoh penggunaan di dalam businessnya samsek (atau kurang “explainability” ke orang awamnya)

Keempat course tersebut gue selesaikan kurang lebih dalam waktu 2 minggu. Cara gue belajar biasanya gue baca slidenya dulu, gue tulis ulang di catetan, kalo ada yang gak ngerti baru gue tonton videonya. Setelah gue paham teorinya, gue cobain kodingannya dan gue summarize jadi satu.

Semua coursenya sangat recomended! 5 *****

Source code example on my Github. Please enroll the courses for more detail ya, worth it kok.


Lanjut ke course selanjutnya ya, yang lebih bisnis. Gue belajar course ini karna saat itu gue lagi ada di Growth team dan spesifiknya pegang Campaign & Promotion. Karna gue awam di dunia promotion, akhirnya gue belajar supaya lebih paham dunia tersebut.

5. Data Driven Marketing A-Z: Improve your Campaign Performance

Course ini membahas secara umum tentang bagaimana kita merencanakan suatu campaign dan metric2 apa yang harus kita perhatikan ketika mengevaluasi campaign yang kita jalankan. Hal yang dipelajari diantaranya:

  • Campaign Effectiveness
  • Return on Investment
  • Campaign blueprint

Pros:

  • Mudah dipahami dan ada berapa contoh real case cara menghitungnya

Cons:

  • Karna business course jadi gaada kodingannya sama sekali ahaha

4 ****

Course Notes – Campaign Performance


Sedikit mau kasih motivasi buat teman-teman yang sedang belajar ML atau dunia data science, menurut gue dunia ini tuh luas pake banget dan susah pake banget juga, karna gabungan dari sisi business, technical, dan math/statistics. Wajar banget kalo awalnya ngerasa overwhelmed, minder dengan banyak orang, dan merasa kayak mau nyerah aja di dunia ini, gue juga sedang dalam tahap itu kok dan sedang berusaha untuk overcome dengan perasaan2 itu. Salah satu yang bikin gue masih mau belajar adalah karna gue ngerasa cinta banget sama dunia data dan dapet motivasi dari salah satu temen gue (yang lebih senior), dia bilang “DS tuh gak susah tau, gue yakin lo bisa, siapapun bisa, asal lo mau belajar.”.

Dan sedikit tips juga, kalo misalkan ngerasa lemah di suatu hal atau ngerasa gak paham2 terhadap suatu hal, gausah dipaksain harus paham saat itu juga, karna emang gakbakal langsung jago dalam waktu singkat. Gue pernah waktu kuliah data mining, diajarin tentang regularization, tapi gue gak paham sama sekali saat itu, beberapa tahun kemudian gue coba belajar lagi, ya gue tetep gak jago, tapi ketidakpahaman gue setidaknya berkurang :D. Yang paling penting adalah, coba belajar sedikit, tapi kita bisa aplikasikannya, seiring berjalannya waktu bisa kita revisit lagi, sampai nanti lama-lama bisa dan paham!. Oleh karena itu, mari kita berjuang bareng-bareng ya! :D.

Segitu dulu ya reviewnya, semoga bermanfaat.

P.S. Mohon maaf jika banyak kesalahan dalam penulisan dan banyak yang tidak terbaca di course notes.

Sekian dulu yah, terima kasih dan sampai jumpa!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s