Close Menu
    Trending
    • 6 Disadvantages of Zero Trust in Data Security
    • This Chef Lost His Restaurant the Week Michelin Called. Now He’s Made a Comeback By Perfecting One Recipe.
    • How AI is introducing errors into courtrooms
    • Can AI Ever Fully Replace Software Developers? -NareshIt | by Naresh I Technologies | May, 2025
    • Revolutionizing Palm Oil Plantations: How AI and Drones are Cultivating Efficiency and Sustainability
    • What Worked (and Didn’t) When I Modernized a 20-Year-Old Brand
    • Unraveling the AI Alphabet: What GPT, ML, and DL Mean for Tomorrow’s Tech | by Immersive reader | May, 2025
    • When Leadership Meets the Singularity: Are You Still Relevant?
    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

    Can AI Ever Fully Replace Software Developers? -NareshIt | by Naresh I Technologies | May, 2025

    May 20, 2025
    Machine Learning

    Unraveling the AI Alphabet: What GPT, ML, and DL Mean for Tomorrow’s Tech | by Immersive reader | May, 2025

    May 20, 2025
    Machine Learning

    The Rise of Autonomous Coding: Exploring GitHub Copilot’s New Agent Mode | by Swapnil | May, 2025

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

    Top Posts

    Is AI Worth the Investment? Calculate Your Real ROI

    February 4, 2025

    Work-Life Balance Is Outdated. Here’s a Better Approach.

    April 8, 2025

    Mastering 1:1s as a Data Scientist: From Status Updates to Career Growth

    March 5, 2025

    IBM Launches Enterprise Gen AI Technologies with Hybrid Capabilities

    May 9, 2025

    Why Generative AI is Booming: A Beginner’s Guide to LLMs, Ollama, and the Future of AI | by Brain Glitch | May, 2025

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

    Sam Altman’s Startup Brings Eyeball Scanning Orbs to the US

    May 2, 2025

    How Word-of-Mouth Alone Can Double Your Revenue Growth

    April 22, 2025

    10 Essential AI Security Practices for Enterprise Systems

    February 27, 2025
    Our Picks

    Understanding Big Data: Why Every Educated Person Should Know the Basics | by Sajjad Ahmad | Mar, 2025

    March 22, 2025

    Building a Streamlit App for Deepfake Audio Detection and Multi-label Defect Prediction | by Ayesha Saeed | May, 2025

    May 4, 2025

    Gradient Boosting in Machine Learning: A Simple Guide | by Dinank Soni | Apr, 2025

    April 4, 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.