빅데이터분석기사/작업형3

[작업형3] 회귀모형

seo0seok 2023. 6. 23. 03:39

// 퇴근후딴짓 님의 강의를 참고하였습니다. //

 

 

1. 상관계수

- 두 변수 사이의 관계 (1에 가까울 수록 강한 양의 상관관계, -1에 가까울 수록 강한 음의 상관관계)

 

 

문제1) iris에서 Sepal Length와 Sepal Width의 상관계수 계산하고 반올림 후 소수 둘째자리까지 출력하고, 양의 상관관계인지 음의 상관관계인지 출력하시오.

import pandas as pd
from sklearn.datasets import load_iris

# iris 데이터셋 로드
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df

 

# Sepal Length와 Sepal Width의 상관계수 계산
correlation = df.corr()
result = correlation.loc['sepal length (cm)', 'sepal width (cm)']
print(round(result,2))

실행 결과 : 
-0.12

→ corr() 함수를 통해 상관계수를 구한다.

→ 문제의 'sepal length (cm)', 'sepal width (cm)' 의 상관계수를 loc()함수를 사용해 직접 뽑아낸다.

→ -0.12로 약한 음의 상관관계를 나타내는 것을 알 수 있다.

 

 

문제2) iris 데이터에서 sepal length (cm)[독립변수]를 통해 sepal width (cm)[종속변수]를 예측하려고 한다.

           단순선형 회귀모형을 만들고 기울기와 절편을 구하시오.

from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(df[['sepal length (cm)']], df['sepal width (cm)'])

print(lr.coef_[0]) # 기울기
print(lr.intercept_) # 절편

실행 결과 :
-0.06188479796414415
3.418946836103816

→ 먼저 단순선형 회귀모형을 만든 후 fit()함수 안에 독립변수 'sepal length (cm)', 종속변수 'sepal width (cm)'를 넣어준다.

→ 기울기는 .coef_[0]을 통해 구하면 -0.06 / 절편은 .intercept_를 통해 구하면 3.41이 나오게 된다.