Tutorial Membuat Aplikasi Web Machine Learning dengan Flask
4 min read · 7 Februari 2025 · 378 reads

Tutorial Membuat Aplikasi Web Machine Learning dengan Flask

Table of Contents

    Pendahuluan

    Machine Learning (ML) adalah cabang dari kecerdasan buatan yang memungkinkan komputer belajar dari data tanpa diprogram secara eksplisit. Flask adalah kerangka kerja web ringan yang digunakan untuk membangun aplikasi web dalam bahasa pemrograman Python. Dalam tutorial ini, kita akan membuat sebuah aplikasi web sederhana yang menggunakan model Machine Learning. Prosesnya akan dimulai dari persiapan data, melatih model, hingga menerapkannya dalam aplikasi web berbasis Flask.

    Persiapan

    Sebelum kita memulai, pastikan Anda telah menginstal Python di komputer Anda. Anda juga perlu menginstal beberapa pustaka Python yang dibutuhkan. Buka terminal atau command prompt dan jalankan perintah berikut:

    pip install numpy pandas scikit-learn flask

    Langkah 1: Persiapan Data

    Untuk tutorial ini, kita akan menggunakan dataset sederhana yang disediakan oleh Scikit-Learn, yaitu dataset Iris. Dataset ini berisi 150 sampel dengan 4 fitur dan 3 kelas yang berbeda.

    # impor pustaka yang diperlukan
    from sklearn.datasets import load_iris
    from sklearn.model_selection import train_test_split
    from sklearn.preprocessing import StandardScaler
    
    # muat dataset
    iris = load_iris()
    X = iris.data
    y = iris.target
    
    # bagi dataset menjadi data training dan data testing
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    
    # normalisasi data
    scaler = StandardScaler()
    X_train = scaler.fit_transform(X_train)
    X_test = scaler.transform(X_test)

    Simpan kode di atas sebagai data_prep.py. Kita akan mengimpornya ke dalam skrip utama kita.

    Langkah 2: Menyimpan Model

    Setelah model dilatih dan dievaluasi, kita perlu menyimpannya agar dapat digunakan di aplikasi web kita. Kita bisa menggunakan pustaka joblib untuk menyimpan model.

    pip install joblib
    # impor pustaka yang diperlukan
    import joblib
    from train_model import knn
    
    # simpan model ke file
    joblib.dump(knn, 'knn_model.pkl')

    Simpan kode di atas sebagai save_model.py. Jalankan skrip ini untuk menyimpan model kita ke dalam file knn_model.pkl.

    Langkah 3: Membuat Aplikasi Web dengan Flask

    Sekarang kita akan membuat aplikasi web sederhana dengan Flask yang menggunakan model ML kita. Pertama, buatlah file baru bernama app.py dan isi dengan kode berikut:

    # impor pustaka yang diperlukan
    from flask import Flask, request, jsonify
    import numpy as np
    import joblib
    from data_prep import scaler
    
    # inisialisasi Flask app
    app = Flask(__name__)
    
    # muat model
    model = joblib.load('knn_model.pkl')
    
    # definisikan route untuk prediksi
    @app.route('/predict', methods=['POST'])
    def predict():
        # ambil data dari request
        data = request.get_json(force=True)
        features = np.array(data['features']).reshape(1, -1)
        
        # normalisasi data
        features = scaler.transform(features)
        
        # lakukan prediksi
        prediction = model.predict(features)
        
        # kembalikan hasil prediksi dalam format JSON
        return jsonify()
    
    # jalankan aplikasi
    if __name__ == '__main__':
        app.run(debug=True)

    Langkah 4: Menjalankan Aplikasi Web

    Untuk menjalankan aplikasi web, cukup jalankan skrip app.py menggunakan terminal atau command prompt:

    python app.py

    Setelah itu, buka browser dan akses alamat http://127.0.0.1:5000. Aplikasi web kita sudah berjalan dan siap menerima permintaan prediksi melalui endpoint /predict.

    Menguji Aplikasi Web

    Kita bisa menggunakan alat seperti Postman atau cURL untuk menguji endpoint /predict kita. Berikut adalah contoh permintaan menggunakan cURL:

    Jika permintaan berhasil, aplikasi akan mengembalikan hasil prediksi dalam format JSON.

    Kesimpulan

    Dalam tutorial ini, kita telah belajar bagaimana membuat aplikasi web sederhana dengan Flask yang menggunakan model Machine Learning. Mulai dari persiapan data, melatih model, menyimpan model, hingga menerapkannya dalam aplikasi web. Semoga tutorial ini bermanfaat dan dapat membantu Anda dalam menulis artikel blog Anda.

    Preview
    Masih Bingung? Punya ide keren tapi bingung cara eksekusinya? Atau stuck di proyek digital kamu? Tenang! Tim kita siap bantu wujudin semua konsep kreatif kamu jadi nyata. Dari ngobrolin ide sampe launching, kita temenin sampe berhasil!