5장. 로지스틱 회귀: 1. 로지스틱 회귀가 필요한 이유는 무엇입니까? 1. sklearn의 로지스틱 회귀 1.1 LogisticRegression

1. 로지스틱 회귀가 필요한 이유는 무엇입니까?

선형 관계의 피팅 효과가 매우 좋고, 계산 속도가 빠르고, 분류가 고정된 0, 1이 아닌 클래스 확률수로 이루어집니다.
강력한 소음 내성.

1. sklearn의 로지스틱 회귀

여기에 이미지 설명을 삽입하세요.
평가 항목:
여기에 이미지 설명을 삽입하세요.

1.1 로지스틱 회귀

매개변수:
여기에 이미지 설명을 삽입하세요.

  1. 페널티: l1 또는 l2, 어떤 일반 방법이 사용되는지 나타냅니다. 기본값은 l2이며 l1인 경우 매개변수 솔버는 liblinear만 사용할 수 있습니다. 그러나 L1 정규화는 매개변수를 0으로 압축하고 L2 정규화는 매개변수를 가능한 한 작게 만듭니다.
  2. C: 0보다 큰 부동 소수점 숫자여야 하며 기본값은 0.1입니다. c가 작을수록 정규화 효과가 강해지고 손실 함수에 대한 페널티가 더 커집니다.

우리는 "손실 함수" 평가 지수를 사용하여 매개변수 p의 품질, 즉 이 매개변수 세트가 모델이 훈련 세트에서 잘 수행되도록 할 수 있는지 여부를 측정합니다. **모델이 일련의 매개변수를 사용하여 모델링한 후 훈련 세트에서 잘 수행되면 모델 성능의 패턴이 훈련 세트 데이터의 패턴과 일치하고 피팅 과정 중 손실이 매우 작으며, 손실 함수의 값은 매우 작습니다. 이 매개변수 세트는 우수합니다. 반대로 모델이 훈련 세트에서 제대로 수행되지 않으면 손실 함수가 커지고 모델이 충분히 훈련되지 않으며 효과는 다음과 같습니다. 열악하며 이 매개변수 세트는 열악할 것입니다. 즉, 매개변수 p를 풀 때 모델이 훈련 데이터에 가장 적합한 피팅 효과를 갖도록 최소 손실 함수를 추구합니다. 즉, 예측 정확도가 최대한 100%에 가깝습니다.

  • 손실 함수는 다음과 같습니다.
    여기에 이미지 설명을 삽입하세요.
    모델이 훈련 세트에서 최적의 성능을 발휘하도록 손실 함수의 최소값을 추구하므로 또 다른 문제가 발생할 수 있습니다. **모델이 훈련 세트에서는 잘 수행되지만 테스트에서는 잘 수행되지 않는 경우 세트, 모델은 과적합이 됩니다. **로지스틱 회귀와 선형 회귀는 본질적으로 과소적합 모델이지만 모델을 조정하는 데 도움이 되도록 과적합을 제어하는 ​​기술이 여전히 필요합니다. 로지스틱 회귀의 과적합 제어는 정규화를 통해 달성됩니다.
  • 정규화:
    여기에 이미지 설명을 삽입하세요.
    첫 번째는 절대값 합의 평균이고, 두 번째는 제곱과 근의 합의 평균입니다.

암호:

from sklearn.liner_model import LogisticRegression as lr
from sklearn.datasets import load_breast_cancer as lbc
import numpy as np
import matplotlib.pyplot as pt
from sklearn.model_selection import train_test_split as ttp
from sklean.metrics import accuracy_score as acs

data=lbc()//字典
x=data.data
y=data.target
print(s.shape) //569,30

lr1=lr(penalty="l1",solver="liblinear",C=0.5,max_iter=1000)
lr2=lr(penalty="l2",solver="liblinear",C=0.5,max_iter=1000)

lr1=lr1.fit(x,y)
print(lr1.coef_)//p
print(lr1.coef_!=0).sum(axis=1)//p不等于0的个数

lr2=lr2.fit(x,y)
print(lr2.coef_)//不会出现0

어느 것이 더 잘 작동합니까?
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
가로축은 c의 값으로 그림에서 알 수 있는데 이 그림에서는 l2가 더 좋다.

추천

출처blog.csdn.net/qq_53982314/article/details/131260735