Klasifikasi Logistic Regression

Regresi logistik adalah teknik yang digunakan untuk menjelaskan hubungan antar input variabel dan variabel keluaran. Variabel input diasumsikan independen dan variabel keluaran disebut sebagai variabel terikat. Variabel dependen dapat mengambil hanya satu set nilai yang tetap. Nilai-nilai ini sesuai dengan kelas klasifikasi masalah.

Tujuan nya yakni untuk mengidentifikasi hubungan antara variabel independen dan variabel dependen dengan memperkirakan probabilitas menggunakan fungsi logistik. Logistik function ini adalah kurva sigmoid yang digunakan untuk membangun fungsi dengan berbagai parameter. Ini sangat erat kaitannya dengan analisis model linier umum, di mana kami mencoba menyesuaikan garis ke abanyak poin untuk meminimalkan kesalahan. 

Alih-alih menggunakan regresi linier, kami menggunakan logistik regresi. Regresi logistik dengan sendirinya sebenarnya bukan merupakan teknik klasifikasi, tetapi kami gunakan dengan cara ini untuk memudahkan klasifikasi. Ini sangat umum digunakan dalam pembelajaran mesin karena kesederhanaannya. Mari kita lihat cara membuat pengklasifikasi menggunakan regresi logistik. Membuat pastikan Anda telah menginstal paket Tkinter di sistem Anda sebelum melanjutkan. Jika tidak,Anda dapat menemukannya di https://docs.python.org/2/library/tkinter.html.

1. Buat file Python baru , buat nama file utilities.py , yukk langsung saja gaes..

import numpy as np
import matplotlib.pyplot as plt

def visualize_classifier(classifier, X, y):
# Define the minimum and maximum values for X and Y
# that will be used in the mesh grid
min_x, max_x = X[:, 0].min() - 1.0, X[:, 0].max() + 1.0
min_y, max_y = X[:, 1].min() - 1.0, X[:, 1].max() + 1.0

# Define the step size to use in plotting the mesh grid
mesh_step_size = 0.01

# Define the mesh grid of X and Y values
x_vals, y_vals = np.meshgrid(np.arange(min_x, max_x, mesh_step_size), np.arange(min_y, max_y, mesh_step_size))

# Run the classifier on the mesh grid
output = classifier.predict(np.c_[x_vals.ravel(), y_vals.ravel()])

# Reshape the output array
output = output.reshape(x_vals.shape)

# Create a plot
plt.figure()

# Choose a color scheme for the plot
plt.pcolormesh(x_vals, y_vals, output, cmap=plt.cm.gray)

# Overlay the training points on the plot
plt.scatter(X[:, 0], X[:, 1], c=y, s=75, edgecolors='black', linewidth=1, cmap=plt.cm.Paired)

# Specify the boundaries of the plot
plt.xlim(x_vals.min(), x_vals.max())
plt.ylim(y_vals.min(), y_vals.max())

# Specify the ticks on the X and Y axes
plt.xticks((np.arange(int(X[:, 0].min() - 1), int(X[:, 0].max() + 1), 1.0)))
plt.yticks((np.arange(int(X[:, 1].min() - 1), int(X[:, 1].max() + 1), 1.0)))

plt.show()

 2. Buat file Python baru lagi, dengan nama file logistic_regression.py. Kerik .. eehh  ketik kode berikut dalam text editor kamu.

import numpy as np
from sklearn import linear_model
import matplotlib.pyplot as plt

from utilities import visualize_classifier

# Define sample input data
X = np.array([[3.1, 7.2], [4, 6.7], [2.9, 8], [5.1, 4.5], [6, 5], [5.6, 5], [3.3, 0.4], [3.9, 0.9], [2.8, 1], [0.5, 3.4], [1, 4], [0.6, 4.9]])
y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3])

# Create the logistic regression classifier
classifier = linear_model.LogisticRegression(solver='liblinear', C=1)
#classifier = linear_model.LogisticRegression(solver='liblinear', C=100)

# Train the classifier
classifier.fit(X, y)

# Visualize the performance of the classifier
visualize_classifier(classifier, X, y)


 3. Jalankan (Run) program tersebut. Hasilnya seperti gambar berikut:

 4. Sekian tutorialnya, tetap simak artikel saya selanjutnya

Referensi

  • Prateek Joshi. 2017. Artificial Intelligence with Python-Build real-world Artificial Intelligence applications with Python to intelligently interact with the world around you. Birmingham, Mumbai.



 

0 Komentar