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-제곱 점수를 계산합니다.