Untitled
unknown
plain_text
6 days ago
1.9 kB
5
Indexable
# Step 1: Import Libraries import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.preprocessing import StandardScaler from sklearn.metrics import mean_squared_error, r2_score # Step 2: Load Data df = pd.read_csv('car data.csv') # Update path if needed # Step 3: Check Missing Values print("Missing values:\n", df.isnull().sum()) # Step 4: Drop or Fill Missing Values (if any) df = df.dropna() # Or use df.fillna(method='ffill') if appropriate # Step 5: Drop 'Car_Name' (not useful for linear regression) df = df.drop('Car_Name', axis=1) # Step 6: Convert 'Current Year' to 'Car Age' df['Car_Age'] = 2020 - df['Year'] # Assuming current year is 2020 df.drop('Year', axis=1, inplace=True) # Step 7: Encode Categorical Variables df = pd.get_dummies(df, drop_first=True) # Encodes Fuel_Type, Seller_Type, Transmission # Step 8: Define Features (X) and Target (y) X = df.drop('Selling_Price', axis=1) y = df['Selling_Price'] # Step 9: Split Data X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Step 10: (Optional) Feature Scaling scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # Step 11: Train Linear Regression Model model = LinearRegression() model.fit(X_train_scaled, y_train) # Step 12: Predict & Evaluate y_pred = model.predict(X_test_scaled) print("R^2 Score:", r2_score(y_test, y_pred)) print("Mean Squared Error:", mean_squared_error(y_test, y_pred)) # Step 13: Visualization plt.figure(figsize=(8,5)) plt.scatter(y_test, y_pred) plt.xlabel("Actual Selling Price") plt.ylabel("Predicted Selling Price") plt.title("Actual vs Predicted Prices") plt.grid(True) plt.show()
Editor is loading...
Leave a Comment