수업(국비지원)/Python
[Python] 머신러닝 - 지도학습(회귀분석)3
byeolsub
2023. 4. 26. 22:26
##################################
# <https://data.kma.go.kr/> : 기후통계분석 > 기온분석 데이터 다운받기
# 1904 ~ 전일까지 : seoul_1215.csv 저장
# 2022.12.15 날짜 예측하기
##################################
<aside> 📌
# seoul_1215.csv 읽기
seoul = pd.read_csv("data/seoul_1215.csv", encoding="cp949")
seoul.info()
seoul.head()
# \\t 제거하기
seoul["날짜"] = seoul["날짜"].str.replace("\\t","")
seoul.info()
seoul.head()
# 년도 컬럼 만들기.
seoul["년도"] = seoul["날짜"].apply(lambda x : x[:4])
seoul.head()
# 월일 컬럼 만들기
seoul["월일"] = seoul["날짜"].str[5:]
seoul.head()
# seoul1215 데이터의 변수에 12-15일 날짜만 저장하기
seoul1215 = seoul.loc[seoul["월일"] == '12-15']
seoul1215.info()
seoul1215.tail()
# 지점 컬럼 제거
del seoul1215["지점"]
# 컬럼명 변경
seoul1215.columns=\\
["날짜","평균기온","최저기온","최고기온","년도","월일"]
seoul1215.info()
# 최저기온이 결측값인 데이터 조회하기
seoul1215.loc[seoul1215["최저기온"].isnull()]
# 최저기온이 결측값인 데이터 제거하기
seoul1215 = seoul1215.dropna(subset=["최저기온"],axis=0)
seoul1215.info()
# 독립변수, 종속변수
X = seoul1215[["년도"]]
Y = seoul1215["최저기온"]
# 알고리즘
model = LinearRegression()
model.fit(X,Y)
result = model.predict([[2022]])
result
# 다중 회귀분석 : 독립변수 여러개
X = seoul1215[["년도","최고기온"]] # 2022년 1도
Y = seoul1215["최저기온"]
model = LinearRegression()
model.fit(X,Y)
result = model.predict([[2022,1]])
result
# 그래프 생성
import matplotlib.pyplot as plt
plt.rc("font",family="Malgun Gothic")
plt.rcParams['axes.unicode_minus'] = False
seoul1215.plot()
📌
# 각각의생일자를 그래프로 작성하기
seoul0131 = seoul.loc[seoul["월일"] == '01-31']
del seoul0131["지점"]
# 그래프 생성
import matplotlib.pyplot as plt
plt.rc("font",family="Malgun Gothic")
plt.rcParams['axes.unicode_minus'] = False
seoul0131.plot()