EdBoy2202 commited on
Commit
8c063ff
·
verified ·
1 Parent(s): c68bcf4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -10
app.py CHANGED
@@ -9,6 +9,39 @@ from huggingface_hub import hf_hub_download
9
  from transformers import AutoFeatureExtractor, AutoModelForImageClassification
10
  import torch
11
  from datetime import datetime
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  # Dataset loading function with caching
14
  @st.cache_data
@@ -81,16 +114,16 @@ def predict_price(model, brand, model_name, year):
81
  'age': datetime.now().year - year,
82
  'age_squared': (datetime.now().year - year) ** 2,
83
  'mileage_per_year': 12000,
84
- 'Make': brand, # Note the capital 'M' in Make
85
- 'model': model_name, # lowercase 'model'
86
- 'condition': 'Used',
87
- 'fuel': 'Gasoline',
88
- 'title_status': 'Clean',
89
- 'transmission': 'Automatic',
90
- 'drive': 'Fwd',
91
- 'size': 'Mid-Size',
92
- 'type': 'Sedan',
93
- 'paint_color': 'White'
94
  }
95
 
96
  # Prepare the input for the model
 
9
  from transformers import AutoFeatureExtractor, AutoModelForImageClassification
10
  import torch
11
  from datetime import datetime
12
+ from sklearn.preprocessing import LabelEncoder
13
+
14
+ # Initialize label encoders for categorical variables
15
+ make_encoder = LabelEncoder()
16
+ model_encoder = LabelEncoder()
17
+ condition_encoder = LabelEncoder()
18
+ fuel_encoder = LabelEncoder()
19
+ title_status_encoder = LabelEncoder()
20
+ transmission_encoder = LabelEncoder()
21
+ drive_encoder = LabelEncoder()
22
+ size_encoder = LabelEncoder()
23
+ type_encoder = LabelEncoder()
24
+ paint_color_encoder = LabelEncoder()
25
+
26
+ # Fit the encoders with some sample data (you may want to use your actual dataset for this)
27
+ sample_data = {
28
+ 'Make': ['Toyota', 'Honda', 'Ford', 'Chevrolet', 'Nissan'],
29
+ 'model': ['Camry', 'Civic', 'F-150', 'Silverado', 'Altima'],
30
+ 'condition': ['Used', 'New', 'Excellent', 'Good', 'Fair'],
31
+ 'fuel': ['Gasoline', 'Diesel', 'Electric', 'Hybrid', 'CNG'],
32
+ 'title_status': ['Clean', 'Salvage', 'Rebuilt', 'Lien', 'Missing'],
33
+ 'transmission': ['Automatic', 'Manual', 'CVT', 'DCT', 'AMT'],
34
+ 'drive': ['Fwd', 'Rwd', 'Awd', '4wd', 'Other'],
35
+ 'size': ['Mid-Size', 'Full-Size', 'Compact', 'Sub-Compact', 'Crossover'],
36
+ 'type': ['Sedan', 'SUV', 'Truck', 'Coupe', 'Van'],
37
+ 'paint_color': ['White', 'Black', 'Silver', 'Red', 'Blue']
38
+ }
39
+
40
+ for feature, encoder in [('Make', make_encoder), ('model', model_encoder), ('condition', condition_encoder),
41
+ ('fuel', fuel_encoder), ('title_status', title_status_encoder),
42
+ ('transmission', transmission_encoder), ('drive', drive_encoder),
43
+ ('size', size_encoder), ('type', type_encoder), ('paint_color', paint_color_encoder)]:
44
+ encoder.fit(sample_data[feature])
45
 
46
  # Dataset loading function with caching
47
  @st.cache_data
 
114
  'age': datetime.now().year - year,
115
  'age_squared': (datetime.now().year - year) ** 2,
116
  'mileage_per_year': 12000,
117
+ 'Make': make_encoder.transform([brand])[0],
118
+ 'model': model_encoder.transform([model_name])[0],
119
+ 'condition': condition_encoder.transform(['Used'])[0],
120
+ 'fuel': fuel_encoder.transform(['Gasoline'])[0],
121
+ 'title_status': title_status_encoder.transform(['Clean'])[0],
122
+ 'transmission': transmission_encoder.transform(['Automatic'])[0],
123
+ 'drive': drive_encoder.transform(['Fwd'])[0],
124
+ 'size': size_encoder.transform(['Mid-Size'])[0],
125
+ 'type': type_encoder.transform(['Sedan'])[0],
126
+ 'paint_color': paint_color_encoder.transform(['White'])[0]
127
  }
128
 
129
  # Prepare the input for the model