Spaces:
Running
Running
| # train_model.py | |
| import pandas as pd | |
| from sklearn.model_selection import train_test_split | |
| from sklearn.svm import SVC # Kita akan gunakan Support Vector Classifier | |
| from sklearn.metrics import accuracy_score | |
| import joblib # Untuk menyimpan model | |
| # 1. Muat Dataset | |
| print("Memuat dataset...") | |
| dataset = pd.read_csv('bwd_dataset.csv') | |
| # 2. Pisahkan Fitur (X) dan Target (y) | |
| X = dataset[['avg_hue_value']] # Fitur input | |
| y = dataset['bwd_score'] # Label yang ingin diprediksi | |
| # 3. Pisahkan Data Training dan Data Testing | |
| # 80% untuk melatih model, 20% untuk menguji akurasinya | |
| X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) | |
| print(f"Jumlah data training: {len(X_train)}, Jumlah data testing: {len(X_test)}") | |
| # 4. Inisialisasi dan Latih Model Machine Learning | |
| print("Melatih model SVM...") | |
| # SVC adalah model klasifikasi yang kuat dan cocok untuk dataset kecil | |
| model = SVC(kernel='linear', probability=True) | |
| model.fit(X_train, y_train) | |
| # 5. Uji Akurasi Model | |
| print("Menguji akurasi model...") | |
| predictions = model.predict(X_test) | |
| accuracy = accuracy_score(y_test, predictions) | |
| print(f"Akurasi model pada data test: {accuracy * 100:.2f}%") | |
| # 6. Simpan Model yang Sudah Terlatih | |
| # Ini langkah terpenting. Kita simpan model ke sebuah file. | |
| joblib.dump(model, 'bwd_model.pkl') | |
| print("Model berhasil dilatih dan disimpan sebagai bwd_model.pkl") |