#!/usr/bin/env python3 """ Example script for using IndoHoaxDetector model This script demonstrates how to load the model and make predictions on Indonesian news text. """ import pickle def load_model(model_path='logreg_model.pkl'): """Load the trained logistic regression model.""" with open(model_path, 'rb') as f: model = pickle.load(f) return model def predict_hoax(text, model): """ Predict if the given text is a hoax or legitimate news. Args: text (str): Indonesian news text to classify model: Loaded sklearn model Returns: dict: Prediction results with label and confidence """ # Make prediction prediction = model.predict([text])[0] probabilities = model.predict_proba([text])[0] # Interpret results label = "Hoax" if prediction == 1 else "Legitimate" confidence = probabilities[prediction] return { 'prediction': label, 'confidence': confidence, 'probabilities': { 'legitimate': probabilities[0], 'hoax': probabilities[1] } } def main(): """Main function to demonstrate model usage.""" # Load the model print("Loading IndoHoaxDetector model...") model = load_model() # Example texts (Indonesian news snippets) example_texts = [ "Presiden mengumumkan kebijakan baru untuk ekonomi nasional hari ini di Jakarta.", "Alien mendarat di Monas dan bertemu dengan presiden secara rahasia.", "Harga bahan pokok naik 50% akibat cuaca ekstrem di beberapa daerah.", "Minum air kelapa bisa menyembuhkan semua penyakit termasuk kanker stadium 4." ] print("\n" + "="*60) print("IndoHoaxDetector Predictions") print("="*60) for i, text in enumerate(example_texts, 1): print(f"\nExample {i}:") print(f"Text: {text[:100]}{'...' if len(text) > 100 else ''}") result = predict_hoax(text, model) print(f"Prediction: {result['prediction']}") print(".4f") print("\n" + "="*60) print("Note: This is a demonstration. Always verify predictions with human expertise.") print("="*60) if __name__ == "__main__": main()