Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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,
|
85 |
-
'model': model_name,
|
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
|