Analisis diskriminan linier (LDA) adalah pendekatan yang digunakan dalam machine learning yang diawasi untuk memecahkan masalah klasifikasi multi-kelas. LDA memisahkan beberapa kelas dengan beberapa fitur melalui pengurangan dimensi data. Teknik ini penting dalam ilmu data karena membantu mengoptimalkan model machine learning.
Analisis diskriminan linier, juga dikenal sebagai analisis diskriminan normal (NDA) atau analisis fungsi diskriminan (DFA), mengikuti kerangka kerja model generatif. Ini berarti algoritme LDA memodelkan distribusi data untuk setiap kelas dan menggunakan teorema Bayes1 untuk mengklasifikasikan titik data baru. Bayes menghitung probabilitas bersyarat - probabilitas suatu peristiwa jika beberapa peristiwa lain telah terjadi. Algoritma LDA membuat prediksi dengan menggunakan Bayes untuk menghitung probabilitas apakah input data akan termasuk dalam hasil tertentu. Untuk ulasan tentang statistik Bayesian dan bagaimana dampaknya terhadap algoritma pembelajaran yang diawasi, lihat pengklasifikasi Naïve Bayes.
LDA bekerja dengan mengidentifikasi kombinasi linear fitur yang memisahkan atau mengkarakterisasi dua atau lebih kelas objek atau peristiwa. LDA melakukan ini dengan memproyeksikan data dengan dua atau lebih dimensi ke dalam satu dimensi sehingga dapat diklasifikasikan dengan lebih mudah. Oleh karena itu, teknik ini terkadang disebut sebagai reduksi dimensionalitas. Fleksibilitas ini memastikan bahwa LDA dapat digunakan untuk masalah klasifikasi data multikelas, tidak seperti regresi logistik, yang terbatas pada klasifikasi biner. Dengan demikian, LDA sering diterapkan untuk meningkatkan operasi algoritma klasifikasi pembelajaran lainnya seperti decision trees, hutan acak ,atau mesin vektor pendukung (SVM).
Analisis diskriminan linier (LDA) didasarkan pada diskriminan linier Fisher, sebuah metode statistik yang dikembangkan oleh Sir Ronald Fisher pada tahun 1930-an dan kemudian disederhanakan oleh C. R. Rao sebagai versi multi-kelas. Metode Fisher bertujuan untuk mengidentifikasi kombinasi linear dari fitur yang membedakan antara dua atau lebih kelas dari objek atau peristiwa yang diberi label.
Metode Fisher mengurangi dimensi dengan memisahkan kelas data yang diproyeksikan. Pemisahan berarti memaksimalkan jarak antara mean yang diproyeksikan dan meminimalkan varians yang diproyeksikan di dalam kelas.
Misalkan bank harus memutuskan apakah akan menyetujui atau menolak pengajuan pinjaman. Bank menggunakan dua fitur untuk membuat keputusan ini: skor kredit pemohon dan pendapatan tahunan.
Di sini, dua fitur atau kelas diplot pada bidang 2 dimensi (2D) dengan sumbu X-Y. Jika kita mencoba mengklasifikasikan persetujuan hanya menggunakan satu fitur, kita mungkin akan melihat tumpang tindih. Dengan menerapkan LDA, kita dapat menggambar garis lurus yang benar-benar memisahkan dua titik data kelas ini. LDA mencapai hal ini dengan menggunakan sumbu X-Y untuk membuat sumbu baru, memisahkan kelas-kelas yang berbeda dengan garis lurus dan memproyeksikan data ke sumbu baru.
Untuk membuat sumbu baru ini dan mengurangi dimensionalitas, LDA mengikuti kriteria berikut:
LDA beroperasi dengan memproyeksikan ruang fitur, yaitu kumpulan data dengan n-dimensi, ke ruang yang lebih kecil "k", di mana k kurang dari atau sama dengan n - 1, tanpa kehilangan informasi kelas. Model LDA terdiri dari properti statistik yang dihitung untuk data di setiap kelas. Jika terdapat beberapa fitur atau variabel, properti ini dihitung melalui distribusi Gaussian multivariat3.
Multivariat adalah:
Properti statistik yang diperkirakan dari kumpulan data dimasukkan ke dalam fungsi LDA untuk membuat prediksi dan membuat model LDA. Ada beberapa kendala yang perlu diingat, karena model mengasumsikan hal berikut:
Karena alasan tersebut, LDA mungkin tidak efisien dalam ruang fitur berdimensi tinggi.
Pengurangan dimensi melibatkan pemisahan titik data dengan garis lurus. Secara matematis, transformasi linier dianalisis menggunakan vektor eigen dan nilai eigen. Bayangkan Anda telah memetakan kumpulan data dengan beberapa fitur, menghasilkan diagram pencar multi-dimensi. Vektor eigen memberikan "arah" dalam diagram pencar. Nilai eigen menunjukkan pentingnya data arah ini. Nilai eigen yang tinggi berarti vektor eigen terkait lebih penting.
Selama reduksi dimensi, vektor eigen dihitung dari kumpulan data dan dikumpulkan dalam dua matriks pencar:
Untuk menggunakan LDA secara efektif, penting untuk menyiapkan kumpulan data terlebih dahulu. Ini adalah langkah-langkah dan praktik terbaik untuk menerapkan LDA:
1. Memproses data untuk memastikan bahwa data telah dinormalisasi dan dipusatkan
Hal ini dicapai dengan meneruskan parameter n-komponen LDA, yang mengidentifikasi jumlah diskriminan linier yang akan diambil.
2. Memilih jumlah dimensi yang sesuai untuk ruang dimensi yang lebih rendah
Hal ini dicapai dengan meneruskan parameter n-komponen LDA, yang mengidentifikasi jumlah diskriminan linier yang akan diambil.
3. Regularisasi model
Regularisasi bertujuan untuk mencegah overfitting, di mana model statistik sangat cocok dengan data pelatihannya dan mengurangi keakuratannya.
4. Menggunakan validasi silang untuk mengevaluasi kinerja model
Anda dapat mengevaluasi pengklasifikasi seperti LDA dengan memplotkan matriks kebingungan, dengan nilai kelas aktual sebagai baris dan nilai kelas yang diprediksi sebagai kolom. Matriks kebingungan memudahkan untuk melihat apakah pengklasifikasi membingungkan dua kelas - yaitu, salah memberi label pada satu kelas sebagai kelas lainnya. Sebagai contoh, pertimbangkan matriks kebingungan 10 x 10 yang memprediksi gambar dari nol hingga 9. Data aktual digambarkan dalam baris pada sumbu y. Prediksi diplot dalam kolom pada sumbu x. Untuk melihat berapa kali pengklasifikasi mengacaukan gambar 4 dan 9 pada contoh matriks kebingungan 10 x 10, Anda akan memeriksa baris ke-4 dan kolom ke-9.
Fungsi diskriminan linier membantu membuat keputusan dalam masalah klasifikasi dengan memisahkan titik data berdasarkan fitur dan mengklasifikasikannya ke dalam kategori atau kelas yang berbeda. Proses perhitungan dapat diringkas dalam langkah-langkah utama berikut:
Varians antar-kelas adalah keterpisahan antar kelas—jarak antara mean kelas.
Varians dalam-kelas adalah jarak antara mean kelas dan sampel.
Ini memaksimalkan varians antar-kelas dan meminimalkan varians dalam-kelas. Kita dapat merepresentasikan fungsi diskriminan linier untuk dua kelas secara matematis dengan yang berikut ini.
δ(x) = x * ( σ2 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
Di mana:
Mari kita gunakan persamaan untuk menyelesaikan contoh persetujuan pinjaman. Sebagai rangkuman, bank harus memutuskan apakah akan menyetujui atau menolak aplikasi pinjaman. Bank menggunakan dua fitur untuk membuat keputusan ini: skor kredit pemohon (x) dan pendapatan tahunan. Bank telah mengumpulkan data historis tentang pemohon pinjaman sebelumnya dan apakah pinjaman tersebut disetujui.
Dengan menggunakan fungsi diskriminan linier, bank dapat menghitung skor (δ(x)) untuk setiap pengajuan pinjaman.
Persamaan untuk fungsi diskriminan linier mungkin terlihat mirip dengan ini:
δ(x) = x * ( σ2 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
Bank menghitung fungsi diskriminan linier untuk setiap aplikasi pinjaman.
Dengan demikian, bank dapat mengotomatiskan proses persetujuan pinjaman, membuat keputusan yang lebih cepat dan konsisten sambil meminimalkan bias manusia.
Ini adalah skenario umum di mana LDA dapat diterapkan untuk mengatasi masalah yang kompleks dan membantu organisasi membuat keputusan yang lebih baik.
Untuk mengurangi risiko, lembaga keuangan harus mengidentifikasi dan meminimalkan kredit macet. LDA dapat membantu mengidentifikasi calon pemohon yang mungkin akan gagal membayar pinjaman dari calon pemohon yang layak mendapatkan kredit dengan mengelompokkan faktor keuangan dan data perilaku.
Diagnosis penyakit yang cepat dan akurat sangat penting untuk pengobatan yang efektif. Rumah sakit dan penyedia layanan kesehatan harus menafsirkan sejumlah besar data medis. LDA membantu menyederhanakan kumpulan data yang kompleks dan meningkatkan akurasi diagnostik dengan mengidentifikasi pola dan hubungan dalam data pasien.
Untuk pemasaran yang efektif, bisnis e-commerce harus dapat mengkategorikan basis pelanggan yang beragam. LDA sangat penting dalam melakukan segmentasi pelanggan, sehingga memungkinkan perusahaan e-commerce menyesuaikan strategi pemasaran mereka untuk berbagai kelompok pelanggan. Hasilnya adalah pengalaman belanja yang lebih personal, meningkatkan loyalitas pelanggan dan penjualan.
Memproduksi barang berkualitas tinggi sambil meminimalkan cacat merupakan tantangan mendasar. Data sensor dari mesin dapat digunakan dengan LDA untuk mengidentifikasi pola yang terkait dengan kecacatan. Dengan mendeteksi ketidakwajaran secara real-time, produsen dapat mengambil tindakan korektif segera, dan mereka dapat meningkatkan kualitas produk serta mengurangi pemborosan.
Anda dapat memaksimalkan anggaran iklan Anda dengan menargetkan audiens yang tepat dengan konten yang dipersonalisasi, tetapi mengidentifikasi segmen audiens tersebut bisa jadi sulit. LDA dapat menyederhanakan proses ini dengan mengklasifikasikan atribut dan perilaku pelanggan, sehingga meningkatkan penyesuaian kampanye iklan. Pendekatan ini dapat menghasilkan laba atas investasi (ROI) yang lebih tinggi dan pengalaman pelanggan yang lebih baik.
Untuk mempelajari lebih dalam tentang analisis diskriminan linier dengan Python dan memanfaatkan pustaka scikit-learn, Anda dapat menjelajahi tutorial Belajar algoritma klasifikasi menggunakan Python dan scikit-learn di IBM watsonx. Tutorial ini membantu Anda dengan dasar-dasar pemecahan masalah machine learning berbasis klasifikasi menggunakan Python dan scikit-learn (juga dikenal sebagai sklearn).
Untuk tutorial langkah demi langkah ini, pertama-tama Anda akan mengimpor pustaka Python yang diperlukan untuk bekerja dengan kumpulan data Iris, melakukan prapemrosesan data, dan membuat serta mengevaluasi model LDA Anda:
<Python code snippet>
import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn import seaborn as sns from sklearn.preprocessing import StandardScaler, LabelEncoder from sklearn.model_selection import train_test_split from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, confusion_matrix
Jika pustaka tidak diinstal, Anda dapat menyelesaikannya menggunakan pip install.
Lihat juga dokumentasi scikit-learn ini untuk ringkasan parameter utama, atribut, dan contoh umum implementasi Python menggunakan sklearn.discriminant_analysis.LinearDiscriminantAnalysis.
Memahami keuntungan dan keterbatasan analisis diskriminan linier (LDA) sangat penting ketika menerapkannya pada berbagai masalah klasifikasi. Pengetahuan tentang manfaat dan kerugian membantu para ilmuwan data dan praktisi machine learning membuat keputusan berdasarkan informasi tentang kesesuaiannya untuk tugas tertentu.
- Distribusi mean yang sama: LDA menghadapi tantangan ketika distribusi kelas mempunyai mean yang sama. LDA akan kesulitan untuk membuat sumbu baru yang secara linier memisahkan kedua kelas. Akibatnya, LDA mungkin tidak secara efektif membedakan antara kelas dengan sifat statistik yang tumpang tindih. Misalnya, bayangkan skenario di mana dua spesies bunga memiliki panjang dan lebar kelopak yang sangat mirip. LDA mungkin merasa sulit untuk memisahkan spesies ini berdasarkan fitur-fitur ini saja. Teknik alternatif, seperti metode analisis diskriminan nonlinier, lebih disarankan di sini.
- Tidak cocok untuk data yang tidak berlabel: LDA diterapkan sebagai algoritma pembelajaran yang diawasi–yaitu, algoritma ini mengklasifikasikan atau memisahkan data berlabel. Sebaliknya, analisis komponen utama (PCA), teknik reduksi dimensi lainnya, mengabaikan label kelas dan mempertahankan varians.
IBM Granite adalah rangkaian model AI kami yang terbuka, berkinerja, dan tepercaya, yang dirancang untuk bisnis dan dioptimalkan untuk menskalakan aplikasi AI Anda. Jelajahi opsi bahasa, kode, deret waktu, dan batasan.
Kami menyurvei 2.000 organisasi tentang inisiatif AI mereka untuk mengetahui apa yang berhasil, apa yang tidak, dan cara Anda untuk maju.
Jelajahi pendekatan pembelajaran yang diawasi seperti mesin vendor pendukung dan pengklasifikasi probabilistik.
Belajar konsep dasar dan bangun keterampilan Anda dengan laboratorium praktis, kursus, proyek terpandu, uji coba, dan lainnya.
Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.
Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.
Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.
1 James Joyce, Bayes' Theorem, Stanford Encyclopedia of Philosophy, 2003
2Dan A. Simovici, Catatan kuliah tentang Nama Diskriminan Linier Fisher, 2013
3 Penn State Eberly College of Science, Linear Discriminant Analysis, 2023
4 J. T. Oates, Catatan kuliah tentang Analisis Diskriminan Linier, 2014
5 Guangliang Chen, lecture notes on Linear Discriminant Analysis (LDA), 2020
6, 7 sci-kit learn, Linear and Quadratic Discriminant Analysis, 2023
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io