Penyiapan Lingkungan

Instalasi scikit-learn, pandas, dan matplotlib beserta sumber dataset untuk seluruh praktik jalur ini.

Daftar isi

Topik ini menyiapkan lingkungan praktik untuk seluruh contoh pada jalur machine learning ini. Cakupannya meliputi peran setiap pustaka, perintah instalasi, pemeriksaan dengan skrip kecil, serta sumber dataset yang dipakai berulang-ulang. Bahasan ditutup dengan skrip pemeriksaan yang dapat dieksekusi untuk memastikan setiap komponen terpasang. Setelah skrip tersebut berjalan tanpa error, seluruh contoh pada jalur ini dapat dieksekusi tanpa penyesuaian tambahan.

Komponen lingkungan dan perannya#

Lingkungan praktik jalur ini dibangun di atas empat pustaka Python. scikit-learn menyediakan implementasi model, metrik evaluasi, utilitas pemisahan data, dan dataset bawaan, sehingga hampir setiap topik memanggil pustaka ini. numpy berada di bawahnya sebagai penyedia struktur array dan operasi numerik, dan sebagian besar API scikit-learn menerima array numpy sebagai masukan.

pandas menambahkan DataFrame untuk membaca berkas CSV, menyaring baris dan kolom, serta menginspeksi dataset sebelum dimodelkan. matplotlib dipakai untuk menggambar grafik, misalnya histogram dan diagram pencar, yang membantu memahami bentuk data sebelum pemodelan. Karena jalur ini berlatih pada data tabular, keempat pustaka tersebut sudah mencakup seluruh kebutuhan, dan tidak ada pustaka lain yang wajib dipasang.

Keempat pustaka bekerja dalam satu alur yang berulang pada seluruh jalur. pandas memuat data mentah menjadi tabel, tabel itu dikonversi menjadi array numpy untuk diproses, scikit-learn melatih model dan menghitung metriknya, dan matplotlib menggambar hasilnya bila diperlukan. Pemisahan peran yang jelas memudahkan penelusuran sumber masalah, karena error data berhenti di pandas dan error pemodelan berhenti di scikit-learn.

Instalasi melalui pip#

Ketiga pustaka utama dipasang melalui pip dalam satu perintah. pip memasang dependensi yang dibutuhkan secara otomatis, sehingga numpy yang diperlukan scikit-learn dan pandas ikut terpasang tanpa perintah terpisah. Perintah berikut membutuhkan akses jaringan, sehingga keluarannya tidak ditempel di sini dan instalasi dijalankan pada mesin tempat praktik dilakukan.

bash
# tidak-dijalankan
# instal scikit-learn, pandas, dan matplotlib beserta seluruh dependensinya
pip install scikit-learn pandas matplotlib

Praktik yang dianjurkan adalah memasang pustaka di dalam virtual environment, yaitu folder terisolasi yang menyimpan dependensi satu proyek agar tidak bertabrakan dengan proyek lain. Tanpa pemisahan itu, pustaka versi tertentu yang dipasang untuk proyek lain dapat menggantikan versi yang dibutuhkan jalur ini. Urutannya adalah pembuatan lingkungan, pengaktifan, lalu instalasi:

bash
# tidak-dijalankan
# buat virtual environment bernama .venv di dalam folder proyek
python3 -m venv .venv
# aktifkan virtual environment (Linux dan macOS)
source .venv/bin/activate
# instal pustaka di dalam virtual environment yang sedang aktif
pip install scikit-learn pandas matplotlib

Versi yang menjadi acuan jalur ini adalah scikit-learn 1.5, pandas 2.2, numpy 2.1, dan matplotlib 3.9 pada Python 3.12. Versi minor yang lebih baru biasanya aman dipakai, sedangkan lompatan versi mayor berisiko mengubah nama argumen dan perilaku API. Oleh karena itu, catat versi pustaka setiap kali membaca tutorial lain agar perbedaan perilaku dapat dilacak sumbernya.

Pemeriksaan lingkungan#

Instalasi diverifikasi dengan satu skrip yang mencetak versi setiap pustaka, lalu menjalankan uji kecil berupa pelatihan LinearRegression pada lima titik dan satu prediksi. Skrip seperti ini dapat dijalankan ulang kapan pun, misalnya setelah pemasangan pustaka baru, untuk memastikan lingkungan tetap konsisten. Jalankan skrip dari folder tempat berkasnya berada dengan perintah python3 cek-lingkungan.py.

python cek-lingkungan.py
"""Pemeriksaan lingkungan untuk jalur machine learning."""
import sys

import matplotlib
import numpy as np
import pandas as pd
import sklearn
from sklearn.linear_model import LinearRegression

print(f"Python {sys.version.split()[0]}")
print(f"numpy {np.__version__}")
print(f"pandas {pd.__version__}")
print(f"matplotlib {matplotlib.__version__}")
print(f"scikit-learn {sklearn.__version__}")

# uji kelayakan: pelatihan model garis lurus pada lima titik
x = np.array([[1.0], [2.0], [3.0], [4.0], [5.0]])
y = np.array([2.1, 4.0, 6.2, 7.9, 10.1])
model = LinearRegression()
model.fit(x, y)
prediksi = model.predict(np.array([[6.0]]))
print(f"prediksi untuk x=6.0: {prediksi[0]:.4f}")
print("lingkungan siap")
text Keluaran
Python 3.12.16
numpy 2.1.3
pandas 2.2.3
matplotlib 3.9.2
scikit-learn 1.5.2
prediksi untuk x=6.0: 12.0300
lingkungan siap

Keluaran di atas memperlihatkan Python 3.12.16 dengan keempat pustaka terpasang, lalu satu baris prediksi dan pesan siap. Yang penting dari keluaran ini ada dua, yaitu seluruh import berhasil tanpa error dan pelatihan lima titik selesai seketika. Import yang gagal menghentikan skrip sebelum baris versi tercetak, sehingga keluaran yang lengkap berarti seluruh pustaka berhasil dimuat.

Pelatihan lima titik menggunakan mekanisme numerik yang sama dengan contoh-contoh pada jalur ini, sehingga keberhasilannya menandakan pustaka model benar-benar berfungsi dan bukan sekadar terpasang. Angka prediksi 12.0300 tidak perlu diingat, karena nilainya bergantung pada data uji kecil di dalam skrip. Apabila eksekusi terhenti dengan ImportError, pustaka yang disebutkan dalam pesan error belum terpasang pada lingkungan yang aktif.

Sumber dataset untuk praktik#

Dataset untuk seluruh praktik jalur ini berasal dari dua sumber yang tidak membutuhkan jaringan. Sumber pertama adalah dataset bawaan pada sklearn.datasets, yang dimuat langsung dari memori setelah pustaka terpasang. Empat dataset yang paling sering dipakai adalah iris untuk klasifikasi tiga spesies bunga dan wine untuk klasifikasi tiga kelas dari hasil uji kimiawi. Dataset breast_cancer menyediakan kasus klasifikasi biner tumor, sedangkan diabetes menyediakan kasus regresi pada data pasien. Selain itu, keluarga fungsi make_* menghasilkan data sintetis dengan pola yang terkendali. Data semacam ini berguna untuk mengamati perilaku model pada pola yang sengaja dirancang.

Sumber kedua adalah data buatan sendiri, baik berupa list atau array kecil yang ditulis langsung di skrip, maupun berkas CSV pendek yang disimpan bersama topiknya. Cara ini memastikan setiap contoh dapat dijalankan ulang dengan hasil yang sama tanpa bergantung pada layanan daring mana pun. Fungsi fetch_* seperti fetch_openml justru mengunduh data melalui jaringan, sehingga tidak digunakan sama sekali pada jalur ini.

python Contoh: memuat dataset iris tanpa unduhan
from sklearn.datasets import load_iris

iris = load_iris()
print(iris.data.shape)
print(iris.target_names.tolist())
text Keluaran
(150, 4)
['setosa', 'versicolor', 'virginica']

Dataset iris memuat 150 contoh dengan empat fitur pengukuran bunga dan label berupa nama spesies untuk tiga kelas. Fungsi load_iris mengembalikan objek Bunch, yaitu wadah dengan atribut data untuk fitur dan atribut target untuk label. Dataset bawaan lainnya memakai struktur yang sama. Dengan dua sumber tersebut, setiap topik pada jalur ini dapat dijalankan secara penuh tanpa koneksi internet.

Ringkasan#

  • Lingkungan jalur ini terdiri atas scikit-learn untuk model dan metrik, numpy untuk array, pandas untuk tabel, dan matplotlib untuk grafik.
  • Pemasangan dilakukan dengan pip, dianjurkan di dalam virtual environment, dan diverifikasi dengan skrip cek-lingkungan.py yang melatih satu model kecil.
  • Dataset praktik dimuat tanpa unduhan dari sklearn.datasets bawaan atau dibuat sendiri dalam bentuk array dan CSV kecil.
  • Fungsi fetch_* membutuhkan jaringan sehingga tidak dipakai pada jalur ini.

Referensi#