# Language: Python 3 Notebook
Python script untuk aktifitas Data
[Analisis Data](#analisis-data)
[Preprocessing Data](#preprocessing-data)
[Undersampling data](#undersampling-data)
[Split data](#split-data)
[Modelling](#modelling)
### Analisis Data
Pertama kita panggil beberapa library yang dibutuhkan seperti dibawah ini
```
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
```
```
melihat data yang sudah ada
sample = pd.read_csv(data.csv)
sample.head()
sample.info()
```
- Untuk mengetahui bentuk dari data kita bisa menggunakan fungsi ```.shape()```
```
sample.shape()
```
- Selanjutnya kita akan mengecek dan mengisi apakah ada data yang kosong pada kolom tertentu
```
sample.isnull().sum()
#mengatasi missing values
sample = sample.fillna(sample.median())
```
- Saya juga mengecek korelasi antar data
```
corr = sample.corr()
sns.heatmap(corr)
plt.show()
```
- Disorder sampai_sehat

- Score_Bawah Sampai_Utama

- Asuransi Sampai_utama

### Preprocessing Data
- Untuk mengubah data ke dalam bentuk numerik menggunakan module ```.get_dummies()```
- Memisahkan data untuk kategori
```
X_categorical = sample[[asuransi, kabupaten]]
X_numerical = sample.drop(columns=[asuransi, kabupaten], axis=1)
X_categorical = pd.get_dummies(X_categorical)
```
- Membuat Probability
```
X = sample.drop([asuransi, score_bawah, sampai_utama], axis=1)
y = sample[score_bawah]
X.head()
```
### Undersampling Data
```
from sklearn.model_selection import train_test_split
X_train,X_test, y_train, y_test = train_test_split(X,y, test_size=.2)
```
- Menggunakan balance
```
under = RandomUnderSampler(sampling_strategy=auto)
X_train_under, y_train_under = under.fit_sample(X_train, y_train)
```
```
Melakukan Modeling
#Modelling
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier()
rf.fit(X_train_under, y_train_under)
y_pred = rf.predict(X_test)
```
- Untuk menghitung nilai dari model yang dibuat
```
#Menghitung kekuatan model
from sklearn.metrics import accuracy_score, recall_score
print(Accuracy :, accuracy_score(y_test, y_pred))
print(Recall :, recall_score(y_test, y_pred))
print(\nClassification Report :)
print(classification_report(y_test, y_pred))
```
Volledige omschrijving