1sozidatel1 commited on
Commit
2cc4b8e
·
1 Parent(s): 279040d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -2
app.py CHANGED
@@ -4,7 +4,10 @@ import numpy as np
4
  import pandas as pd
5
  from datasets import load_dataset
6
 
 
7
  model = tf.keras.models.load_model('model/price_model.h5')
 
 
8
  location_mapping = {1: 'Астрахань', 2: 'Волгоград', 3: 'Краснодар', 4: 'Ростов-на-Дону', 5: 'Майкоп', 6: 'Элиста'}
9
  district_mapping = {
10
  1: [11, 12, 13, 14, 15],
@@ -23,6 +26,8 @@ district_names = {
23
  61: 'Элиста - Центральный'
24
  }
25
  author_type_mapping = {0: 'Риелтор', 1: 'Частный владелец'}
 
 
26
  dataset = load_dataset("1sozidatel1/sfd_housing_prices_november_2024")
27
  data = pd.DataFrame(dataset['train'])
28
  feature_cols = ['author_type_id', 'location_id', 'district_id', 'floor', 'rooms_count', 'total_meters']
@@ -49,9 +54,11 @@ def update_districts(location):
49
  districts = [district_names[district_id] for district_id in district_mapping[location_id]]
50
  return gr.update(choices=districts)
51
 
 
52
  with gr.Blocks() as demo:
53
  gr.Markdown("# Модель предсказания цен на недвижимость")
54
  gr.Markdown("Этот интерфейс позволяет предсказать цену на недвижимость на основе различных параметров, таких как тип продавца, город, район, этаж, количество комнат и площадь. Введите необходимые данные и нажмите кнопку 'Предсказать цену', чтобы получить предсказание 💵")
 
55
  with gr.Row():
56
  with gr.Column():
57
  author_type = gr.Dropdown(choices=list(author_type_mapping.values()), label="Тип продавца")
@@ -61,10 +68,12 @@ with gr.Blocks() as demo:
61
  rooms_count = gr.Dropdown(choices=[1, 2, 3, 4, 5], label="Количество комнат")
62
  total_meters = gr.Number(label="Площадь, кв.м")
63
  predict_btn = gr.Button("Предсказать цену")
 
64
  with gr.Column():
65
  price = gr.Number(label="Предсказанная цена, (тыс. руб.)")
66
-
67
  location.change(update_districts, inputs=location, outputs=district)
68
  predict_btn.click(predict_price, inputs=[author_type, location, district, floor, rooms_count, total_meters], outputs=price)
69
 
70
- demo.launch()
 
 
4
  import pandas as pd
5
  from datasets import load_dataset
6
 
7
+ # Загрузка модели
8
  model = tf.keras.models.load_model('model/price_model.h5')
9
+
10
+ # Карты местоположений и районов
11
  location_mapping = {1: 'Астрахань', 2: 'Волгоград', 3: 'Краснодар', 4: 'Ростов-на-Дону', 5: 'Майкоп', 6: 'Элиста'}
12
  district_mapping = {
13
  1: [11, 12, 13, 14, 15],
 
26
  61: 'Элиста - Центральный'
27
  }
28
  author_type_mapping = {0: 'Риелтор', 1: 'Частный владелец'}
29
+
30
+ # Загрузка данных
31
  dataset = load_dataset("1sozidatel1/sfd_housing_prices_november_2024")
32
  data = pd.DataFrame(dataset['train'])
33
  feature_cols = ['author_type_id', 'location_id', 'district_id', 'floor', 'rooms_count', 'total_meters']
 
54
  districts = [district_names[district_id] for district_id in district_mapping[location_id]]
55
  return gr.update(choices=districts)
56
 
57
+ # Создание интерфейса Gradio
58
  with gr.Blocks() as demo:
59
  gr.Markdown("# Модель предсказания цен на недвижимость")
60
  gr.Markdown("Этот интерфейс позволяет предсказать цену на недвижимость на основе различных параметров, таких как тип продавца, город, район, этаж, количество комнат и площадь. Введите необходимые данные и нажмите кнопку 'Предсказать цену', чтобы получить предсказание 💵")
61
+
62
  with gr.Row():
63
  with gr.Column():
64
  author_type = gr.Dropdown(choices=list(author_type_mapping.values()), label="Тип продавца")
 
68
  rooms_count = gr.Dropdown(choices=[1, 2, 3, 4, 5], label="Количество комнат")
69
  total_meters = gr.Number(label="Площадь, кв.м")
70
  predict_btn = gr.Button("Предсказать цену")
71
+
72
  with gr.Column():
73
  price = gr.Number(label="Предсказанная цена, (тыс. руб.)")
74
+
75
  location.change(update_districts, inputs=location, outputs=district)
76
  predict_btn.click(predict_price, inputs=[author_type, location, district, floor, rooms_count, total_meters], outputs=price)
77
 
78
+ if __name__ == "__main__":
79
+ demo.launch()