ABOUT ME

Today
Yesterday
Total
  • ์˜จ๋„ ์˜ˆ์ธก ๋ชจ๋ธ ๋งŒ๋“ค๊ธฐ
    AI ๋ชจ๋ธ ์—ฐ์Šต 2025. 5. 6. 00:05

    ์ด๋ฒˆ ๋ชจ๋ธ์€ ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์— ์žˆ๋Š” 2020,2021,2022์—ฐ๋„์˜ ๋‚ ์”จ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ํ•™์Šตํ•˜๊ณ  2023๋…„๋„์˜ ์˜จ๋„๋ฅผ ์ธก์ •ํ•˜๋Š”๊ฒŒ ๋ชฉํ‘œ์ด๋‹ค

     

    ํ•ด์•ผํ•  ์ž‘์—… ์ˆœ์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค

    1. ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ ๋ฐ ์ „์ฒ˜๋ฆฌ

    ๐Ÿ“Œ ํ•ด์•ผ ํ•  ์ผ

    • 2020, 2021, 2022๋…„ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ DataFrame์œผ๋กœ ๋ณ‘ํ•ฉ
    • ๋‚ ์งœ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์ค‘๋ณต ์ œ๊ฑฐ
    • min_temp, max_temp๊ฐ€ ํฌํ•จ๋œ ์—ด์„ ํŒŒ์•…ํ•˜๊ณ , ๊ฒฐ์ธก๊ฐ’ ์ฒ˜๋ฆฌ
    • ๋‚ ์งœ๋กœ๋ถ€ํ„ฐ ์›”(month), ์š”์ผ(dayofweek) ๋“ฑ ํŒŒ์ƒ ๋ณ€์ˆ˜ ์ƒ์„ฑ
    • ๋ฐ์ดํ„ฐ ์ •๋ฆฌ ๊ธฐ์ค€:
      • ๋‚ ์งœ(Date)
      • ๊ธฐ์˜จ ๊ด€๋ จ ๋ณ€์ˆ˜: min_temp, max_temp, (avg_temp, dew_point ๋“ฑ)
      • ๋‚ ์”จ ๊ด€๋ จ ๋ณ€์ˆ˜: ๊ฐ•์ˆ˜๋Ÿ‰, ์Šต๋„, ํ’์†, ๊ธฐ์•• ๋“ฑ

    2. ํƒ์ƒ‰์  ๋ฐ์ดํ„ฐ ๋ถ„์„ (EDA)

    ๐Ÿ“Œ ํ•ด์•ผ ํ•  ์ผ

    • ๊ธฐ์˜จ์˜ ์‹œ๊ณ„์—ด ์ถ”์ด ์‹œ๊ฐํ™” (์—ฐ๋„๋ณ„/์›”๋ณ„ ํ‰๊ท  ๊ธฐ์˜จ)
    • ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋“ค๊ณผ์˜ ์ƒ๊ด€๊ด€๊ณ„ ๋ถ„์„ (e.g. ์Šต๋„ vs ๊ธฐ์˜จ)
    • ๊ณ„์ ˆ์„ฑ, ์ฃผ๊ธฐ์„ฑ ํ™•์ธ (์›”, ์š”์ผ์— ๋”ฐ๋ผ ๊ธฐ์˜จ ํŒจํ„ด ์กด์žฌํ•˜๋Š”์ง€)

    3. ํ”ผ์ฒ˜ ์—”์ง€๋‹ˆ์–ด๋ง

    ๐Ÿ“Œ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” Feature ์˜ˆ์‹œ

    Feature ์„ค๋ช…
    month, dayofweek ๊ณ„์ ˆ/์š”์ผ ํšจ๊ณผ ๋ฐ˜์˜
    lag_min_temp, lag_max_temp ํ•˜๋ฃจ ์ „ ๊ธฐ์˜จ
    rolling_mean_temp_7 ์ตœ๊ทผ 7์ผ ํ‰๊ท  ๊ธฐ์˜จ
    humidity, wind_speed, pressure ์™ธ๋ถ€ ๊ธฐ์ƒ ๋ณ€์ˆ˜

    4. ๋ชจ๋ธ ์„ ํƒ ๋ฐ ํ•™์Šต

    ๐Ÿ“Œ ๋ชจ๋ธ ํ›„๋ณด

    • ๊ฐ„๋‹จํ•œ ํšŒ๊ท€: LinearRegression
    • ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ: RandomForest, XGBoost, LightGBM (์ถ”์ฒœ)
    • MLP (๋‹ค์ธต ํผ์…‰ํŠธ๋ก ): ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ๋ชจ๋ธ

    ๐Ÿ“Œ ํ•™์Šต ๋ฐฉ์‹

    • train.csv: 2020~2022๋…„
    • test.csv: 2023๋…„ ๋ฐ์ดํ„ฐ
    • ๋ชฉํ‘œ: min_temp, max_temp ์˜ˆ์ธก (ํšŒ๊ท€)

    5. ํ‰๊ฐ€ ๋ฐ ๊ฐœ์„ 

    ๐Ÿ“Œ ํ‰๊ฐ€ ์ง€ํ‘œ

    • ๋ฌธ์ œ ์„ค๋ช…์— ROC AUC๋ผ๊ณ  ๋˜์–ด์žˆ์ง€๋งŒ ์ด๋Š” ๋ถ„๋ฅ˜์šฉ ์ง€ํ‘œ โ†’ ํšŒ๊ท€ ๋ฌธ์ œ์—์„œ๋Š” RMSE๋‚˜ MAE๋กœ ๋กœ์ปฌ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์ด ์ž์—ฐ์Šค๋Ÿฝ๋‹ค.
    • ์˜ˆ์ธก๊ฐ’์ด ์‹ค์ œ๊ฐ’๊ณผ ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์šด์ง€๋ฅผ ํ™•์ธ

     

    [ํ™˜๊ฒฝ์„ค์ •]

    [Colab ์‚ฌ์šฉ์‹œ]

    1. https://colab.research.google.com/ ์ ‘์†

    2. ์ƒˆ ๋…ธํŠธ๋ถ ์ƒ์„ฑ

    3. ์•„๋ž˜ ์ฝ”๋“œ ์‹คํ–‰ํ•˜์—ฌ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ํ™•์ธ

    !pip install pandas scikit-learn xgboost lightgbm

     

     

    4. CSV ํŒŒ์ผ ์—…๋กœ๋“œ:

    from google.colab import files
    uploaded = files.upload()  # ๋กœ์ปฌ์—์„œ ํŒŒ์ผ ์„ ํƒํ•ด์„œ ์˜ฌ๋ฆผ

     

     

    5. ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

    import pandas as pd
    
    df = pd.read_csv("SURFACE_ASOS_159_DAY_2020_2020_2021.csv", encoding='cp949')

     

    [๋กœ์ปฌ (๋งฅ๋ถ)์—์„œ VSCode or Jupyter Notebook ์‚ฌ์šฉ์‹œ]

     

    ๐Ÿ“Œ ์ค€๋น„ ์‚ฌํ•ญ

    • Python 3.x ์„ค์น˜
    • ์•„๋ž˜ ํŒจํ‚ค์ง€ ์„ค์น˜ (ํ„ฐ๋ฏธ๋„์—์„œ)
    pip install pandas scikit-learn matplotlib seaborn xgboost lightgbm jupyter

     

    ๐Ÿ“Œ ์‹คํ–‰ ๋ฐฉ๋ฒ•

    jupyter notebook
     

    โ†’ ๋ธŒ๋ผ์šฐ์ €์—์„œ Jupyter ํ™˜๊ฒฝ ์—ด๋ฆฌ๊ณ , CSV ๋ถˆ๋Ÿฌ์™€์„œ ์ž‘์—… ๊ฐ€๋Šฅ

     

     

    ๋Œ“๊ธ€

Designed by Tistory.