news

Senin, 15 Juni 2020

Belajar SKLearn - Logistic Regression



Pada latihan ini kita akan menggunakan logistic regression untuk memprediksi apakah seseorang akan membeli setelah melihat iklan sebuah produk. Dataset untuk latihan bisa Anda unduh pada tautan berikut.
Seperti biasa, setelah kita mengunggah berkas data pada Colab kita akan mengubah dataset menjadi dataframe Pandas. Jangan lupa juga untuk mengimpor library dasar.


  1. import pandas as pd

  2. from sklearn.model_selection import train_test_split

  3. from sklearn.preprocessing import StandardScaler

  4. df = pd.read_csv('Social_Network_Ads.csv')


Pada cell selanjutnya gunakan fungsi head() pada dataframe untuk melihat 5 baris pertama dari dataset.


  1. df.head()


Hasil dari fungsi df.head() seperti di bawah ini.
202004302238474d62c7da27d447baa0b8d30b89f3e4bc.png
Kita juga perlu melihat apakah ada nilai yang kosong pada setiap atribut dengan menggunakan fungsi info(). Dapat dilihat bahwa nilai pada semua kolom sudah lengkap.


  1. df.info()


Sedangkan tampilan hasil dari fungsi df.info() sebagai berikut.
20200430223940c9aee990b8a1763c632e1362f5f26a2c.png
Pada dataset terdapat kolom ‘User ID’. Kolom tersebut merupakan atribut yang tidak penting untuk dipelajari oleh model sehingga perlu dihilangkan. Untuk menghilangkan kolom dari dataframe, gunakan fungsi drop.


  1. data = df.drop(columns=['User ID'])

  2. data = pd.get_dummies(data)

  3. data


Ketika kode di atas dijalankan hasilnya seperti di bawah ini.
202004302240572131844a873e8b6bf9f7605bae936cd0.png
Kemudian kita pisahkan antara atribut dan label.


  1. predictions = ['Age' , 'EstimatedSalary' , 'Gender_Female' , 'Gender_Male']

  2. = data[predictions]

  3. y = data['Purchased']


Jangan lupa untuk membagi data menjadi train set dan test set yang dapat dilakukan dengan fungsi train_test_split yang disediakan SKLearn.


  1. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)


Setelah membagi data, kita buat model dengan membuat sebuah objek logistic regression. Setelah model dibuat, kita bisa melatih model kita dengan train set menggunakan fungsi fit().


  1. from sklearn import linear_model

  2. model = linear_model.LogisticRegression()

  3. model.fit(X_train, y_train)


Setelah model dilatih, kita bisa menguji akurasi model pada test set dengan memanggil fungsi score() pada objek model.


  1. model.score(X_test, y_test)


Sehingga hasilnya sebagai berikut.
20200430210047c805faedb2c063c94cd62c49d6527491.png