SKLearn 12 | Logistic Regression pada Binary Classification Task | Belajar Machine Learning Dasar

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ค. 2024
  • Salam Indonesia Belajar!!!
    Binary Classification dengan Logistic Regression.
    Video ini adalah video keduabelas, dari video berseri atau playlist bertema Belajar Machine Learning dengan Python.
    Dalam sesi belajar kali ini kita akan mempelajari:
    00:00 - Intro
    02:21 - Formula dasar pembentuk Logistic Regression | Fungsi Sigmoid
    09:12 - Persiapan dataset | SMS Spam Collection Dataset
    13:36 - Pembagian training dan testing set
    17:32 - Feature extraction dengan TF-IDF
    19:23 - Binary Classification dengan Logistic Regression
    20:55 - Evaluation Metrics pada Binary Classification Task
    23:25 - Pengenalan Confusion Matrix
    29:44 - Pengenalan Accuracy Score
    31:38 - Pengenalan Precision dan Recall
    39:22 - Pengenalan F1 Score | F1 Measure
    40:48 - Pengenalan ROC | Receiver Operating Characteristic
    Apa itu Scikit-Learn?
    Scikit-Learn merupakan module dalam pemrograman Python yang memfasilitasi kita untuk mengerjakan berbagai machine learning project. Awalnya Scikit-Learn ini digarap sebagai bagian dari Google Summer of Code projec pada tahun 2007. Istilah Scikit sendiri merupakan kependekan dari SciPy Toolkits; karena memang project ini diperuntukkan sebagai extension untuk SciPy yang merupakan Scientific module dalam pemrograman python. Code base dari project ini lalu ditulis ulang dan mulai dibentuk tim khusus untuk mengembangkan project ini dengan lebih serius. Di awal tahun 2010, project Scikit-Learn ini dirilis ke publik dan berhasil menarik banyak contributor yang akhirnya menjadikan project ini terus berkembang sampai saat ini. Bahkan di tahun 2012, Scikit-Learn dikenal sebagai machine learning library yang paling populer dan well maintained.
    Materi dalam seri pembelajaran ini kami susun sedemikian rupa agar mudah diikuti, dan selalu kami awali dengan materi2 yang sifatnya mendasar terlebih dahulu. Kami berharap materi pembelajaran Machine Learning Dasar ini dapat bermanfaat dan membantu proses belajar kalian.
    Bilamana ada pertanyaan ataupun masukan terkait materi yang kami sampaikan, kalian dapat mengajukan pertanyaan dan masukan kalian, melalui kolom komentar video. Kami akan selalu berusaha untuk merespon setiap pertanyaan dan masukan yang kalian ajukan.
    Bagi teman-teman yang ingin mentraktir kami, silakan untuk memanfaatkan link Saweria berikut ini: saweria.co/belajaridn
    Bagi teman-teman yang tertarik, silakan untuk bergabung juga dengan Discord server Indonesia Belajar: / discord
    Dataset SMS Spam Collection: archive.ics.uci.edu/ml/datase...
    Links terkait:
    - Scikit-Learn: scikit-learn.org/stable/index...
    - SciPy: www.scipy.org/
    - Matplotlib: matplotlib.org/
    - Pandas: pandas.pydata.org/
    - Anaconda: www.anaconda.com/
    - Referensi Logistic Regression: en.wikipedia.org/wiki/Logisti...
    - Referensi Confusion Matrix: en.wikipedia.org/wiki/Confusi...
    - Referensi Accuracy: en.wikipedia.org/wiki/Accurac...
    - Referensi Precision & Recall: en.wikipedia.org/wiki/Precisi...
    - Referensi Positive Predictive Value: en.wikipedia.org/wiki/Positiv...
    - Referensi True Positive Rate: en.wikipedia.org/wiki/Sensiti...
    - Referensi F1 Score: en.wikipedia.org/wiki/F-score
    - Referensi ROC: en.wikipedia.org/wiki/Receive...
    Keywords:
    - Belajar Machine Learning Dasar
    - Belajar Machine Learning Pemula
    - Tutorial Machine Learning Dasar
    - Belajar Machine Learning dengan Python
    - Tutorial Machine Learning dengan Python
    - Belajar Scikit-Learn
    - Belajar Data Science
    - Belajar Logistic Regression
    - Belajar Binary Classification Task
    #LogisticRegression #MachineLearning #Classification

ความคิดเห็น • 50

  • @triabadi4555
    @triabadi4555 3 ปีที่แล้ว +1

    Mantabb, link archive nya tidak bisa di akses pak untuk donlod datasetnya, ada alternative link lain kah pak ? Thankyou

    • @belajaridn
      @belajaridn  3 ปีที่แล้ว +1

      Nampaknya repository UCI ML ini sedang tidak bisa diakses untuk saat ini. Mungkin bisa menunggu besok atau beberapa hari ke depan.
      Kemungkinan meraka sedang melakukan maintenance.

    • @triabadi4555
      @triabadi4555 3 ปีที่แล้ว +1

      @@belajaridn oh seperti itu ya pak pantes tidak bisa di akses, terima kasih pak infonya 🙏🏻

    • @belajaridn
      @belajaridn  3 ปีที่แล้ว

      Iya, akhir2 ini memang sedang banyak maintenance di UCI ML.

  • @iNTERnazionaleNotizia589
    @iNTERnazionaleNotizia589 ปีที่แล้ว +2

    Channel ini sebenarnya materinya lebih deep daripada Web Programming UNPAS...
    Banyak banget yg dibahas, playlist berlimpah
    Entah kenapa subscribernya dikit
    Coba adakan Live streaming Pak, biar lebih dekat sama subscriber, dan agar subscriber bisa sawer/give ke Channel ini

    • @belajaridn
      @belajaridn  ปีที่แล้ว

      Terima kasih, channel Indonesia Belajar ini sebenarnya juga terinspirasi oleh channel Web Programming Unpas dan memang ditujukan untuk berbagi pengetahuan saya yang sebenarnya masih terbilang dangkal dalam bidang data science dan computer science secara umum 😊🙏

  • @girifirmansyah.2761
    @girifirmansyah.2761 10 หลายเดือนก่อน +2

    ijin bertanya pak.
    1. pas waktu feature extraction (tf-idf) kenapa x_train di fit dan transform tetapi x_test hanya di transform doang? kalo di dalam bag words nya ga ada salah satu kata dari y_test nya gimana?
    2. pas training model kok x_trainnya ga dijadikan matriks dulu? kenapa bisa begitu?
    terima kasih untuk perhatian serta ilmunya 🙏

  • @asep7149
    @asep7149 2 ปีที่แล้ว +1

    mantap.. update terus tutorialnya

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว

      Semoga bermanfaat ya 😊☕🙏

  • @tehkotak7863
    @tehkotak7863 2 ปีที่แล้ว +1

    terima kasih pak sangat mudah dimengerti. semoga sehat selalu pak

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว

      Sama-sama, senang bisa membantu 😊☕🙏

  • @pakdedivanboxchannel3818
    @pakdedivanboxchannel3818 2 ปีที่แล้ว

    pak ijin bertanya, apakah pembobotan TF-ABS merupakan perhitungan yang menggunakan logistic regression?

  • @rizkiyoga9704
    @rizkiyoga9704 2 ปีที่แล้ว +1

    Pak videonya bagus, sangat mudah dimengerti, kedepannya request dong pak untuk unsupervised learningnya

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว +1

      Terima kasih untuk feedback nya ☺️☕🙏
      Untuk supervised learning akan kami garap selepas menuntaskan materi supervised learning. Hanya saja untuk sekarang ini mesti tersendat karena sedang mengajar matakuliah lain di kampus ☺️🙏

  • @galanglawendatu4756
    @galanglawendatu4756 8 หลายเดือนก่อน +1

    🎯 Key Takeaways for quick navigation:
    00:00 📚 This video is the twelfth in a series about learning machine learning with Python, focusing on logistic regression for binary classification tasks.
    01:26 🧠 Logistic regression is used for classification tasks, even though its name implies regression, and its key concept is to predict values between 0 and 1.
    05:33 📈 Simple linear regression deals with one feature, while multiple linear regression deals with multiple features, and both formulas can be represented similarly.
    08:40 🎯 Logistic regression predicts values approaching 0 as one class and values approaching 1 as the other class in binary classification tasks.
    12:00 📊 The video uses Logistic Regression to predict whether SMS messages are spam or ham, representing a binary classification problem.
    13:18 💻 The dataset is split into training and testing sets for model evaluation, with the training set representing 70% and the testing set 25% of the data.
    16:26 🔢 Data preprocessing involves transforming text data into numerical data for analysis.
    18:00 📊 Tf-idf vectorization is used to convert text data into numerical feature vectors.
    19:48 🧮 Logistic regression is employed for classifying spam and ham in the SMS dataset.
    23:27 📉 The confusion matrix is used to evaluate the performance of the classification model.
    25:56 📊 Visualizing the confusion matrix aids in interpreting the classification model's results.
    30:00 ✔️ Accuracy is a metric used to measure the proportion of correct predictions made by the model.
    31:09 ✔️ Precision is a measure of the performance of a classifier, calculated based on the value of precision.
    32:16 📊 The Wikipedia illustration depicts areas in binary classification, including true positive, false positive, true negative, and false negative classifications.
    35:39 🎯 The Wikipedia page offers deeper insights into precision and recall, aiding in a better understanding of the concepts.
    40:07 📈 The F1 score, a harmonic mean of precision and recall, is a useful metric for evaluating a model's performance.
    41:20 📊 ROC (Receiver Operating Characteristic) provides a visualization of a classifier's performance, comparing true positive rate with false positive rate.
    42:38 📉 A ROC curve closer to the top-left corner indicates a better-performing model, while the bottom-right suggests a weaker one.
    45:19 📊 AUC (Area Under the Curve) measures the area below the ROC curve, serving as an indicator of a model's overall performance.
    Made with HARPA AI

  • @ahnafmuttaqin3869
    @ahnafmuttaqin3869 2 ปีที่แล้ว

    Apakah datanya bisa divisualisasi pakai scatter plot ya pak?

  • @iNTERnazionaleNotizia589
    @iNTERnazionaleNotizia589 ปีที่แล้ว

    Pak, kenapa memakai ravel()? Bukankah bisa memakain flatten()?

  • @nurulizzah4068
    @nurulizzah4068 ปีที่แล้ว

    Bertanya kak
    Jika saya fiturnya hasil TFIDF dna target nilai numerik..berarti tidak perlu proses LabelBinarizer?

  • @hsukri9959
    @hsukri9959 ปีที่แล้ว

    Terimakasih atas penjelasannya kak. Saya ingin bertanya tujuan regresi logisitk machine learning ini apa ya? Apakah bisa memperoleh faktor2 yang berpengaruh? Tapi jika model yg diperoleh tidak ada faktor yg berpengaruh bgmn kak? Terimakasig

  • @13_eliaroysandimanurun94
    @13_eliaroysandimanurun94 4 หลายเดือนก่อน

    penjelasan dan materi yg sangat menarik, tapi terdapat noise di suaranya.
    telinga jadi sangat sakit dan kurang nyaman saat menyimak

  • @williamvinct
    @williamvinct 2 ปีที่แล้ว +2

    Susah tapi seru wkwkwkw

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว +1

      Semoga bisa bermanfaat ya 😊☕🙏

    • @williamvinct
      @williamvinct 2 ปีที่แล้ว +1

      @@belajaridn terima kasih pak 🙏

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว +1

      Sama-sama, senang bisa membantu 😊☕🙏

  • @gifahriimanrabani250
    @gifahriimanrabani250 10 หลายเดือนก่อน

    apakah harus pintar mtk untuk bisa jago machine learninng

  • @hailebraile
    @hailebraile 2 ปีที่แล้ว +1

    bang mau tanya, evaluatuin metricsnya boleh milih salah satu apa harus semuanya?

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว

      Boleh memilih sesuai dengan kebutuhan 😊☕

  • @ardiansyahzainal7446
    @ardiansyahzainal7446 2 ปีที่แล้ว +1

    logistik regresi itu hanya digunakan untuk 2 pilihan saja yah, misal lebih dari 2 pilihan apa bisa m ?

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว

      Logistic Regression awalnya memang ditujukan hanya untuk Binary Classifications, tetapi sekarang ini sudah dikembangkan untuk bisa menangani Multi Class 😊☕👍

  • @novialusiana3921
    @novialusiana3921 3 ปีที่แล้ว +1

    Sangat bermanfaat sekali. Saya ingin menanyakan soal data input, kalau dicontoh data inputnya sudah ada pengklasifikasian antara spam and ham, semisal data inputnya berupa angka dari sampel tanpa ada pengklasifikasian apa bisa diolah? Kemudian untuk analisis logistic regression, jika ada lebih dari dua independen variabel apakah memungkinkan menentukan variabel yang paling berpengaruh terhadap dependennya melalui analisis logistic regression? Terimakasih.

    • @belajaridn
      @belajaridn  3 ปีที่แล้ว +1

      Salah satu ciri utama dari supervised learning adalah ketersediaan training set yang disertai target label yang relevan. Silakan untuk mempelajari video pertama dalam sesi Belajar Machine Learning ini. Logistic Regression juga pernah kami bahas dalam seri belajar ini.

    • @novialusiana3921
      @novialusiana3921 3 ปีที่แล้ว +1

      @@belajaridn Baik berarti sebenarnya label klasifikasi untuk test set ya? berarti harus disediakan minimal dua jenis Classification label (tidak bisa menggunakan homogen data) supaya program mampu membaca target pola pengklasifikasian.

    • @belajaridn
      @belajaridn  3 ปีที่แล้ว

      Labeled data digunakan baik untuk training maupun testing set. Training set digunakan sebagai bahan bagi model untuk belajar, sedangkan testing set digunakan untuk melakukan evaluasi terhadap performa dari model yang sudah ditraining sebelumnya. Kami sudah jelaskan ini juga di beberapa video awal dari seri belajar machine learning.

  • @prayogatriady6708
    @prayogatriady6708 2 ปีที่แล้ว +2

    Pak boleh tolong dishare kah notebook nya? dan mohon maaf sepertinya rumus f1 score nya kurang dikalikan dengan 2 Pak, cmiiw.

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว

      Untuk notebook nya bisa di-clone dari Github repository saya. Link mestinya tersedia di halaman muka atau header dari channel Indonesia Belajar ini 😊🙏

    • @prayogatriady6708
      @prayogatriady6708 2 ปีที่แล้ว

      @@belajaridn wah terima kasih banyak Pak atas fast respon nya.. kalo terkait F1 score bagaimana ya Pak?

    • @belajaridn
      @belajaridn  2 ปีที่แล้ว

      Untuk F1 score saya butuh pelajari lagi code nya. Kebetulan tutorial ini saya buat di tahun lalu 😅🙏

  • @lalualiyyatirangga6466
    @lalualiyyatirangga6466 3 ปีที่แล้ว +1

    Terima kasih mas atas ilmunya 🙏 Izin bertanya mas dan maaf agak sedikit OOT dari materi logistic regression sekarang. Mas, kalau semisalkan kita mau analisis 1 variable dependent terhadap 5 variable independent. Dilihatnya hubungannya menggunakan scatter matrix, ternyata 3 variable independent punya pola hubungan linier dengan variable dependent, sementara sisanya pola hubungannya non-linier. Kalau kasusnya demikian, pendekatannya bagaimana ya mas untuk multiple regression?

    • @belajaridn
      @belajaridn  3 ปีที่แล้ว

      Kalau dilihat, kelihatannya ini kasus regression task ya?
      Bisa coba menggunakan multiple linear regression dengan menyertakan 3 independent variable yang memiliki hubungan linear (correlation) dengan dependent variable nya. Di channel Indonesia Belajar ini, kami juga pernah membahas topik simple linear regression dan multiple linear regression. Semoga bisa bermanfaat :)

    • @lalualiyyatirangga6466
      @lalualiyyatirangga6466 3 ปีที่แล้ว +1

      @@belajaridn Berarti ada 2 model terpisah ya mas ? 3 variable independent dianalisis menggunakan multiple linear regression sedangkan 2 variable independent lainnya menggunakan regresi non-linear?

    • @belajaridn
      @belajaridn  3 ปีที่แล้ว

      @@lalualiyyatirangga6466 Apakah kelima independent variable tersebut harus disertakan semua?

  • @ErwinPasaribu
    @ErwinPasaribu ปีที่แล้ว

    Hi kak,
    Kenapa valu y harus kita convert ke binary 0 dan 1 menggunakan package LabelBinarize? bagaimana kalau kita pakai if else saja(jika ham = 0, spam = 1?
    saya masih bingung di part ini

    • @belajaridn
      @belajaridn  ปีที่แล้ว

      Maksudnya di looping satu persatu dan dikenakan if else?
      Untuk data dengan ukuran besar, opsi ini sangat tidak memadai.

    • @ErwinPasaribu
      @ErwinPasaribu ปีที่แล้ว +1

      @@belajaridn hooh iya benar. baru ngeh ni kak. Terima kasih info nya kak. Kak saya ada error pada saat convert sms ke vectorize. Setelah bertapa ke stack overflow ternyata untuk data train dan test sms nya harus diconvert ke vectorize sebelum datanya di split 25% dan 75% baru berhasil
      Error code :
      ValueError: X has 1709 features per sample; expecting 2444

  • @izzansilmiaziz
    @izzansilmiaziz 3 ปีที่แล้ว +1

    Saya baru sadar setelah baca lagi kalo di dokumentasi sklearn cara bacanya seperti itu. Kalau baca di wiki beda lagi urutannya (tp, fn, fp, tn). Sedangkan beberapa orang mengajar pakai sklearn malah bacanya (tp, fp, fn, tn). Jadi menurut bapak mana yang sebenarnya urutannya yang paling benar ?

    • @belajaridn
      @belajaridn  3 ปีที่แล้ว

      Kalau menggunakan Scikit Learn, tentunya akan mengacu pada dokumentasi dari Scikit-Learn 😊☕

    • @izzansilmiaziz
      @izzansilmiaziz 3 ปีที่แล้ว

      Lalu maksud recall bisa dikatakan sensitifitas itu apa pak ? apakah maksudnya kepekaan model terhadap data ?

    • @izzansilmiaziz
      @izzansilmiaziz 3 ปีที่แล้ว +1

      sama satu lagi pak untuk prob_estimates [:, 1] tujuannya apa ya ?

    • @belajaridn
      @belajaridn  3 ปีที่แล้ว

      Ini terkait mekanisme slicing. Ada baiknya untuk mempelajari built data structure yang digunakan pada pemrograman Python. Di channel Indonesia Belajar ini kami juga pernah membuatkan satu playlist khusus.

    • @izzansilmiaziz
      @izzansilmiaziz 3 ปีที่แล้ว

      @@belajaridn baik pak mungkin saya nanti coba tonton. untuk pertanyaan yang kedua bagaimana pak ?