Advertisement
aize33

car price prediction

May 5th, 2024 (edited)
768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.29 KB | None | 0 0
  1.  
  2. # Importing Libraries
  3.  
  4. import pandas as pd
  5. import matplotlib.pyplot as plt
  6. import seaborn as sns
  7. from sklearn.model_selection import train_test_split
  8. from sklearn.linear_model import LinearRegression
  9. from sklearn.linear_model import Lasso
  10. from sklearn import metrics
  11.  
  12. # Data Collection and Processing
  13.  
  14. car_dataset = pd.read_csv('car data.csv')
  15. car_dataset.head()
  16. car_dataset.shape
  17. car_dataset.info()
  18.  
  19. # Checking for missing values
  20.  
  21. print(car_dataset.isnull().sum())
  22.  
  23. # Checking the distribution of categorical data
  24.  
  25. print(car_dataset.Fuel_Type.value_counts())
  26. print(car_dataset.Seller_Type.value_counts())
  27. print(car_dataset.Transmission.value_counts())
  28.  
  29. # Categorical data encoding
  30.  
  31. car_dataset.replace({'Fuel_Type': { 'Petrol': 0, 'Diesel':1, 'CNG':2 }}, inplace=True)
  32. car_dataset.replace({'Seller_Type': { 'Dealer': 0, 'Individual':1 }}, inplace=True)
  33. car_dataset.replace({'Transmission': { 'Manual': 0, 'Automatic':1 }}, inplace=True)
  34.  
  35. print(car_dataset.head())
  36.  
  37. # Data splitting into Feature data and Target data
  38.  
  39. X = car_dataset.drop(['Car_Name', 'Selling_Price'], axis = 1)
  40. y = car_dataset['Selling_Price']
  41.  
  42. print(X)
  43. print(y)
  44.  
  45. # Data splitting into training and testing data
  46.  
  47. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.1, random_state = 2)
  48.  
  49. # Model Training : Lasso Rgression
  50.  
  51. lass_reg = Lasso()
  52.  
  53. lass_reg.fit(X_train, y_train)
  54.  
  55. # Model evaluation : Training data
  56.  
  57. training_data_prediction = lass_reg.predict(X_train)
  58.  
  59. # Metrics using R squared eror
  60.  
  61. error_score = metrics.r2_score(y_train, training_data_prediction)
  62. print('R squared Error : ', error_score)
  63.  
  64. # Visualize the Actual prices and Predicted prices
  65.  
  66. plt.scatter(y_train, training_data_prediction)
  67. plt.xlabel('Actual Price')
  68. plt.ylabel('Predicted Price')
  69. plt.title('Actual Prices vs Predicted Prices')
  70. plt.show()
  71.  
  72. # Model evaluation : Testing data
  73.  
  74. test_data_prediction = lass_reg.predict(X_test)
  75.  
  76. # Metrics using R squared eror in test data
  77.  
  78. error_score = metrics.r2_score(y_test, test_data_prediction)
  79. print('R squared Error : ', error_score)
  80.  
  81. # Visualize the Actual prices and Predicted prices in test data
  82.  
  83. plt.scatter(y_test, test_data_prediction)
  84. plt.xlabel('Actual Price')
  85. plt.ylabel('Predicted Price')
  86. plt.title('Actual Prices vs Predicted Prices')
  87. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement