<jupyter_start><jupyter_text>Kementerian Keuangan RI Badan Pendidikan dan Pelatihan KeuanganPusdiklat Keuangan Umum Praktikum Data Scientist Specialist*** Perhatikan petunjuk pengisian berikut :1. Tujuan praktikum ini adalah untuk mengukur kemampuan Anda dalam melakukan pengolahan data dan mengaplikasikan metode-metode machine learning.2. Anda diperbolehkan melihat file jupyter-notebook yang telah disediakan sebelumnya atau menggunakan search engine  untuk menyelesaikan soal-soal yang disediakan.3. Perhatikan petunjuk pengisian pada masing-masing bagian. Tambahan pekerjaan (step) untuk pengolahan data akan memberikan nilai bonus.4. Waktu menyelesaikan seluruh soal berikut adalah 60 menit.*** Tuliskan Nama dan NIP Anda : ***  Data Science Story Project> Anda diminta oleh Kementerian Kelautan Republik sebelah sana untuk membangun model yang akan digunakan untuk mengklasifikasikan suatu spesies ikan dari berat, dan ukuran suatu ikan. > Anda diminta untuk membuat model klasifikasi yang paling akurat dari beberapa model yang ada, **paling sedikit memuat 3 model** antara lain yaitu **Logistic Regression, RandomForest, Support Vector Machine, dan/atau Multi Layer Perceptron**,. > Anda juga diminta untuk memberikan perbandingan model berdasarkan akurasi.Terdapat tahapan pada jupyter notebook yang sudah dilengkapi secara default, namun Anda diminta untuk tetap melakukan tahapan-tahapan dasar standard *machine learning* yaitu *exploratory data analysis* sebelum membangun model. Import library dan load dataset **1. Hal yang pertama kali harus dilakukan adalah meng-import *library* pandas dan numpy.**<jupyter_code># import libraries 
import pandas as pd
import numpy as np<jupyter_output><empty_output><jupyter_text>Selanjutnya, kita akan mengimport (load) data dalam bentuk file `csv` ke dalam objek bernama `df` dengan menggunakan *method* `read_csv`.<jupyter_code>df = pd.read_csv('Fish.csv')<jupyter_output><empty_output><jupyter_text>I. Exploratory Data AnalysisPada tahapan ini Anda diminta untuk meng-explor data  **2. Lakukan observasi dengan menampilkan 10 data pertama !**<jupyter_code># tampilkan 10 data pertama
df.head(10)<jupyter_output><empty_output><jupyter_text>**3. Lakukan observasi dengan menampilkan 10 data terakhir !**<jupyter_code># tampilkan 10 data terakhir
df.tail(10)<jupyter_output><empty_output><jupyter_text>Apakah ada yang aneh?Dapat dilihat pada kolom yang pertama, ada kolom yang tidak relevan, sehingga Anda dapat menghilangkan kolom tersebut.**5. Hilangkan kolom yang tidak relevan**<jupyter_code># Hilangkan kolom tidak relevan
df[:]['Species':'Sex']<jupyter_output><empty_output><jupyter_text>Selanjutnya, kita ingin mengetahui ada berapa baris di dalam data tersebut dengan menggunakan *method* `info`.<jupyter_code># panggil metode info<jupyter_output><empty_output><jupyter_text>Terdapat 8 kolom dan 159 baris pada data tersebut. Metadata untuk dataset tersebut adalah:- Species name of fish- Weight of fish in Gram g- Length1 is vertical length in cm- Length2 is diagonal length in cm- Length3 is cross length in cm- Height in cm- Width is diagonal width in cm- SexDari data `info` di atas, diketahui bahwa 6 kolom adalah data *continuous* sedangkan dua kolom merupakan objek.  Lanjutkan Observasi data di atas, Apakah ada data `NaN`?**6. Temukan data `NaN` dan hitung berapa jumlah record yg `NaN`** Kita akan melakukan observasi terakhir yaitu menampilkan data apa saja di dalam kolom `Species`, dan `Sex`.**7. Tampilkan seluruh data pada kolom `Species` dan `Sex` beserta jumlahnya**  II. Data Pre-processingTahapan lanjutan adalah melakukan pembersihan atau organising atas data yang dimiliki.> Namun, diketahui bahwa, terdapat *feature* (kolom) terdapat nilai `NaN`, di samping nilai yang sesungguhnya.**8. Langkah apa yang akan Anda lakukan?**Tuliskan Langkah-langkah Anda di bawah ini: Jawaban Anda:  **9. Lakukan Langkah Yang Anda telah jelaskan di atas** Diasumsikan bahwa data yang akan kita gunakan telah melalui serangkaian pembersihan data dan seterusnya. Tugas selanjutnya adalah membuat model untuk memprediksi Species berdasarkan atribut lainnya. Lakukan train test splitSebelum membangun model, langkah yang harus dilakukan adalah memecah target variabel dan independent variabel. **10. Lakukan metode train test split**<jupyter_code># Import train_test_split


# X merupakan dataset kecuali target variabel


# Y merupakan target variabel yaitu Species


# kita gunakan 70% atau 80% data training (silakan pilih)


# Creation of Train and Test dataset


# Creation of Train and validation dataset<jupyter_output><empty_output><jupyter_text>Selanjutnya kita akan meng-import beberapa alat pengukuran<jupyter_code>from sklearn import model_selection
from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix<jupyter_output><empty_output><jupyter_text>**11. Lakukan Pembuatan model-model sesuai dengan pilihan Anda**Perhatikan bahwa Anda diminta membuat **minimal 3 model** !<jupyter_code># import library


# buat objek model


# fit model


# panggil fungsi predict

print ('-'*40)
print ('Accuracy score:')
print (accuracy_score(y_test, _prediction))
print ('-'*40)
print ('Confusion Matrix:')
print (confusion_matrix(y_test, _prediction))
print ('-'*40)
print ('Classification Matrix:')
print (classification_report(y_test, _prediction))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.06710914454277286, 'fraction_numerical': 0.009218289085545723, 'mean_word_length': 6.451923076923077, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 41, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '427175', 'license': 'MIT', 'n_tokens_mistral': 1999, 'n_tokens_neox': 1872, 'n_words': 624, 'path': 'Praktikum-DataScientist-Specialist.ipynb', 'repo_name': 'hargitoktil/decision-making', 'size': '5424'}