[TIL] 21.06.08 simple regression

Seung Joo·2021년 6월 8일
0

TIL

목록 보기
14/31
post-thumbnail

sklearn LinearRegression

from sklearn.linear_model import LinearRegression

lm = LinearRegression()

X_train = df[['grade']]
y_train = df[['price']]

lm.fit(X_train, y_train)

X_test = [[6]]
pred = lm.predict(X_test)
print(f'Grade가 6인 집의 예상 가격은 ${int(pred)}입니다.')
#
# out:
# Grade가 6인 집의 예상 가격은 $194700입니다.


# 회귀 계수 알아보기
print('Grade가 8인 집과 Grade가 7인 집의 예상 가격의 차이 : {}'     
      .format(float(model.predict([[8]])) - float(model.predict([[7]]))))

#
# out:
# Grade가 8인 집과 Grade가 7인 집의 예상 가격의 차이 : 208457.5624583792

# 회귀 계수
coefficient = model.coef_
print('Grade가 1 증가할 때마다 {}(Coefficient)만큼의 Price가 오릅니다.'
      .format(float(coefficient)))

#
# out
# Grade가 1 증가할 때마다 208457.56245837914(Coefficient)만큼의 Price가 오릅니다.


lm2 = LinearRegression()
# 학습시킬 데이터
X_train2 = df[['sqft_living']]
y_train2 = df[['price']]
# 모델 학습
lm2.fit(X_train2, y_train2)
# 랜덤한 sqft_living 값 선택해서 테스트 하기
test = X_train2.loc[random.randrange(0, len(df))]
print(f'{int(test)} sqft 주택의 예상 가격은 ${int(lm2.predict([test])}입니다.')

#
# out:
# 2530 sqft 주택의 예상 가격은 $666396입니다.

회귀 계수(coef) = 독립변수의 x{x}의 값이 1 증가할 때 변화하는 값
절편(intercept
) = 절편, x{x}가 0일 때 yy의 값

profile
조금씩 천천히

0개의 댓글