더북(TheBook)

3.3.4 사이킷런을 사용하여 로지스틱 회귀 모델 훈련

앞 절에서 아달린과 로지스틱 회귀의 개념적 차이를 설명하기 위해 코드 예제와 수학 공식을 살펴보았습니다. 이제 사이킷런에서 로지스틱 회귀를 사용하는 법을 배워 봅시다. 이 구현은 매우 최적화되어 있고 다중 분류도 지원합니다. 최신 사이킷런 버전에서는 다중 클래스를 위한 기법으로 다항 회귀(multinomial regression) 또는 OvR이 자동으로 선택됩니다. 다음 코드에서 sklearn.linear_model.LogisticRegressionfit 메서드를 사용하여 표준화 처리된 붓꽃 데이터셋의 클래스 세 개를 대상으로 모델을 훈련합니다. 또한, 여기에서는 multi_class='ovr'로 설정했습니다. multi_class='multinomial'로 했을 때 결과는 독자들에게 숙제로 남겨 놓겠습니다. 사이킷런의 LogisticRegression 클래스의 기본값은 multinomial이며 붓꽃 데이터셋처럼 상호 배타적인 클래스를 가진 문제에 권장됩니다. 여기에서 ‘상호 배타적’이란 각 훈련 샘플이 하나의 클래스에만 속할 수 있다는 의미입니다(이에 반해 다중 레이블 분류의 경우 훈련 샘플 하나가 여러 개의 클래스에 속할 수 있습니다).

코드 예제를 살펴보죠.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.