File size: 4,183 Bytes
26a7f01 cc5ae1e 26a7f01 cc5ae1e 26a7f01 cc5ae1e 7648841 cc5ae1e 7648841 cc5ae1e 7648841 cc5ae1e 7648841 cc5ae1e 7648841 88389bc 7648841 88389bc 7648841 cc5ae1e 7648841 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
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=1)
์ฃผ์ฐจ์ = gr.Number(label="์ฃผ์ฐจ๋์", value=50)
with gr.Row():
์ฐ๋ฉด์ = gr.Number(label="์ฐ๋ฉด์ (m2)", value=300)
๋์ง๋ฉด์ = gr.Number(label="๋์ง๋ฉด์ (m2)", value=500)
๊ฑด์ถ๋ฉด์ = gr.Number(label="๊ฑด์ถ๋ฉด์ (m2)", value=120)
์กฐ๊ฒฝ๋ฉด์ = gr.Number(label="์กฐ๊ฒฝ๋ฉด์ (m2)", value=150)
with gr.Row():
๋ฐ์ฃผ๋
= gr.Number(label="๋ฐ์ฃผ๋
", value=2023)
๋ฐ์ฃผ์ = gr.Number(label="๋ฐ์ฃผ์", value=9)
๊ณต์ฌ๊ธฐ๊ฐ = gr.Number(label="๊ณต์ฌ๊ธฐ๊ฐ(์ผ)", value=100)
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="์กฐ๊ฒฝ๊ณต์ฌ๋น")
]
)
demo.launch() |