Membangun Pengklasifikasi Pembelajaran Mesin pertama Anda dengan Python



Artikel ini akan membantu Anda membuat Pengklasifikasi Pembelajaran Mesin dengan Python dari Awal. Ini juga akan memberi Anda pengetahuan rinci tentang Klasifikasi.

adalah kata kunci sekarang. Beberapa hal luar biasa sedang dilakukan dengan bantuan pembelajaran mesin. Dari menjadi milik kita Asisten pribadi , untuk memutuskan rute perjalanan , membantu kami berbelanja, membantu kami dalam menjalankan bisnis, hingga mengurus kami kesehatan dan kebugaran, pembelajaran mesin terintegrasi dengan kehidupan kita sehari-hari pada tingkat yang begitu mendasar, sehingga seringkali kita bahkan tidak menyadari bahwa kita mengandalkannya. Dalam artikel ini, kita akan mengikuti pendekatan pemula untuk mengimplementasikan standar pengklasifikasi pembelajaran mesin dengan Python.

bagaimana menggunakan atom untuk python

Ringkasan Machine Learning

Pembelajaran Mesin adalah konsep yang memungkinkan mesin belajar dari contoh dan pengalaman, dan itu juga tanpa diprogram secara eksplisit. Jadi, alih-alih Anda menulis kode, yang Anda lakukan adalah memasukkan data ke algoritme generik, dan algoritme / mesin membangun logika berdasarkan data yang diberikan.





Pengklasifikasi Pembelajaran Mesin

Pembelajaran Mesin melibatkan kemampuan mesin untuk mengambil keputusan, menilai hasil tindakan mereka, dan meningkatkan perilaku mereka untuk mendapatkan hasil yang lebih baik secara berturut-turut.



Proses pembelajaran berlangsung dalam tiga cara utama

  • Pembelajaran yang Diawasi
  • Pembelajaran Tanpa Pengawasan
  • Pembelajaran Penguatan

Template untuk Pengklasifikasi Machine Learning

Alat pembelajaran mesin disediakan dengan cukup nyaman di pustaka Python bernama scikit-learn, yang sangat mudah diakses dan diterapkan.



Instal scikit-learn melalui command prompt menggunakan:

pip install -U scikit-learn

Jika Anda adalah pengguna anaconda, pada anaconda prompt Anda dapat menggunakan:

conda install scikit-learn

Instalasi membutuhkan instalasi sebelumnya dari paket NumPy dan SciPy di ​​sistem Anda.

Pemrosesan awal: Langkah pertama dan paling penting dalam analisis data berbasis pembelajaran mesin adalah bagian preprocessing. Representasi yang benar dan pembersihan data sangat penting agar model ML dapat dilatih dengan baik dan bekerja sesuai potensinya.

Langkah 1 - Impor perpustakaan yang diperlukan

import numpy as np import pandas as pd import matplotlib.pyplot as plt

Langkah 2 - Impor dataset

dataset = pd.read_csv ()

Kemudian kami membagi dataset menjadi variabel independen dan dependen. Variabel bebas adalah data masukan, dan variabel terikat adalah data keluaran.

X = dataset.iloc []. Nilai y = dataset.iloc []. Nilai

LANGKAH 3 - Tangani data yang hilang

Dataset mungkin berisi nilai kosong atau nol, yang dapat menyebabkan kesalahan dalam hasil kami. Karenanya kita perlu berurusan dengan entri semacam itu. Praktik umum adalah mengganti nilai nol dengan nilai yang sama, seperti mean atau nilai yang paling sering di kolom itu.

dari sklearn.preprocessing import Imputer imputer = Imputer (missing_values ​​= 'NaN', strategy = 'mean', axis = 0) imputer = imputer.fit (X []) X [] = imputer.transform (X [])

LANGKAH 4 - Ubah variabel kategorikal menjadi variabel numerik

dari sklearn.preprocessing import LabelEncoder le_X = LabelEncoder () X [] = le_X.fit_transform (X []) labelencoder_y = LabelEncoder () y = labelencoder_y.fit_transform (y)

Sekarang, setelah pengkodean, mungkin saja mesin mengasumsikan data numerik sebagai peringkat untuk kolom yang disandikan. Jadi, untuk memberikan bobot yang sama, kita harus mengonversi angka menjadi vektor satu panas, menggunakan kelas OneHotEncoder.

dari sklearn.preprocessing import OneHotEncoder oneHE = OneHotEncoder (kategorikal_features = []) X = oneHE.fit_transform (X) .toarray ()

LANGKAH 5 - Lakukan penskalaan

Langkah ini untuk menangani ketidaksesuaian yang timbul dari skala variabel yang tidak cocok. Oleh karena itu, kami menskalakan semuanya ke kisaran yang sama, sehingga mereka menerima bobot yang sama saat dimasukkan ke model. Kami menggunakan objek kelas StandardScaler untuk tujuan ini.

dari sklearn.preprocessing import StandardScaler sc_X = StandardScaler () X = sc_X.fit_transform (X)

LANGKAH 6 - Pisahkan kumpulan data menjadi data pelatihan dan pengujian

Sebagai langkah terakhir dari preprocessing, dataset perlu dibagi menjadi set pelatihan dan set pengujian. Rasio standar split train-test adalah 75% -25%. Kami dapat memodifikasi sesuai kebutuhan. Fungsi train_test_split () bisa melakukan ini untuk kita.

dari sklearn.model_selection impor train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.25)

Pembuatan Model: Langkah ini sebenarnya cukup sederhana. Setelah kami memutuskan model mana yang akan diterapkan pada data, kami dapat membuat objek dari kelas yang sesuai, dan menyesuaikan objek tersebut pada set pelatihan kami, dengan mempertimbangkan X_train sebagai input dan y_train sebagai output.

dari sklearn. import classifier = () classifier.fit (X_train, y_train)

Modelnya sekarang sudah terlatih dan siap. Sekarang kita dapat menerapkan model kita ke set pengujian, dan menemukan keluaran yang diprediksi.

y_pred = classifier.predict (X_test)

Melihat Hasil: Kinerja pengklasifikasi dapat dinilai dengan parameter akurasi, presisi, perolehan, dan skor f1. Nilai-nilai ini dapat dilihat menggunakan metode yang dikenal sebagai klasifikasi_report (). t juga dapat dilihat sebagai matriks kebingungan yang membantu kita mengetahui berapa banyak dari kategori data mana yang telah diklasifikasikan dengan benar.

apa itu variabel instance di java
dari sklearn.metrics impor confusion_matrix cm = confusion_matrix (y_test, y_pred) print (cm) dari sklearn.metrics impor klasifikasi_report target_names = [] print (klasifikasi_report (y_test, y_pred, target_names = target_names))

Masalah Pengklasifikasi Pembelajaran Mesin

Kami akan menggunakan kumpulan data Iris yang sangat populer dan sederhana, yang berisi dimensi bunga dalam 3 kategori - Iris-setosa, Iris-versicolor, dan Iris-virginica. Ada 150 entri dalam dataset.

# Mengimpor perpustakaan import numpy as np import matplotlib.pyplot as plt import pandas as pd # Mengimpor dataset dataset = pd.read_csv ('iris.csv')

Mari kita lihat datasetnya sekarang.

dataset.head ()

apa format lakukan di python

Kami memiliki 4 variabel independen (tidak termasuk Id), yaitu kolom nomor 1-4, dan kolom 5 adalah variabel dependen. Jadi kita bisa memisahkan mereka.

X = dataset.iloc [:, 1: 5] .values ​​y = dataset.iloc [:, 5] .values

Sekarang kita dapat Membagi Set Data menjadi Pelatihan dan Pengujian.

# Memisahkan dataset menjadi set Pelatihan dan set Pengujian dari sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.25)

Sekarang kita akan menerapkan pengklasifikasi Regresi Logistik ke dataset.

# Membangun dan melatih model dari sklearn.linear_model import LogisticRegression classifier = LogisticRegression () classifier.fit (X_train, y_train) # Memprediksi hasil set Pengujian y_pred = classifier.predict (X_test)

Langkah terakhir adalah menganalisis kinerja model yang dilatih.

# Membuat Confusion Matrix dari sklearn.metrics import confusion_matrix cm = confusion_matrix (y_test, y_pred) print (cm)

Ini menunjukkan kepada kita bahwa 13 entri dari kategori pertama, 11 dari kategori kedua, dan 9 dari kategori ketiga diprediksi dengan benar oleh model.

# Menghasilkan akurasi, presisi, perolehan, dan skor f1 dari sklearn.metrics import klasifikasi_report target_names = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica'] print (klasifikasi_laporan (y_test, y_pred, target_names = target_names) )

Laporan tersebut menunjukkan nilai presisi, perolehan, skor f1, dan akurasi model pada set pengujian kami, yang terdiri dari 38 entri (25% dari kumpulan data).

Selamat, Anda telah berhasil membuat dan menerapkan pengklasifikasi pembelajaran mesin pertama Anda dengan Python! Untuk mendapatkan pengetahuan yang mendalam tentang bersama dengan berbagai aplikasinya, Anda dapat mendaftar untuk pelatihan online Python secara langsung dengan dukungan 24/7 dan akses seumur hidup.