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.

Analisis regresi untuk big data
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.

  1. Import Library
  2. Load dataset
  3. Visualisasi data
  4. Estimasi parameter model
  5. Menghitung odds ratio
  6. 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.

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:

Powered by Blogger.