반응형
Boston Dataset에 실제 적용해보기¶
In [36]:
from sklearn import datasets
boston_house_prices = datasets.load_boston()
# 로드한 boston 전체 데이터에 key 값을 출력
print(boston_house_prices.keys())
# boston 전체 데이터 중 data에 대한 전체 행, 열 길이를 출력
print(boston_house_prices.data.shape)
# boston 데이터에 컬럼 이름을 출력
print(boston_house_prices.feature_names)
In [3]:
print(boston_house_prices.DESCR)
Boston dataset을 Data Frame으로 정제하기¶
In [11]:
import pandas as pd
data = pd.DataFrame(boston_house_prices.data)
data.tail()
Out[11]:
data.columns를 이용하여, column 명이름을 바꿔준다¶
In [15]:
data.columns = boston_house_prices.feature_names
data.tail()
Out[15]:
In [16]:
data['Price'] = boston_house_prices.target
data.tail()
Out[16]:
scatter로 뿌려주기¶
In [25]:
import matplotlib.pylab as plt
import matplotlib
%matplotlib inline
matplotlib.style.use('ggplot')
data.plot(kind='scatter', x ="RM", y="Price", figsize=(5, 5), color='black', xlim=(4,8), ylim=(10,45))
Out[25]:
데이터 학습시키기¶
In [26]:
from sklearn import linear_model
In [27]:
linear_regression = linear_model.LinearRegression()
linear_regression.fit(X=pd.DataFrame(data['RM']), y=data['Price'])
prediction = linear_regression.predict(X=pd.DataFrame(data['RM']))
print('a value: ', linear_regression.intercept_)
print('b value: ',linear_regression.coef_)
적합도 검증¶
In [28]:
residuals = data['Price'] - prediction
residuals.describe()
Out[28]:
In [29]:
SSE = (residuals**2).sum()
SST = ((data['Price']-data['Price'].mean())**2).sum()
R_squared = 1 - (SSE/SST)
print('R_squared: ', R_squared)
In [31]:
data.plot(kind='scatter', x='RM', y='Price', figsize=(6,6), color='black',
xlim=(4,8), ylim=(10, 45))
plt.plot(data['RM'], prediction, color='b')
Out[31]:
성능 평가하기¶
In [32]:
from sklearn.metrics import mean_squared_error
In [34]:
print('score: ', linear_regression.score(X=pd.DataFrame(data['RM']), y= data['Price']))
print('Mean Squared Error: ', mean_squared_error(prediction, data['Price']))
print('RMSE: ', mean_squared_error(prediction, data['Price'])**.5)
반응형
'Study > 파이썬으로 데이터 주무르기' 카테고리의 다른 글
[인구 데이터] 우리나라 인구 소멸 위기 지역 분석 (0) | 2018.07.13 |
---|---|
[서울시 범죄율] folium을 이용한 시각화 (0) | 2018.07.11 |
[Linear regression] 단일선형회귀분석 실습 (0) | 2018.07.09 |
[Linear regression] 단일선형회귀분석이란? (0) | 2018.07.09 |
[모델 성능 평가 척도] 유방암 진단 데이터(Breast Cancer) (0) | 2018.07.09 |
댓글