Menerapkan Jaringan Syaraf Tiruan Dari Awal dengan Python [Dengan Contoh]

Diterbitkan: 2020-12-07

Pada artikel ini, kita akan mempelajari cara melatih dan membangun Neural Network dari Awal.

Kami akan menggunakan dataset Churn untuk melatih jaringan saraf kami. Pelatihan jaringan saraf tidak rumit. Kami perlu melakukan pra-proses data kami sehingga model kami dapat dengan mudah mengambil data kami dan melatih dirinya sendiri tanpa hambatan. Anda akan melanjutkan sebagai berikut:

  • Instal Tensorflow
  • Impor Perpustakaan
  • Impor Kumpulan Data
  • Ubah data masukan
  • Pisahkan datanya
  • Inisialisasi model
  • Bangun modelnya
  • Latih modelnya
  • Evaluasi modelnya

Churn rate adalah ukuran pelanggan suatu perusahaan atau pihak yang cenderung berhenti dalam jangka waktu tertentu. Tingkat ini memainkan peran penting dalam menentukan keuntungan dan membentuk rencana untuk mendapatkan pelanggan baru. Secara sederhana, kita dapat mengatakan bahwa pertumbuhan perusahaan dapat diukur dengan tingkat Churn.

Dalam kumpulan data ini, kami memiliki tiga belas fitur, tetapi kami hanya menggunakan beberapa fitur yang memenuhi persyaratan kami untuk memprediksi kemungkinan penghentian pengguna.

Pelajari kursus online pembelajaran mesin dari Universitas top dunia. Dapatkan Master, PGP Eksekutif, atau Program Sertifikat Tingkat Lanjut untuk mempercepat karier Anda.

Daftar isi

Instal TensorFlow

Kami dapat menggunakan Google Colab jika PC atau laptop Anda tidak memiliki GPU atau Anda dapat menggunakan Notebook Jupyter. Jika Anda menggunakan sistem Anda, tingkatkan pip, lalu instal TensorFlow sebagai berikut.

Sumber gambar

Impor Perpustakaan

Pada baris kode di atas, saya baru saja mengimpor semua perpustakaan yang saya perlukan dalam prosesnya.

Numpy Ini adalah perpustakaan yang digunakan untuk melakukan operasi matematika pada array.

Pandas Untuk memuat file data sebagai bingkai data Pandas dan menganalisis data.

Matplotlib Saya telah mengimpor pyplot untuk memplot grafik data .

Impor Kumpulan Data

Dataset kami dalam format CSV, jadi kami memuat dataset menggunakan operasi pandas. Kemudian kami membagi dataset menjadi variabel Dependent dan Independent, di mana X dianggap sebagai Independen, dan Y dianggap sebagai Dependent.

Ubah datanya

Dalam dataset kami, kami memiliki dua fitur kategoris, Geografi dan Gender. Kita perlu membuat dummies untuk kedua fitur ini, jadi kita menggunakan metode get_dummies dan kemudian menambahkannya ke Data Fitur Independen kita.

Setelah kami selesai membuat boneka dan menggabungkannya ke data kami, kami akan menghapus fitur asli, yaitu Gender dan Geografi, dari data kereta kami.

Baca: Pembelajaran Mesin vs Jaringan Neural

Pisahkan data

Dari Sklearn, sub-library model_selection, kita akan mengimpor train_test_split, yang digunakan untuk membagi set train dan test. Kita bisa menggunakan fungsi train_test_split untuk melakukan split. test_size = 0,3 menunjukkan persentase data yang harus disimpan untuk pengujian.

Normalisasikan data

Sangat penting untuk memastikan bahwa semua nilai fitur berada dalam rentang yang sama. Akan sulit bagi model untuk mempelajari pola yang mendasari antara fitur dan mempelajari cara membuat keputusan, jadi kami menormalkan data kami ke dalam rentang yang sama menggunakan metode StandardScaler .

Impor dependensi

Sekarang, kami akan mengimpor fungsionalitas yang diperlukan untuk membangun jaringan saraf yang dalam.

Bangun Modelnya

Saatnya untuk membangun model kita!. Sekarang mari kita inisialisasi model sekuensial kita. API sekuensial memungkinkan Anda membuat model lapis demi lapis untuk sebagian besar masalah.

Hal pertama yang perlu kita lakukan sebelum membangun model adalah membuat objek model itu sendiri. Objek ini akan menjadi turunan dari kelas yang disebut Sequential.

Menambahkan lapisan pertama yang terhubung sepenuhnya

Jika Anda tidak mengetahui jenis lapisan dan fungsinya, saya sarankan untuk memeriksa blog saya di Pengantar Neural Networks, yang memungkinkan Anda mengetahui sebagian besar konsep yang harus Anda ketahui.

Ini berarti bahwa output operasi ini harus memiliki enam neuron di mana kita menerapkan fungsi aktivasi ReLU untuk mematahkan linearitas, dan jumlah neuron input adalah 11. Kita menambahkan semua hyperparameter ini menggunakan metode .add() .

Kami akan menambahkan lapisan tersembunyi dengan konfigurasi yang sama di mana output dari lapisan tersembunyi ini akan memiliki enam node.

Lapisan Keluaran

Keluaran lapisan ini hanya akan memiliki satu simpul, yang memberi tahu apakah pengguna tetap atau meninggalkan langganan. Pada lapisan ini, kami menggunakan sigmoid sebagai fungsi aktivasi kami.

Pelajari tentang: Deep Learning vs Neural Networks

kompilasi

Sekarang kita perlu menghubungkan jaringan kita dengan pengoptimal. Pengoptimal akan memperbarui bobot jaringan kami berdasarkan kesalahan. Proses ini dikenal sebagai backpropagation.

Di sini kita akan menggunakan adam sebagai pengoptimal kami. Karena hasil kami dalam bentuk biner, kami menggunakan entropi silang biner, dan metrik yang kami gunakan adalah akurasi .

Melatih model

Tahap ini adalah jalur penting di mana kita perlu melatih model kita untuk mempelajari pola yang mendasarinya, hubungan antara data, dan memprediksi hasil baru berdasarkan pengetahuannya.

Kami menggunakan metode model.fit() untuk melatih model. Kami melewati tiga argumen di dalam metode, yaitu

input x_train adalah input yang diumpankan ke jaringan

output ini berisi jawaban yang benar untuk x_train, yaitu, y_train

no.of.epochs Ini berarti berapa kali Anda akan melatih jaringan dengan dataset.

Evaluasi

Anda dapat mengevaluasi kinerja model dengan mengimpor akurasi_score dari perpustakaan sklearn di mana Anda harus meneruskan dua argumen. Salah satunya adalah output aktual, dan yang lainnya adalah output yang diprediksi.

Baca juga : Aplikasi Neural Network di Dunia Nyata

Kesimpulan

Itu saja untuk saat ini. Saya harap Anda menikmati membangun jaringan saraf pertama Anda. Selamat Belajar!

Jika Anda tertarik untuk mempelajari lebih lanjut tentang Pembelajaran Mesin, lihat Program PG Eksekutif IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk para profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas, IIIT -B Status Alumni, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Pimpin Revolusi Teknologi Berbasis AI

Mendaftar untuk Magister Sains dalam Pembelajaran Mesin & Kecerdasan Buatan