기계 학습을 위한 로지스틱 회귀: 완전한 가이드

게시 됨: 2021-10-04

기계 학습 모델이 작동하려면 알고리즘이 필요합니다. 조건 집합에 따라 특정 ML 모델은 하나 또는 다른 알고리즘을 사용하여 가장 잘 수행할 수 있습니다. 결과적으로 머신 러닝 엔지니어와 애호가는 다양한 상황에서 사용할 수 있는 다양한 유형의 알고리즘을 알고 있어야 합니다. 머신 러닝에 만능 솔루션은 없으며 다양한 알고리즘으로 조정하면 원하는 결과를 얻을 수 있습니다.

예를 들어 선형 회귀에 대해 이미 알고 있어야 합니다. 그러나 이 알고리즘은 범주형 종속 변수에만 적용할 수 없습니다. 여기서 로지스틱 회귀가 유용합니다.

기계 학습에서 로지스틱 회귀는 종속 또는 대상 변수의 확률을 예측하는 데 사용되는 지도 학습 방법입니다. 로지스틱 회귀를 사용하여 종속 변수와 하나 이상의 독립 변수 간의 관계를 예측하고 설정할 수 있습니다.

로지스틱 회귀 방정식 및 모델은 일반적으로 이진 분류를 위한 예측 분석에 사용됩니다. 다중 클래스 분류에도 사용할 수 있습니다.

기계 학습을 위한 로지스틱 회귀 방정식은 다음과 같습니다.

로짓(p) = ln(p/(1-p)) = h0+h1X1+h2X2+h3X3….+hkXk

어디에;

p= 특징의 발생 확률

x1,x2,..xk = 입력 기능 세트

h1,h2,….hk = 로지스틱 회귀 방정식에서 추정할 매개변수 값.

목차

기계 학습의 로지스틱 회귀 모델 유형

Logistic Regression이 사용되는 방식에 따라 Logistic Regression 모델의 유형은 다음과 같이 분류할 수 있습니다.

1. 이진 로지스틱 회귀 모델

이것은 Logistic Regression에 대해 가장 널리 사용되는 회귀 모델 중 하나입니다. 데이터를 두 클래스로 분류하고 새 입력 값을 두 클래스 중 하나에 속하는 것으로 예측하는 데 도움이 됩니다. 예를 들어, 환자의 종양은 양성 또는 악성일 수 있지만 둘 다일 수는 없습니다.

2. 다항 로지스틱 회귀 모델

이 모델은 양적 중요성에 관계없이 대상 변수를 2개 이상의 클래스로 분류하는 데 도움이 됩니다. 예를 들어 개인이 선호하는 식단과 과거 경험을 기반으로 주문할 음식의 유형을 예측할 수 있습니다.

세계 최고의 대학에서 온라인으로 머신 러닝 과정 에 참여하십시오. 석사, 대학원 대학원 과정, ML 및 AI 고급 인증 프로그램을 통해 빠르게 경력을 쌓을 수 있습니다.

3. 순서형 로지스틱 회귀 모델

이 모델은 대상 변수를 분류하는 데 사용됩니다. 예를 들어, 학생의 시험 성적은 계층적 순서로 나쁨, 좋음, 우수로 분류될 수 있습니다. 그런 식으로 데이터는 세 가지 범주로 분류되며 각 클래스에는 특정 수준의 중요도가 있습니다.

로지스틱 회귀 방정식은 스팸 탐지, 종양 분류, 성별 분류 등과 같은 여러 경우에 사용할 수 있습니다. 더 나은 이해를 돕기 위해 기계 학습에서 로지스틱 회귀 방정식의 가장 일반적인 사용 사례 두 가지를 살펴보겠습니다.

로지스틱 회귀 방정식의 사용 사례 예

예 1: 스팸 이메일 식별

이메일이 스팸이면 1의 클래스를 고려하고 이메일이 아닌 경우 0을 고려하십시오. 이를 감지하기 위해 메일 본문에서 여러 속성을 분석합니다. 여기에는 다음이 포함됩니다.

  • 발신인
  • 철자 오류
  • "은행 세부 정보", "운이 좋은", "승자", "축하합니다"와 같은 이메일의 키워드.
  • 이메일의 연락처 또는 URL

이 추출된 데이터는 모든 입력을 분석하고 0과 1 사이의 점수를 제공하는 기계 학습을 위한 로지스틱 회귀 방정식에 입력할 수 있습니다. 점수가 0보다 크고 0.5보다 작으면 이메일이 스팸으로 분류되고, 점수가 0.5에서 1 사이이면 메일이 스팸이 아닌 것으로 표시됩니다.

예 2: 신용 카드 사기 식별

로지스틱 회귀 방정식 또는 로지스틱 회귀 기반 기계 학습 모델을 사용하여 은행은 사기성 신용 카드 거래를 즉시 식별할 수 있습니다. 이를 위해 PoS, 카드 번호, 거래 금액, 거래 데이터 등과 같은 세부 정보가 Logistic Regression 모델에 입력되어 주어진 거래가 진짜인지(0) 사기인지(1) 결정합니다. 예를 들어, 구매 가치가 너무 높고 일반적인 가치에서 벗어나면 회귀 모델은 거래를 사기로 분류하는 값(0.5에서 1 사이)을 할당합니다.

기계 학습에서 로지스틱 회귀 작업

로지스틱 회귀는 Sigmoid 함수를 사용하여 예측을 출력 확률에 매핑하는 방식으로 작동합니다. 이 함수는 0과 1 사이의 예측 값을 그리는 S자형 곡선입니다. 그런 다음 값은 레이블로 0과 1을 사용하여 Y축의 위쪽과 아래쪽 여백을 향해 그려집니다. 그런 다음 이러한 값에 따라 독립 변수를 분류할 수 있습니다.

Sigmoid 함수는 다음과 같습니다.

Sigmoid 함수는 다음 방정식을 기반으로 합니다.

y=1/(1+e^x)

여기서 e^x= 값이 2.718인 지수 상수입니다.

위의 Sigmoid 함수 방정식은 x가 음수로 간주되는 경우 예측 값(y)을 0으로 제공합니다. x가 큰 양수이면 예측 값은 1에 가깝습니다.

Python에서 로지스틱 회귀 모델 구축

Python에서 로지스틱 회귀 모델을 구축하는 과정을 살펴보겠습니다. 이를 위해 소셜 네트워크 데이터 세트를 사용하여 회귀 분석을 수행하고 개인이 특정 자동차를 구매할지 여부를 예측해 보겠습니다. 단계는 다음과 같습니다.

1단계: 라이브러리 및 데이터 세트 가져오기

먼저 모델을 빌드하는 데 필요한 라이브러리를 가져옵니다. 여기에는 Pandas, Numpy 및 Matplotlib가 포함됩니다. 또한 작업할 데이터 세트를 가져와야 합니다. 코드는 다음과 같습니다.

numpy를 np로 가져오기

matplotlib.pyplot을 pt로 가져오기

pandas를 pd로 가져오기

데이터 세트 = pd.read_csv('Social_Network.csv')

2단계: 종속 및 독립 변수로 분할

이제 공급된 데이터를 종속 변수와 독립 변수로 나눌 때입니다. 이 예에서는 개인의 추정 급여 중 구매 가치를 종속 변수로, 독립 변수로 개인 연령을 고려합니다.

x = 데이터세트.iloc[:, [2,3]].값

y = 데이터세트.iloc[:, 4].값

3단계: 데이터 세트를 훈련 세트와 테스트 세트로 분할

데이터 세트를 특정 훈련 및 테스트 세트로 분할하는 것이 필수적입니다. 훈련 세트는 로지스틱 회귀 방정식을 훈련하고 테스트 데이터는 모델의 훈련을 검증하고 테스트하는 데 사용됩니다. Sklearn은 주어진 데이터 세트를 두 세트로 분할하는 데 사용됩니다. 훈련 및 테스트를 위해 따로 보관할 데이터의 양을 지정하여 train_split_function을 사용합니다.

sklearn.model_selection import train_test_split에서

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.33, random_state = 0)

보시다시피 테스트 크기를 전체 데이터 세트의 33%로 정의했습니다. 따라서 나머지 66%는 훈련 데이터로 사용됩니다.

4단계: 확장

로지스틱 회귀 모델의 정확도를 높이려면 데이터의 크기를 다시 조정하고 본질적으로 매우 다양할 수 있는 값을 가져와야 합니다.

sklearn.preprocessing 가져오기 StandardScaler에서

sc_X = StandardScaler()

X_train = sc_X.fit_transform(X_train)

X_test = sc_X.transform(X_test)

5단계: 로지스틱 회귀 모델 구축

완료되면 로지스틱 회귀 모델을 구축하고 훈련 세트에 맞춰야 합니다. Sklearn에서 Logistic Regression 알고리즘을 가져와 시작합니다.

sklearn.linear_model에서 LogisticRegression 가져오기

그런 다음 훈련 데이터에 맞는 인스턴스 분류기를 만듭니다.

분류자 = LogisticRegression(random_state=0)

classifier.fit(x_train, y_train)

다음으로 테스트 데이터 세트에 대한 예측을 생성합니다.

y_pred = classifier.predict(x_test)

마지막으로, Confusion Matrix를 사용하여 Logistic Regression 모델의 성능을 확인하십시오.

sklearn.metrics에서 혼동_매트릭스 가져오기

cm = 혼동_매트릭스(y_test, y_pred)

acc = 정확도_점수(y_test, y_pred)

인쇄(acc)

인쇄(cm)

이제 Matplotlib를 사용하여 훈련 및 테스트 세트를 포함한 전체 데이터 세트를 시각화할 수 있습니다!

결론적으로

로지스틱 회귀는 기계 학습 모델 및 알고리즘 개발에 도움이 되는 도구 중 하나입니다. 마찬가지로, 사용 사례에 따라 사용되는 여러 다른 알고리즘도 있습니다. 그러나 어떤 알고리즘을 사용할지 알기 위해서는 가능한 모든 옵션을 알고 있어야 합니다. 그래야만 데이터 세트에 가장 적합한 알고리즘을 선택할 수 있습니다.

실제 기계 학습 문제를 해결할 수 있는 위치에 있도록 처음부터 시작하여 기술을 최고 수준으로 구축하는 데 도움이 되도록 설계된 기계 학습의 경영진 PG 프로그램을 확인하십시오 . 다양한 과정을 확인하고 자신에게 맞는 과정에 등록하십시오. upGrad에 가입하고 전체적인 학습 환경과 배치 지원을 경험하십시오!

기계 학습을 위한 로지스틱 회귀의 종류는 몇 가지입니까?

로지스틱 회귀는 크게 세 가지 유형으로 나뉩니다.
1. 바이너리
2. 다항식
3. 서수.

기계 학습에서 로지스틱 회귀는 무엇에 사용됩니까?

로지스틱 회귀는 적절한 미래 예측을 만들기 위해 종속 변수와 독립 변수 간의 가장 적합한 관계를 찾고 구축하는 데 사용되는 지도 학습 방법 중 하나입니다.

기계 학습을 위한 로지스틱 회귀가 사용하는 기능은 무엇입니까?

기계 학습을 위한 로지스틱 회귀는 Sigmoid 함수를 사용하여 가장 적합한 곡선을 찾습니다.