Close Menu
    Trending
    • F5 Expands AI Collaboration with Red Hat
    • JPMorgan to Cut Headcount in Some Divisions Due to AI
    • Introduction to Python for Machine Learning(Part 1): 5 Langkah Mudah Memulai Proyek Machine Learning | by I Made Satria Bimantara | May, 2025
    • NVIDIA Announces DGX Cloud Lepton for GPU Access across Multi-Cloud Platforms
    • JPMorgan Chase Will Allow Clients to Buy Bitcoin
    • How Netradyne’s AI Predicts and Prevents Fleet Accidents Before They Happen | by Mahi | May, 2025
    • MoonX: BYDFi’s On-Chain Trading Engine A Ticket from CEX to DEX
    • How AI Can Help You Cut Through Tariff Chaos — in Just 3 Simple Steps
    Finance StarGate
    • Home
    • Artificial Intelligence
    • AI Technology
    • Data Science
    • Machine Learning
    • Finance
    • Passive Income
    Finance StarGate
    Home»Machine Learning»Introduction to Python for Machine Learning(Part 1): 5 Langkah Mudah Memulai Proyek Machine Learning | by I Made Satria Bimantara | May, 2025
    Machine Learning

    Introduction to Python for Machine Learning(Part 1): 5 Langkah Mudah Memulai Proyek Machine Learning | by I Made Satria Bimantara | May, 2025

    FinanceStarGateBy FinanceStarGateMay 20, 2025No Comments10 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Sebelum kita mulai coding, kita perlu memastikan Python dan alat-alat pendukungnya terinstal dengan benar di komputer Anda. Berikut adalah langkah-langkah mudahnya:

    Unduh Python: Kunjungi situs resmi Python dan unduh versi terbaru Python 3. Pastikan Anda mencentang opsi “Add Python to PATH” saat instalasi agar Python dapat diakses dari command line.

    Instal pip: Pip adalah bundle installer untuk Python yang akan kita gunakan untuk menginstal perpustakaan-perpustakaan machine studying. Biasanya, pip sudah terinstal secara otomatis saat Anda menginstal Python versi terbaru. Anda dapat memverifikasinya dengan membuka command immediate (di Home windows) atau Terminal (di macOS/Linux) dan mengetikkan:

    pip --version

    Jika pip terinstal, Anda akan melihat informasi versinya.

    Buat Digital Surroundings (Sangat Direkomendasikan): Digital setting adalah ruang terisolasi untuk proyek Python Anda. Ini membantu menghindari konflik antar dependensi proyek yang berbeda. Setiap kali Anda membuat proyek berbasis Python, Anda diharapkan dapat membuat satu digital setting, agar terhindar dari konflik dependensi. Untuk membuatnya, Anda bisa menggunakan venv (bawaan Python) atau conda (jika Anda menginstal Anaconda).

    • Menggunakan venv: Buka command immediate atau Terminal, navigasi ke direktori tempat Anda ingin menyimpan proyek Anda, lalu ketikkan:
    python -m venv nama_env

    Ganti nama_env dengan nama yang Anda inginkan untuk setting Anda (misalnya, ml_env). Untuk mengaktifkannya, Anda dapat mengetikkan:

    nama_envScriptsactivate

    Setelah aktif, Anda akan melihat nama setting Anda di awal command immediate atau Terminal.

    • Menggunakan conda (jika Anda menginstal Anaconda): Buka Anaconda Immediate atau Terminal, lalu ketikkan:
    conda create --name nama_env python=3.x

    Ganti nama_env dengan nama yang Anda inginkan dan 3.x dengan versi Python yang Anda inginkan.

    Untuk mengaktifkan digital setting:

    conda activate nama_env

    Instal Perpustakaan Penting: Setelah digital setting Anda aktif, instal perpustakaan NumPy, Pandas, dan Matplotlib menggunakan pip:

    pip set up numpy pandas matplotlib scikit-learn

    scikit-learn juga kita sertakan karena akan kita gunakan dalam studi kasus. Anda juga dapat menginstall beberapa library yang lainnya sesuai kebutuhan Anda pada tahap ini. Sebagai contoh, jika Anda lebih senang menggunakan seabornuntuk visualisasi Anda bisa menginstall library tersebut.

    Selamat! Sekarang Anda telah berhasil menginstal Python dan menyiapkan lingkungan pengembangan Anda. Kita siap untuk melangkah ke tahap berikutnya.

    Ketiga perpustakaan ini adalah fondasi penting dalam knowledge science dan machine studying dengan Python. Mari kita lihat sekilas masing-masing:

    NumPy (Numerical Python): NumPy adalah perpustakaan untuk komputasi numerik yang efisien. Fitur utamanya adalah objek array multidimensi (ndarray) yang memungkinkan operasi matematika vektor dan matriks yang cepat.

    import numpy as np

    # Membuat array NumPy
    a = np.array([1, 2, 3, 4, 5])
    print(a)
    print(sort(a))

    # Operasi vektor
    b = a * 2
    print(b)

    # Operasi matriks
    A = np.array([[1, 2], [3, 4]])
    B = np.array([[5, 6], [7, 8]])
    C = np.dot(A, B)
    print(C)

    Pandas (Panel Information): Pandas menyediakan struktur knowledge tingkat tinggi yang mudah digunakan untuk analisis knowledge, terutama untuk knowledge tabular. Dua struktur knowledge utama di Pandas adalah Sequence (array satu dimensi berlabel) dan DataFrame (tabel dua dimensi).

    import pandas as pd

    # Membuat Sequence
    s = pd.Sequence([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e'])
    print(s)

    # Membuat DataFrame dari dictionary
    knowledge = {'nama': ['Alice', 'Bob', 'Charlie'],
    'usia': [25, 30, 28],
    'kota': ['Jakarta', 'Bandung', 'Surabaya']}
    df = pd.DataFrame(knowledge)
    print(df)

    # Membaca knowledge dari file CSV
    # df = pd.read_csv('nama_file.csv')

    # Seleksi knowledge
    print(df['nama'])
    print(df[df['usia'] > 27])

    Matplotlib: Matplotlib adalah perpustakaan untuk membuat visualisasi knowledge statis, interaktif, dan beranimasi di Python. Ini sangat berguna untuk memahami pola dalam knowledge.

    import matplotlib.pyplot as plt
    import numpy as np

    # Membuat plot sederhana
    x = np.linspace(0, 10, 100)
    y = np.sin(x)
    plt.plot(x, y)
    plt.xlabel('X-axis')
    plt.ylabel('Y-axis')
    plt.title('Grafik Sinus')
    plt.present()

    # Membuat scatter plot
    x_scatter = np.random.rand(50)
    y_scatter = np.random.rand(50)
    colours = np.random.rand(50)
    sizes = 100 * np.random.rand(50)
    plt.scatter(x_scatter, y_scatter, c=colours, s=sizes, alpha=0.7)
    plt.colorbar(label='Intensitas Warna')
    plt.title('Scatter Plot Acak')
    plt.present()

    Dengan pemahaman dasar tentang NumPy, Pandas, dan Matplotlib, kita siap untuk melihat bagaimana perpustakaan ini dapat digunakan dalam studi kasus machine studying sederhana.

    Dalam studi kasus ini, kita akan menggunakan dataset sederhana untuk memprediksi apakah seseorang memiliki penyakit jantung atau tidak berdasarkan beberapa fitur kesehatan. Kita akan menggunakan perpustakaan Pandas untuk memuat dan memanipulasi knowledge, Scikit-learn untuk membangun dan mengevaluasi mannequin machine studying, dan Matplotlib untuk visualisasi sederhana.

    Langkah 3.1: Memuat dan Mempersiapkan Information

    Pertama, kita akan memuat dataset. Untuk contoh ini, kita akan menggunakan dataset penyakit jantung yang tersedia secara publik (Anda mungkin perlu mengunduhnya terlebih dahulu atau menggunakan dataset yang tersedia di Scikit-learn). Anda dapat mengunduh dataset tersebut dari UCI Machine Studying Repository atau Kaggle.

    Setelah kita mengunduh dataset, kita akan menampilkan informasi awal mengenai dataset termasuk distribusi knowledge per kelas dari dataset tersebut.

    import pandas as pd
    from sklearn.model_selection import train_test_split
    from sklearn.linear_model import LogisticRegression
    from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
    import matplotlib.pyplot as plt
    import seaborn as sns

    # Muat dataset (ganti 'coronary heart.csv' dengan path file Anda jika berbeda)
    knowledge = pd.read_csv('coronary heart.csv')

    # Tampilkan beberapa baris pertama dari dataset
    print("Lima baris pertama dataset:")
    print(knowledge.head())

    # Tampilkan informasi dasar tentang dataset
    print("nInformasi dataset:")
    knowledge.data()

    # Tampilkan statistik deskriptif
    print("nStatistik deskriptif:")
    print(knowledge.describe())

    # Periksa keseimbangan kelas goal (apakah jumlah pasien dengan dan tanpa penyakit jantung seimbang)
    print("nDistribusi kelas goal:")
    print(knowledge['target'].value_counts())
    sns.countplot(x='goal', knowledge=knowledge)
    plt.title('Distribusi Goal (0 = Tidak Sakit Jantung, 1 = Sakit Jantung)')
    plt.present()

    Langkah 3.2: Pemilihan Fitur Independen dan Pemisahan Information

    Kita perlu memilih fitur-fitur yang akan digunakan untuk melatih mannequin dan memisahkan knowledge menjadi knowledge latih (coaching set) dan knowledge uji (testing set). Information latih akan digunakan untuk melatih mannequin, sedangkan knowledge uji akan digunakan untuk mengevaluasi performa mannequin pada knowledge yang belum pernah dilihat sebelumnya.

    # Pilih fitur (semua kolom kecuali 'goal')
    options = knowledge.drop('goal', axis=1)
    goal = knowledge['target']

    # Pisahkan knowledge menjadi knowledge latih dan knowledge uji (80% latih, 20% uji)
    X_train, X_test, y_train, y_test = train_test_split(options, goal, test_size=0.2, random_state=42)

    print(f"nUkuran knowledge latih: {X_train.form}")
    print(f"Ukuran knowledge uji: {X_test.form}")

    Langkah 3.3: Melatih Mannequin Logistic Regression

    Dalam contoh ini, kita akan menggunakan algoritma Logistic Regression, yang merupakan algoritma klasifikasi linear yang umum digunakan untuk masalah klasifikasi biner (dua kelas). Element mengenai cara kerja dari Logistic Regression akan saya bahas di seri berikutnya.

    # Inisialisasi mannequin Logistic Regression
    mannequin = LogisticRegression(solver='liblinear', random_state=42)

    # Latih mannequin menggunakan knowledge latih
    mannequin.match(X_train, y_train)

    # Lakukan prediksi pada knowledge uji
    y_pred = mannequin.predict(X_test)

    print("nHasil prediksi pada knowledge uji (10 prediksi pertama):")
    print(y_pred[:10])
    print("Label sebenarnya pada knowledge uji (10 label pertama):")
    print(y_test[:10].values)

    Langkah 3.4: Evaluasi Mannequin

    Setelah melatih mannequin, penting untuk mengevaluasi performanya menggunakan metrik yang sesuai. Beberapa metrik umum untuk klasifikasi adalah akurasi (accuracy), laporan klasifikasi (classification report), dan confusion matrix. Anda juga dapat menggunakan metrik yang lain, seperti recall, precision, dan F1-score ketika proporsi knowledge per label kelas tidak seimbang (imbalanced dataset). Penjelasan lebih element mengenai penanganan imbalanced dataset akan saya bahas di seri berikutnya.

    # Hitung akurasi
    accuracy = accuracy_score(y_test, y_pred)
    # Hitung F1-score (macro)
    f1_score_metrik = f1_score(y_test, y_pred, common='macro')
    print(f"nAkurasi mannequin: {accuracy:.2f}")

    # Tampilkan laporan klasifikasi
    print("nLaporan Klasifikasi:")
    print(classification_report(y_test, y_pred))

    # Tampilkan confusion matrix
    cm = confusion_matrix(y_test, y_pred)
    sns.heatmap(cm, annot=True, fmt='d', cmap='Blues',
    xticklabels=['Tidak Sakit', 'Sakit'], yticklabels=['Tidak Sakit', 'Sakit'])
    plt.xlabel('Prediksi')
    plt.ylabel('Aktual')
    plt.title('Confusion Matrix')
    plt.present()

    Interpretasi dari metrik-metrik ini akan memberikan gambaran tentang seberapa baik mannequin kita dalam memprediksi penyakit jantung. Akurasi menunjukkan proporsi prediksi yang benar dari whole prediksi. Laporan klasifikasi memberikan presisi, recall, F1-score untuk setiap kelas. Confusion matrix menunjukkan jumlah prediksi yang benar dan salah untuk setiap kelas.

    Sebagai contoh tambahan, mari kita lakukan klasifikasi diabetes menggunakan dataset lain. Prosesnya akan serupa dengan studi kasus sebelumnya, namun kita akan menggunakan dataset yang berbeda. Kita bisa menggunakan dataset Pima Indians Diabetes yang tersedia secara bebas. Kita akan menggunakan urutan langkah-langkah yang serupa seperti Langkah 3.

    Langkah 4.1: Memuat dan Mempersiapkan Information

    # Muat dataset diabetes (ganti 'diabetes.csv' dengan path file Anda jika berbeda)
    diabetes_data = pd.read_csv('diabetes.csv')

    # Tampilkan beberapa baris pertama
    print("nLima baris pertama dataset diabetes:")
    print(diabetes_data.head())

    # Informasi dataset
    print("nInformasi dataset diabetes:")
    diabetes_data.data()

    # Statistik deskriptif
    print("nStatistik deskriptif dataset diabetes:")
    print(diabetes_data.describe())

    # Distribusi kelas goal
    print("nDistribusi kelas goal diabetes:")
    print(diabetes_data['Outcome'].value_counts())
    sns.countplot(x='End result', knowledge=diabetes_data)
    plt.title('Distribusi Goal Diabetes (0 = Tidak Diabetes, 1 = Diabetes)')
    plt.present()

    Langkah 4.2: Pemilihan Fitur dan Pemisahan Information

    # Pilih fitur (semua kolom kecuali 'End result')
    diabetes_features = diabetes_data.drop('End result', axis=1)
    diabetes_target = diabetes_data['Outcome']

    # Pisahkan knowledge menjadi knowledge latih dan knowledge uji
    X_train_diabetes, X_test_diabetes, y_train_diabetes, y_test_diabetes = train_test_split(
    diabetes_features, diabetes_target, test_size=0.2, random_state=42
    )

    print(f"nUkuran knowledge latih diabetes: {X_train_diabetes.form}")
    print(f"Ukuran knowledge uji diabetes: {X_test_diabetes.form}")

    Langkah 4.3: Melatih Mannequin Assist Vector Machine (SVM)

    Kali ini, mari kita coba algoritma klasifikasi lain, yaitu Assist Vector Machine (SVM).

    from sklearn.svm import SVC

    # Inisialisasi mannequin SVM
    svm_model = SVC(kernel='linear', random_state=42)

    # Latih mannequin menggunakan knowledge latih diabetes
    svm_model.match(X_train_diabetes, y_train_diabetes)

    # Lakukan prediksi pada knowledge uji diabetes
    y_pred_diabetes = svm_model.predict(X_test_diabetes)

    print("nHasil prediksi diabetes pada knowledge uji (10 prediksi pertama):")
    print(y_pred_diabetes[:10])
    print("Label sebenarnya pada knowledge uji diabetes (10 label pertama):")
    print(y_test_diabetes[:10].values)

    Langkah 4.4: Evaluasi Mannequin SVM

    # Hitung akurasi
    accuracy_diabetes = accuracy_score(y_test_diabetes, y_pred_diabetes)
    print(f"nAkurasi mannequin SVM untuk klasifikasi diabetes: {accuracy_diabetes:.2f}")

    # Tampilkan laporan klasifikasi
    print("nLaporan Klasifikasi (Diabetes):")
    print(classification_report(y_test_diabetes, y_pred_diabetes))

    # Tampilkan confusion matrix
    cm_diabetes = confusion_matrix(y_test_diabetes, y_pred_diabetes)
    sns.heatmap(cm_diabetes, annot=True, fmt='d', cmap='Greens',
    xticklabels=['Tidak Diabetes', 'Diabetes'], yticklabels=['Tidak Diabetes', 'Diabetes'])
    plt.xlabel('Prediksi')
    plt.ylabel('Aktual')
    plt.title('Confusion Matrix (Diabetes)')
    plt.present()

    Silahkan Anda berikan komentar, berapa akurasi dan F1-score dari mannequin ML yang Anda gunakan untuk menyelesaikan studi kasus tersebut :)!

    Oke, di bagian terakhir saya akan berbagi sumber belajar yang Anda bisa gunakan untuk memperdalam keilmuan Anda dalam bidang ML dan DS.

    Kursus On-line Interaktif:

    • Dicoding: Dicoding menawarkan berbagai kursus pemrograman dan IT dengan kurikulum terbaru, termasuk bidang machine studying dan knowledge science. Saya sendiri telah dua kali menerima dan menyelesaikan rangkaian kursus di Dicoding melalui beasiswa DBS Basis Coding Camp 2024 di jalur Machine Studying Engineer dan Indosat Ooredoo Hutchison Digital Camp 2024 di jalur Information Scientist. Untuk lebih element silahkan Anda kunjungi web site Dicoding.
    • Coursera dan edX: Platform ini menawarkan berbagai kursus dan spesialisasi tentang machine studying, deep studying, dan knowledge science dari universitas-universitas terkemuka di dunia dan perusahaan teknologi besar seperti Google dan IBM. Beberapa kursus populer meliputi “Machine Studying” oleh Andrew Ng (Coursera), “Deep Studying Specialization” (Coursera), dan “Python for Information Science and AI” (edX).
    • Udacity: Udacity memiliki “Nanodegree” yang lebih terstruktur dan berorientasi pada karir di bidang machine studying dan knowledge science. Program-program ini seringkali melibatkan proyek-proyek praktis yang membantu Anda membangun portofolio.
    • DataCamp: DataCamp fokus pada pembelajaran interaktif knowledge science dan machine studying dengan Python dan R. Mereka menawarkan berbagai kursus singkat dan jalur pembelajaran yang terstruktur.
    • quick.ai: quick.ai menawarkan kursus deep studying yang sangat praktis dan mudah diakses, bahkan bagi pemula dengan sedikit pengalaman coding. Pendekatan “top-down” mereka memungkinkan Anda untuk mulai membangun mannequin dengan cepat.

    Buku:

    • “Python for Information Evaluation” oleh Wes McKinney: Buku ini adalah panduan komprehensif untuk menggunakan Pandas dalam analisis knowledge.
    • “Fingers-On Machine Studying with Scikit-Be taught, Keras & TensorFlow” oleh Aurélien Géron: Buku ini memberikan pendekatan praktis untuk mempelajari berbagai algoritma machine studying dan deep studying dengan Python.
    • “Sample Recognition and Machine Studying” oleh Christopher Bishop: Buku ini adalah referensi yang lebih teoretis dan mendalam tentang konsep-konsep machine studying.
    • “The Parts of Statistical Studying” oleh Hastie, Tibshirani, dan Friedman: Meskipun lebih berfokus pada statistik, buku ini memberikan landasan teoretis yang kuat untuk machine studying.

    Platform dan Komunitas On-line:

    • Kaggle: Kaggle adalah platform yang sangat berharga untuk belajar machine studying melalui kompetisi, dataset publik, dan discussion board diskusi. Anda dapat berpartisipasi dalam kompetisi untuk memecahkan masalah machine studying dunia nyata dan belajar dari para praktisi terbaik.
    • GitHub: GitHub adalah platform kolaborasi pengembang tempat banyak proyek open-source machine studying dan knowledge science dihosting. Anda dapat menjelajahi kode, berkontribusi pada proyek, dan belajar dari implementasi praktis.
    • Stack Overflow: Stack Overflow adalah situs tanya jawab yang sangat berguna ketika Anda menghadapi masalah coding atau konsep machine studying yang tidak Anda pahami. Kemungkinan besar pertanyaan Anda sudah pernah ditanyakan dan dijawab di sini.
    • Reddit (r/learnmachinelearning, r/datascience, r/python): Subreddit ini adalah komunitas aktif tempat Anda dapat bertanya, berbagi sumber daya, dan berdiskusi tentang topik terkait machine studying, knowledge science, dan Python.
    • Medium dan In the direction of Information Science: Platform ini berisi banyak artikel dan tutorial tentang berbagai topik machine studying dan knowledge science, termasuk implementasi praktis dengan Python.

    Dokumentasi Resmi Library:

    Jangan lupakan pentingnya membaca dokumentasi resmi dari library yang kita gunakan (NumPy, Pandas, Scikit-learn, Matplotlib, TensorFlow, PyTorch). Dokumentasi ini adalah sumber informasi yang paling akurat dan komprehensif tentang fitur dan penggunaan setiap library.

    Proyek Praktis:

    Cara terbaik untuk belajar machine studying adalah dengan mengerjakan proyek-proyek praktis. Mulailah dengan proyek-proyek kecil dan sederhana, lalu secara bertahap tingkatkan kompleksitasnya. Beberapa ide proyek meliputi:

    • Klasifikasi gambar sederhana (misalnya, membedakan antara kucing dan anjing).
    • Analisis sentimen pada teks (misalnya, mengklasifikasikan ulasan movie sebagai positif atau negatif).
    • Prediksi harga rumah berdasarkan fitur-fitur tertentu.
    • Sistem rekomendasi sederhana.

    Dengan memanfaatkan sumber daya ini dan terus berlatih, Anda akan semakin mahir dalam machine studying dengan Python. Ingatlah bahwa pembelajaran adalah proses berkelanjutan, jadi tetaplah penasaran dan teruslah eksplorasi!



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleNVIDIA Announces DGX Cloud Lepton for GPU Access across Multi-Cloud Platforms
    Next Article JPMorgan to Cut Headcount in Some Divisions Due to AI
    FinanceStarGate

    Related Posts

    Machine Learning

    How Netradyne’s AI Predicts and Prevents Fleet Accidents Before They Happen | by Mahi | May, 2025

    May 20, 2025
    Machine Learning

    Trust, Transparency, & Accountability in AI | by Noemi | May, 2025

    May 19, 2025
    Machine Learning

    Day 3 of my 30 day learning challenge | by Amar Shaik | May, 2025

    May 19, 2025
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    3vHabits That Made Me Sharper, Stronger and More Successful

    April 19, 2025

    Why handing over total control to AI agents would be a huge mistake

    March 24, 2025

    Producer Will Packer: This Mindset Is the Key to My Success

    February 19, 2025

    ‘Don’t Work at Anduril’ Recruitment Campaign Goes Viral

    March 6, 2025

    Learnings from a Machine Learning Engineer — Part 5: The Training

    February 13, 2025
    Categories
    • AI Technology
    • Artificial Intelligence
    • Data Science
    • Finance
    • Machine Learning
    • Passive Income
    Most Popular

    I Didn’t Realize The Money Advice My Parents Taught Me Was Sabotaging Me — Until I Started a Business

    April 10, 2025

    Looking for Remote Work? Survey Says Remote Jobs Are Declining

    March 14, 2025

    BULLETPROOF LEGAL ARGUMENT USING QUANTUM AI | by Ceo Darkbot | Feb, 2025

    February 27, 2025
    Our Picks

    CIQ Delivers Technical Preview of Security-Hardened Enterprise Linux

    March 11, 2025

    AI is coming for music, too

    April 16, 2025

    Microsoft’s Majorana 1: The Breakthrough That Could Change Quantum Computing Forever ( A Complete Guide) | by 7William | Feb, 2025

    February 23, 2025
    Categories
    • AI Technology
    • Artificial Intelligence
    • Data Science
    • Finance
    • Machine Learning
    • Passive Income
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2025 Financestargate.com All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.