[AI와빅데이터경영입문]

선형 회귀.ipynb
0.03MB


import seaborn as sb

# 데이터로드
mpgData = sb.load_dataset('mpg')

mpgData = mpgData.dropna()

indVarNames = ('cylinders','displacement','horsepower','weight','acceleration','model_year')
x_total = mpgData(indVarNames)

depVarName="mpg"
y_total = mpgData(depVarName)

from sklearn.model_selection import train_test_split

x_total_np = x_total.to_numpy()
y_total_np = y_total.to_numpy()

x_train, x_test, y_train, y_test = train_test_split(x_total_np, y_total_np, test_size = 0.30, random_state=10)

# 모형학습

from sklearn import linear_model

reg = linear_model.LinearRegression()
reg.fit(x_train, y_train)

# 학습 결과 확인

print("상수항 : %.4f" % reg.intercept_)
print("계수: ", reg.coef_)

# 모형 성능 평가

y_predicted = reg.predict(x_test)

from sklearn.metrics import r2_score
print("결정계수 %.4f" % r2_score(y_test, y_predicted))

adj_r2_score = 1 - (1 - r2_score(y_test, y_predicted)) * (len(y_total)-1)/(len(y_total)-x_total.shape(1)-1)
print("수정된 결정계수 %.4f" % adj_r2_score)


이 코드는 seaborn 라이브러리를 사용하여 “mpg” 데이터셋에 대해 scikit-learn 라이브러리를 사용하여 선형 회귀 모델을 생성한 예제입니다.

데이터 세트는 Seaborn 라이브러리로 로드되고 누락된 값은 폐기됩니다.

독립 변수는 열 이름 목록을 사용하여 지정하고 변수 “x_total”에 저장하고 종속 변수 “mpg”는 변수 “y_total”에 저장합니다.

다음으로 scikit-learn의 train_test_split 함수를 사용하여 데이터 세트를 교육 및 테스트 세트로 분할합니다.

테스트 세트 크기는 전체 데이터의 30%로 설정하고 random_state 매개변수는 재현성을 보장하도록 설정합니다.

그런 다음 LinearRegression 클래스를 사용하여 훈련 데이터를 사용하여 선형 회귀 모델을 맞춥니다.

모델의 y 절편과 계수가 인쇄됩니다.

마지막으로 모델의 성능을 평가합니다.

적합 모델 예측 방법을 사용하여 예측 값을 얻습니다.

그런 다음 scikit-learn의 r2_score 함수를 사용하여 R-제곱 및 조정된 R-제곱 점수를 계산합니다.

이 코드는 scikit-learn 라이브러리를 사용하는 “mpg” 데이터 세트에 대한 선형 회귀 모델의 예입니다.

데이터 세트는 먼저 Seaborn 라이브러리로 로드된 다음 누락된 값을 제거하기 위해 사전 처리됩니다.

독립 변수는 열 이름 목록을 사용하여 지정되고 x_total 변수에 저장되는 반면 mpg 종속 변수는 y_total 변수에 저장됩니다.

다음으로 데이터 세트는 scikit-learn train_test_split 함수를 사용하여 교육 및 테스트 세트로 분할됩니다.

테스트 세트 크기는 전체 데이터의 30%로 설정하고 random_state 매개변수는 재현성을 보장하도록 설정합니다.

그런 다음 scikit-learn의 LinearRegression 클래스가 있는 교육 데이터를 사용하여 선형 회귀 모델을 피팅합니다.

그런 다음 적합 모델의 교차점과 계수가 인쇄됩니다.

마지막으로 모델의 성능은 R-제곱 및 적합 R-제곱 메트릭을 사용하여 평가됩니다.

피팅된 모델 예측 방법을 사용하여 예측값을 얻은 다음 scikit-learn의 r2_score 함수를 사용하여 r-제곱 및 피팅된 r-제곱 점수를 계산합니다.