| import gradio as gr |
| import pandas as pd |
| import pickle |
|
|
| |
| def load_model(): |
| with open("model.pkl", "rb") as file: |
| loaded_pipeline = pickle.load(file) |
| return loaded_pipeline |
|
|
| |
| def predict_cost(๊ตฌ์กฐ, ์งํ์ธต์, ์ง์์ธต์, ์ฃผ์ฐจ๋์, ์ฐ๋ฉด์ , ๋์ง๋ฉด์ , ๊ฑด์ถ๋ฉด์ , ์กฐ๊ฒฝ๋ฉด์ , ๋ฐ์ฃผ๋
๋, ๋ฐ์ฃผ์, ๊ณต์ฌ๊ธฐ๊ฐ, ํ์ฅ์์น, ๊ฑด์ถ๋ฒ์์ฉ๋): |
| new_project = { |
| '๊ตฌ์กฐ': [๊ตฌ์กฐ], |
| '์งํ์ธต์': [์งํ์ธต์], |
| '์ง์์ธต์': [์ง์์ธต์], |
| '์ฃผ์ฐจ๋์': [์ฃผ์ฐจ๋์], |
| '์ฐ๋ฉด์ ': [์ฐ๋ฉด์ ], |
| '๋์ง๋ฉด์ ': [๋์ง๋ฉด์ ], |
| '๊ฑด์ถ๋ฉด์ ': [๊ฑด์ถ๋ฉด์ ], |
| '์กฐ๊ฒฝ๋ฉด์ ': [์กฐ๊ฒฝ๋ฉด์ ], |
| '๋ฐ์ฃผ๋
๋': [๋ฐ์ฃผ๋
๋], |
| '๋ฐ์ฃผ์': [๋ฐ์ฃผ์], |
| '๊ณต์ฌ๊ธฐ๊ฐ': [๊ณต์ฌ๊ธฐ๊ฐ], |
| 'ํ์ฅ์์น': [ํ์ฅ์์น], |
| '๊ฑด์ถ๋ฒ์์ฉ๋': [๊ฑด์ถ๋ฒ์์ฉ๋], |
| } |
| |
| model = load_model() |
| pred = model.predict(pd.DataFrame.from_dict(new_project)) |
| return [f'{cost:,.0f}์' for cost in pred[0]] |
|
|
| with gr.Blocks() as demo: |
| gr.Markdown("## HG ๊ณต์ฌ๋น ์์ธก ๋ชจ๋ธ") |
| with gr.Row(): |
| ๊ตฌ์กฐ = gr.Dropdown(label="๊ตฌ์กฐ", choices=['์ฒ ๊ทผ์ฝํฌ๋ฆฌํธ์กฐ', '์ฒ ๊ณจ์กฐ', '์ฒ ๊ณจ์ฒ ๊ทผ์ฝํฌ๋ฆฌํธ์กฐ', '๊ธฐํ'], value='์ฒ ๊ทผ์ฝํฌ๋ฆฌํธ์กฐ') |
| with gr.Row(): |
| ์งํ์ธต์ = gr.Number(label="์งํ์ธต์", value=1) |
| ์ง์์ธต์ = gr.Number(label="์ง์์ธต์", value=4) |
| ์ฃผ์ฐจ์ = gr.Number(label="์ฃผ์ฐจ๋์", value=120) |
| with gr.Row(): |
| ์ฐ๋ฉด์ = gr.Number(label="์ฐ๋ฉด์ (m2)", value=12396) |
| ๋์ง๋ฉด์ = gr.Number(label="๋์ง๋ฉด์ (m2)", value=5861) |
| ๊ฑด์ถ๋ฉด์ = gr.Number(label="๊ฑด์ถ๋ฉด์ (m2)", value=2828) |
| ์กฐ๊ฒฝ๋ฉด์ = gr.Number(label="์กฐ๊ฒฝ๋ฉด์ (m2)", value=933) |
| with gr.Row(): |
| ๋ฐ์ฃผ๋
= gr.Number(label="๋ฐ์ฃผ๋
๋", value=2023) |
| ๋ฐ์ฃผ์ = gr.Number(label="๋ฐ์ฃผ์", value=9) |
| ๊ณต์ฌ๊ธฐ๊ฐ = gr.Number(label="๊ณต์ฌ๊ธฐ๊ฐ(์ผ)", value=570) |
| with gr.Row(): |
| ํ์ฅ์์น = gr.Dropdown(label="ํ์ฅ์์น", choices=['์์ธํน๋ณ์', '์ ์ฃผํน๋ณ์์น๋', '๊ฒฝ์๋ถ๋', '์ธ์ฐ๊ด์ญ์', '๊ด์ฃผ๊ด์ญ์', '๊ฒฝ๊ธฐ๋', '์ถฉ์ฒญ๋ถ๋', |
| '๊ฒฝ์๋จ๋', '์ ๋ผ๋จ๋', '๋ถ์ฐ๊ด์ญ์', '์ถฉ์ฒญ๋จ๋', '๋๊ตฌ๊ด์ญ์', '๊ฐ์๋', '์ธ์ฒ๊ด์ญ์', '์ ๋ผ๋ถ๋', |
| '์ธ์ข
ํน๋ณ์์น์', '๋์ ๊ด์ญ์', '๊ฐ์ํน๋ณ์์น๋'], value='๊ฒฝ์๋ถ๋') |
| ๊ฑด์ถ๋ฒ์์ฉ๋ = gr.Dropdown(label="๊ฑด์ถ๋ฒ์์ฉ๋", choices=['๊ทผ๋ฆฐ์ํ์์ค', '๊ฒฉ๋ฉ๊ณ ', '๊ณต๊ณต์
๋ฌด์์ค', '๊ณต๋์ฃผํ', '๊ณต์์์ค', '๊ณต์ฅ', '๊ณตํญ์์ค', '๊ด๊ดํด๊ฒ์์ค', |
| '๊ต์ก์ฐ๊ตฌ์์ค', '๊ต์ก์ฐ๊ตฌ์์ค ', '๊ธฐ์์ฌ', '๊ตฐ์ฌ์์ค', '๊ต์ ์์ค', '์
๋ฌด์์ค', '๊ธฐํํ๊ต์์ค', |
| '๋
ธ์ ์ ์์ค', '๋
ธ์ ์์์ค', '๋ฐ์ดํฐ์ผํฐ', '๋๋ฌผ๋ฐ์๋ฌผ๊ด๋ จ์์ค', '๋ฌ์ง ๊ด๋ จ ์์ค', '๋ฌ์ง๊ด๋ จ์์ค', |
| '๋ฌธํ๋ฐ์งํ์์ค', '๋ฌธํ๋ฐ ์งํ์์ค', '๋ฐฉ์กํต์ ์์ค', '์ฌํ๋ณต์ง์์ค', '์ค๊ณต๊ณต์
๋ฌด์์ค', '์๋ จ์์ค', |
| '์
๋ฌด์์ค ', '์ฐ๊ตฌ์์ค', '์ด๋์์ค', '์ด์์์ค', '์ด์์์ค ', '์๋ฃ์์ค', '์๋์ฐจ๊ด๋ จ์์ค', |
| '์์์ํ๊ด๋ จ์์ค', '์ ์์์ค', '์ฃผ์ฐจ์ฅ', '์ฐฝ๊ณ ์์ค', '์ฒด์ก์์ค', 'ํ๋งค์์ค'], value='์
๋ฌด์์ค') |
| |
| btn = gr.Button("๊ณต์ฌ๋น ์์ธก") |
| |
| btn.click( |
| predict_cost, |
| inputs=[ |
| ๊ตฌ์กฐ, ์งํ์ธต์, ์ง์์ธต์, ์ฃผ์ฐจ์, ์ฐ๋ฉด์ , ๋์ง๋ฉด์ , ๊ฑด์ถ๋ฉด์ , ์กฐ๊ฒฝ๋ฉด์ , ๋ฐ์ฃผ๋
, ๋ฐ์ฃผ์, ๊ณต์ฌ๊ธฐ๊ฐ, ํ์ฅ์์น, ๊ฑด์ถ๋ฒ์์ฉ๋ |
| ], |
| outputs=[ |
| gr.Textbox(label="๊ฑด์ถ๊ณต์ฌ๋น"), |
| gr.Textbox(label="๊ธฐ๊ณ๊ณต์ฌ๋น"), |
| gr.Textbox(label="์ ๊ธฐ๊ณต์ฌ๋น"), |
| gr.Textbox(label="ํต์ ๊ณต์ฌ๋น"), |
| gr.Textbox(label="์๋ฐฉ๊ณต์ฌ๋น"), |
| gr.Textbox(label="ํ ๋ชฉ๊ณต์ฌ๋น"), |
| gr.Textbox(label="์กฐ๊ฒฝ๊ณต์ฌ๋น") |
| ] |
| ) |
|
|
| demo.launch() |