import joblib import pandas as pd # Load the model mileage_model = joblib.load('mileage_predictor.pkl') price_model = joblib.load('price_predictor.pkl') year_model = joblib.load('year_predictor.pkl') # Prepare input data for prediction def prepare_input(data_dict): # Prepare a DataFrame from a dictionary of input data input_df = pd.DataFrame([data_dict]) input_df['Car_Age'] = 2024 - input_df['Year'] input_df.drop(columns=['Year'], inplace=True) return input_df # Make prediction def predict(input_data): # Predict mileage and price for a given input. prepared_data = prepare_input(input_data) mileage = mileage_model.predict(prepared_data)[0] price = price_model.predict(prepared_data)[0] year = year_model.predict(prepared_data)[0] return mileage, price, int(year) def collect_input(): print("Enter the car details for prediction:") year = int(input("Year of Manufacture (e.g., 2022): ")) kilometers_driven = int(input("Kilometers Driven (e.g., 30000): ")) fuel_type = input("Fuel Type (Petrol/Diesel/CNG/Electric): ") transmission = input("Transmission (Manual/Automatic): ") owner_type = input("Owner Type (First/Second/Third/Fourth & Above): ") location = input("Location (e.g., Mumbai): ") engine_cc = int(input("Engine Capacity in CC (e.g., 1200): ")) power = float(input("Power in BHP (e.g., 85): ")) seats = int(input("Number of Seats (e.g., 5): ")) return { 'Year': year, 'Kilometers_Driven': kilometers_driven, 'Fuel_Type': fuel_type, 'Transmission': transmission, 'Owner_Type': owner_type, 'Location': location, 'Engine CC': engine_cc, 'Power': power, 'Seats': seats } # Collect input data from the user data = collect_input() # Make prediction predicted_mileage, predicted_price, predicted_year = predict(data) print("\nPrediction Results:") print(f"Predicted Mileage (Km/L): {predicted_mileage:.2f}") print(f"Predicted Price: ₹{predicted_price:,.2f} Lakhs") print(f"Predicted Year: {predicted_year}")