Insurance_Fraud_Detection / prediction.py
kothariyashhh's picture
Upload 7 files
4386418 verified
raw
history blame contribute delete
No virus
1.52 kB
import pandas as pd
import numpy as np
import joblib
# Load the model and preprocessing pipeline
model = joblib.load('model/only_model.joblib')
def preprocess_single_data(data):
# Convert the data into a DataFrame if it's not already
if not isinstance(data, pd.DataFrame):
data = pd.DataFrame(data, index=[0])
# handle missing values by replacing with mode
for column in data.columns:
mode_value = data[column].mode().iloc[0]
data[column] = data[column].replace(np.nan, mode_value)
def predict_single_fraud(data):
# Preprocess the single data point
data_processed = preprocess_single_data(data)
# Standardize the data
# data_scaled = scaler.transform(data_processed)
# Make predictions
prediction = model.predict(data_processed)[0]
probability = model.predict_proba(data_processed)[0, 1]
return prediction, probability
# Example usage:
# New single data point
new_data_point = {
'incident_severity': 'Major Damage',
'insured_hobbies': 9,
'total_claim_amount': 59670,
'months_as_customer': 116,
'policy_annual_premium': 951.46,
'incident_date': 30,
'capital-loss': -35500,
'capital-gains': 0,
'insured_education_level': 3,
'incident_city':5,
}
# Make predictions
prediction = predict_single_fraud(new_data_point)
# Display predictions
print(f'Fraud Prediction: {prediction}')
# print(f'Probability of Fraud: {probability:.4f}')