파이썬으로 머신러닝 배우기!
먼저 kosis.kr에서 서울의 아파트 매매가, 단독주택매매가, 연립다세대 매매가, 경기종합지수에 대한 데이터를 가져왔다.
가져온 데이터들은 엑셀에 2015년 10월부터 2021년 2월까지로 정리하였다.
서울의 아파트, 연립다세대, 단독주택의 평균 매매가격이며
아파트 : 전용면적 기준, 규모1) 40㎡이하, 규모2) 40㎡초과~60㎡이하, 규모3) 60㎡초과~85㎡이하, 규모4) 85㎡초과~102㎡이하,규모5) 102㎡초과~135㎡이하, 규모6) 135㎡초과
중에 규모 3
연립다세대 : 전용면적 기준, 규모1) 40㎡이하, 규모2) 40㎡초과~60㎡이하, 규모3) 60㎡초과~85㎡이하, 규모4) 85㎡초과
중에 규모 3
단독주택 : 규모1) 전용면적99㎡이하 & 대지면적231㎡이하, 규모2) 전용면적99㎡초과 331이하 & 대지면적662㎡이하 또는 전용면적99㎡이하 & 대지면적231㎡초과 662㎡이하, 규모3) 전용면적331㎡초과 또는 대지면적662㎡초과
중에 규모 3
을 가져왔다.
단독주택은 규모 1을 가져왔어야 하는데.....
일단 규모3으로 해보았다.
그래서 그런지 단독주택이 가장 관련성이 낮았다.
1. 아파트매매가와 경기종합지수 2차 함수식
서울의 규모3의 아파트 매매가와 경기종합지수의 상관관계를 2차 함수식으로 예측해보았다.
결정계수가 0.9255로 꽤 높게 나타났다.
2. 연립다세대 매매가와 경기종합지수
결정계수는 0.9263으로 아파트보다는 좀 낮다.
3. 단독주택 매매가와 경기 종합지수
단독주택 매매가는 타 주택 유형보다 결정계수가 낮았다.
0.8939로 가장 낮게 나타났다.
아무래도 규모1의 데이터를 가져왔어야한다....
4. 서울의 집값과 경기종합지수
결정계수가 0.9314로 서울의 집값과 경기종합지수는 관련성이 꽤 크다는 것을 알 수 있다.
아마 전국단위로 하면 집 값과 경기 종합 지수의 관계를 더욱 정확히 알 수 있을 것 같다.
5. 서울 집값과 경기종합지수의 2차함수식
확실히 2차 함수식으로 나타내니 결정 계수가 0.9939로 올라가고 예측 그래프도 정확해졌다.
import pandas as pd
import openpyxl
import matplotlib.pyplot as plot
import sklearn
plot.rcParams["font.family"] = 'Malgun gothic'
data = pd.read_excel("seoulapt.xlsx", header=0)
newData = data[['경기종합지수', '아파트매매가', '단독주택매매가','연립다세대매매가']]
#속성(변수) 선택
x = newData[['아파트매매가', '단독주택매매가','연립다세대매매가']]
y = newData[['경기종합지수']]
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree = 2) #2차항 적용
x_poly = poly.fit_transform(x)
#단순 회귀 모델 생성
model = LinearRegression()
model.fit(x_poly, y)
#예측 모델 생성
y_p = model.predict(x_poly)
#가중치와 y절편 출력
print('가중치 a : ', model.coef_)
print('y절편 : ', model.intercept_)
#결정계수
relation_square = model.score(x_poly, y)
print('결정계수 : ', relation_square)
import seaborn as sns
ax1 = sns.distplot(y, hist = False, label = 'y실제')
ax2 = sns.distplot(y_p, hist = False, label = 'y예측')
plot.show()
#seaborn으로 출력
#plot.scatter(x['kor'], y, marker = '+')
#plot.scatter(x['kor'], y_p, marker = 'o')
#plot.figure(figsize=(10,5))
#plot.show()
'프로그래밍 > 머신러닝' 카테고리의 다른 글
서포트 백터 머신(model = SVR(kernel = 'rbf', C=1000, gamma = 1000)_파이썬으로 머신러닝 배우기 (0) | 2021.04.23 |
---|---|
서포트 백터 머신(from sklearn.svm import SVR)_파이썬으로 머신러닝 배우기 (1) | 2021.04.21 |
삼성전자, 현대자동차, LG화학 주가와 KOSPI 주가의 상관 관계 분석_파이썬으로 머신러닝 배우기 (0) | 2021.04.16 |
다중 선형 회귀_파이썬으로 머신러닝 배우기 (0) | 2021.04.14 |
단순 선형 회귀 2차식, 3차식, n차식까지 만들기(PolynomialFeatures)_파이썬으로 머신러닝 배우기 (0) | 2021.04.12 |