BelajarBIGDATA#16 Melakukan Analisis Regresi Logistic dengan Python untuk Big data
Analisis regresi logistic menggunakan python kali ini merupakan kelanjutan dari pembahasan artikel sebelumnya yang berjudul Melakukan Analisis Regresi Linear dengan Python untuk Big data. Jika anda belum membaca sebelumnya, sebaiknya untuk membaca artikel tersebut lebih dahulu, karena penjelasan pengantar saya utarakan di sana, sehingga anda tidak mengalami kebingungan ketika membaca artikel ini.
Pada pembahasan analisis regresi logistic kali ini akan menerapkan beberapa langkah supaya memudahkan pencernaan materi perhitungan melalui komputasi ini. Berikut di bawai ini adalah langkah untuk menghitung analisis regresi logistic.
Analisis regresi untuk big data |
- Import Library
- Load dataset
- Visualisasi data
- Estimasi parameter model
- Menghitung odds ratio
- Klasifikasi
Selanjutnya untuk melakukan analisis kita membutuhkan data yang harus di analisis, karena ini masih pembelajaran, saya sarankan untuk mengambil data berikut ini supaya anda bisa mengikuti bagaimana jalanya perhitungan analisis berdasarkan data berikut, silahkan anda download terlebih dahulu.
Link : https://notebooks.azure.com/novri-suhermi/libraries/regression-analysis
Selanjutnya yang perlu anda siapkan adalah editor yang cocok bagi anda, yang terpenting dalam praktik ini adalah anda sudah melakukan instalasi Anaconda Python. Saya sarankan jika anda sudah melakukan instalasi anaconda python, anda gunakan editor bawaan yaitu Jupyter Notebook.
Selanjutnya yang perlu anda siapkan adalah editor yang cocok bagi anda, yang terpenting dalam praktik ini adalah anda sudah melakukan instalasi Anaconda Python. Saya sarankan jika anda sudah melakukan instalasi anaconda python, anda gunakan editor bawaan yaitu Jupyter Notebook.
Langkah 1 : Import Library
import pandas as pd
import numpy as np
import seaborn as sns
from statsmodels.api import Logit
from statsmodels.tools.tools import add_constant
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split, cross_val_score
Langkah 2 : Load dataset admission.csv
data = pd.read_csv('admission.csv')
Langkah 3 : Melakukan deskripsi data statisktik
data.describe()
data['admit'].value_counts(normalize=True)
Langkah 4 : Melakukan Visualisasi data
sns.countplot(x=data['admit'])
sns.lmplot(x='gre', y='gpa', hue='admit', fit_reg=False, data=data)
Langkah 5 : Menambahkan Variabel Dummy
dummy_ranks = pd.get_dummies(data['prestige'], prefix='prestige')
cols = ['admit', 'gre', 'gpa']
data = data[cols].join(dummy_ranks.loc[:, 'prestige_2':])
Langkah 6 : Menambahkan Variabel Constant
data = add_constant(data)
Langkah 7 : Melakukan Estimasi Parameter
model = Logit(data['admit'], data.drop(['admit'], axis=1))
result = model.fit()
Langkah 8 : Mencetak Model
print(result.summary())
Langkah 9 : Menghitung Odds Ratio
print(np.exp(result.params))
Langkah 10 : Klasifikasi Train Test Split
y = data['admit']
X = data.drop(['admit'], axis=1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20, random_state = 123)
Langkah 11 : Training Model
classif = LogisticRegression(random_state=123)
classif.fit(X_train, y_train)
Langkah 12 : Melakukan prediksi
classif.score(X_train, y_train)
Output : 0.6875
classif.score(X_test, y_test)
Output : 0.725
Langkah 13 : K-Fold Cross Validation
crossVal = cross_val_score(classif, X, y, cv=10)
print(crossVal)
np.mean(crossVal)
Dari hasil yang telah di tampilkan di atas di beberapa gambar ada beberapa angka yang dapat kita ambil untuk mendukung sebuah keputusan dan melakukan prediksi, salah satunya adalah angka P-Value, dan beberapa angka prediksi lainya. Untuk memahami lebih lanjut mengenai pembahasan analisis bigdata ikuti terus artikel dengan tagar #BelajarBIGDATA.
No comments: