purwadhika logo

Selamat datang di Ujian Modul 3. Pada ujian kali ini, Anda akan mengerjakan soal untuk kasus:

  • Classification: Hunting Basketball Player

Selamat mengerjakan!

Case: Hunting Basketball Player (POIN: 100)

nba Anda adalah seorang Data Scientist di tim basket International yang berencana untuk merekrut beberapa pemain basket berbakat untuk meningkatkan performa tim. Tim Anda sering sekali menjadi tim juru kunci dalam klasemen yang mengakibatkan sponsor dari perusahaan swasta dan profit penjualan merchandise pun semakin berkurang. Di sisi lain, tim Anda sudah terlalu lama menghamburkan uang untuk menggaji pemain-pemain yang kurang memiliki bakat. Sehingga para stake holders merasa perlu adanya perombakan pemain, dengan harapan tim Anda lebih sering menang dan profit dari segala sektor pun meningkat.

Baru-baru ini manager tim mengatakan berencana untuk mencari 10 pemain baru dari NCAA (National Collegiate Athletic Association) Men's Basketball. Dan berharap Anda, sebagai Data Scientist, untuk dapat menemukan pemain baru yang berbakat dengan cepat. Pemain basket dari NCAA adalah pemain yang belum pernah main di NBA, sehingga mereka belum pernah ikut draft NBA sama sekali.

Data pilihan pemain bisa Anda download di repository ini dengan nama file: new_players.csv. Dalam dataset ini terdapat pemain NCAA yang perlu untuk direkrut.

Untuk memudahkan proses recruitment, Anda akan menggunakan dataset nba_players.csv sebagai dasar untuk membangun model machine learning untuk menentukan pemain-pemain baru yang pantas Anda rekrut. Kolom potential_player pada dataset NBA adalah acuan Anda. 0 berarti pemain tersebut tidak memiliki potensi dan cenderung untuk tidak direkrut. Dan sebaliknya.

Requirements:

Buatlah sebuah file Jupyter Notebook (.ipynb), bernama "[Nama_Anda]_basketball_team_recruitment.ipynb". Download & gunakan dataset NBA di repository ini dengan nama file: nba_players.csv. Dan penjelasan tiap kolom dapat dilihat di sini

  1. (POIN: 15) Lakukan data preprocessing, seperti menghapus kolom yang sekiranya tidak dibutuhkan, strategi apa yang akan digunakan untuk mengisi missing value, metode apa yang akan digunakan untuk melakukan encoding, feature apa yang bisa ditambahkan, dan lain-lain. Serta berikan penjelasan di setiap langkah yang Anda jalankan.

  2. (POIN: 20) Buatlah minimal 5 (lima) macam data visualisasi yang dapat menampilkan insight dari para pemain NBA baik yang di-cap sebagai potential player maupun yang bukan. Ceritakan juga insight yang Anda temukan. Minimal visualisasi yang perlu ditampilkan.

    • Bagaimana distribusi score antara pemain yang potential dengan yang tidak potential?
    • Bagaimana distribusi rebound antara pemain yang potential dengan yang tidak potential?
    • Bagaimana distribusi assist antara pemain yang potential dengan yang tidak potential?
    • Apakah tinggi dan berat pemain dapat mempengaruhi pemain dicap potential atau tidak?
    • Kampus mana yang paling sering menelurkan pemain-pemain potential di NBA?
  3. (POIN: 10) Buatlah training_validation dataset dan testing dataset. Silahkan Anda atur test_size / train_size maupun random_state sesuai dengan keinginan Anda.

  4. (POIN: 20) Buatlah 2 (dua) benchmark machine learning model untuk klasifikasi (pilihan model bebas). Lakukan cross_val_score untuk mengetahui model benchmark mana yang berpotensi. Pada poin ini, tentukan juga scoring yang menjadi fokus Anda (pilih salah satu):

    • Recall, atau
    • Precision

    Kata kuncinya adalah, tim Anda sedang dilanda krisis ekonomi. Sehingga, dengan kata lain, Anda harus benar-benar selektif siapa yang akan Anda rekrut.

  5. (POIN: 25) Pada step ini tingkatkan performa pada tiap model, sehingga dapat memenuhi fokus evaluasi yang sudah Anda tentukan pada step sebelumnnya. Sebagai pengingat, beberapa cara untuk meningkatkan performa seperti dan tidak terbatas pada:

    • feature selection (SelectPercentile, SelectKBest, RFE)
    • preprocessing (Polynomial, Scaling)
    • feature extraction (PCA)
    • hyperparameter tuning (Grid / Random)
    • resampling (ROS, RUS, Smote)
    • dll
  6. (POIN: 10) Gunakan model terbaik yang diperoleh, untuk mengklasifikasi pemain pada dataset new_players , manakah pemain yang patut direkrut atau tidak. Tampilkan hasilnya dalam sebuah dataframe.

Catatan: Kirim source code jawaban Anda dalam 1 (satu) file .ipynb. Kemudian kirimkan via email ke ridhoaryo1991@gmail.com dan email operational masing-masing.