avram48 commited on
Commit
8bae677
·
verified ·
1 Parent(s): d23fe17

Delete car_predictions.py

Browse files
Files changed (1) hide show
  1. car_predictions.py +0 -77
car_predictions.py DELETED
@@ -1,77 +0,0 @@
1
- import numpy as np
2
- import pandas as pd
3
- import tensorflow as tf
4
- from sklearn.preprocessing import LabelEncoder, MinMaxScaler
5
- from keras.models import Sequential
6
- from keras.layers import Dense, Dropout
7
- from flask import Flask, request, jsonify
8
-
9
- app = Flask(__name__)
10
-
11
- # Загрузка и подготовка данных
12
- data = pd.read_csv('cars_raw.csv')
13
-
14
- # Предобработка данных
15
- le = LabelEncoder()
16
- data['Make'] = le.fit_transform(data['Make'])
17
- data['Model'] = le.fit_transform(data['Model'])
18
- data = data[data['Price'] != 'Not Priced']
19
- data["Price"] = data["Price"].str.replace("$", "").str.replace(",", "").astype(float)
20
-
21
- scaler = MinMaxScaler()
22
- data['Price'] = scaler.fit_transform(data['Price'].values.reshape(-1, 1))
23
-
24
- data = data.dropna()
25
- for col in data.select_dtypes(include=['category', 'object']).columns:
26
- data[col] = le.fit_transform(data[col])
27
-
28
- for col in data.select_dtypes(include=['number']).columns:
29
- data[col] = scaler.fit_transform(data[col].values.reshape(-1, 1))
30
-
31
- data = data.drop(columns=["Mileage", "SellerType", "VIN", "Stock#", "Drivetrain",
32
- "SellerName", "ConsumerReviews", "ExteriorStylingRating",
33
- "State", "Zipcode", "DealType"])
34
- data_df = pd.DataFrame(data)
35
-
36
- X = data.drop('Price', axis=1)
37
- y = data['Price']
38
-
39
- # Создание и обучение модели
40
- model = Sequential()
41
- model.add(Dense(128, input_shape=(X.shape[1],)))
42
- model.add(Dropout(0.3))
43
- model.add(Dense(64))
44
- model.add(Dropout(0.3))
45
- model.add(Dense(1))
46
-
47
- model.compile(optimizer='adam', loss='mean_squared_error')
48
- model.fit(X, y, epochs=100, batch_size=32)
49
-
50
- # Добавление маршрута для главной страницы
51
- @app.route('/')
52
- def home():
53
- return "Добро пожаловать на сайт по предсказанию цен на поддержанные автомобили"
54
-
55
- @app.route('/predict', methods=['POST'])
56
- def predict():
57
- car_data = request.json
58
- car_data_df = pd.DataFrame([car_data])
59
-
60
- # Предобработка входных данных
61
- for col in car_data_df.select_dtypes(include=['category', 'object']).columns:
62
- car_data_df[col] = le.transform(car_data_df[col])
63
-
64
- for col in car_data_df.select_dtypes(include=['number']).columns:
65
- car_data_df[col] = scaler.transform(car_data_df[col].values.reshape(-1, 1))
66
-
67
- # Получаем предсказание
68
- prediction = model.predict(car_data_df)
69
- inverted_prediction = scaler.inverse_transform(prediction.reshape(-1, 1))
70
- predicted_price = inverted_prediction[0][0]
71
-
72
- return jsonify({'predicted_price': predicted_price})
73
-
74
- if __name__ == '__main__':
75
- app.run(host='0.0.0.0', port=5000)
76
-
77
- model.save("test_model.keras")