기계 학습의 로지스틱 회귀 설명

3505 단어


로지스틱 회귀란 무엇입니까?



로지스틱 회귀는 기계 학습 모델의 한 유형입니다. 기계 학습 모델의 두 가지 유형(회귀 및 분류)에서 이름은 회귀 모델임을 나타내지만 분류 알고리즘입니다.

지수 함수의 일종인 로지스틱 함수에서 이름을 따왔습니다. 이 함수는 S자 곡선(시그모이드 곡선이라고도 함)이 특징입니다.

따라서 로지스틱 회귀 모델은 다음과 같이 그래프에 표시할 때 S자 모양의 곡선을 생성합니다.



그림 2: 그래프로 나타낼 때의 로지스틱 회귀 모델

로지스틱 회귀에 대한 중요한 사항은 다음과 같습니다.
  • 로지스틱 회귀는 단일 이진 출력 변수가 있는 분류 ML 문제를 위한 것입니다. 다른 유형의 출력 변수가 있는 기계 학습 문제는 예측 모델링 목적으로 로지스틱 회귀를 사용해서는 안 됩니다
  • .
  • 로지스틱 회귀 알고리즘은 둘 다 예측 분석 알고리즘이라는 점에서 선형 회귀 알고리즘과 유사하지만 로지스틱 회귀에서는 상대적으로 단순한 선형 함수 대신 더 복잡한 시그모이드 함수를 사용합니다
  • .
  • 선형 회귀는 숫자 출력 값을 생성하는 반면 로지스틱 회귀는 이진 출력 값(0 또는 1)을 생성합니다
  • 로지스틱 회귀는 기술적으로 분류 알고리즘이지만 회귀 알고리즘 측면에서 확률을 예측합니다. 확률이 이진 값(0 또는 1)으로 변환되기만 하면 됩니다
  • .
  • 로지스틱 회귀는 사용 가능한 교육 데이터
  • 에서 로지스틱 회귀에 대한 계수(베타 값 b)를 추정하기 위해 다른 기계 학습 알고리즘Maximum-likelihood estimation을 사용합니다.
  • 로지스틱 회귀 및 선형 회귀는 동일한 데이터 준비 방법을 공유합니다
  • .

    R에서 로지스틱 회귀의 예



    다음은 로지스틱 회귀 모델의 사용을 보여주는 R 프로그래밍 언어의 코드 스니펫입니다.

    library(ggplot2)
    library(cowplot)
    
    url <- "http://archive.ics.uci.edu/ml/machine-learning-databases/heart-disease/processed.cleveland.data"
    
    data <- read.csv(url, header=FALSE)
    
    ...
    
    logistic <- glm(hd ~ ., data = data, family = "binomial")
    
    ...
    
    predicted.data <- data.frame(
      probability.of.hd=logistic$fitted.values,
      hd=data$hd)
    
    predicted.data <- predicted.data[
      order(predicted.data$probability.of.hd, decreasing=FALSE),]
    predicted.data$rank <- 1:nrow(predicted.data)
    
    ggplot(data=predicted.data, aes(x=rank, y=probability.of.hd)) +
      geom_point(aes(color=hd)) +
      xlab("Index") +
      ylab("Predicted probability of getting heart disease")
    
    


    위의 코드 스니펫은 StatQuest with Josh Starmer 에서 가져온 것이며 이 코드의 전체 버전은 여기GitHub link에서 찾을 수 있습니다.

    이제 위 코드 스니펫의 전체 버전을 실행하여 생성된 그래프는 다음과 같습니다.



    그림 3: R 프로그래밍 언어를 사용하여 그래프로 나타낸 로지스틱 회귀

    다음은 위의 그래프에서 주목할 만한 몇 가지 사항입니다.
  • 로지스틱 회귀 그래프의 Y축 범위는 항상 0과 1 사이입니다. 이는 종속변수(심장병에 걸릴 확률 예측)가 불연속적이기 때문입니다
  • .
  • 청록색 데이터 포인트는 이미 심장 질환이 있는 환자를 나타냅니다. 연한 빨간색 데이터 포인트는 과거 심장병 병력이 없는 환자를 나타냅니다
  • .
  • x축 값 '순위'는 data.frame의 297명의 환자 각각이 심장 질환을 앓을 가능성을 나타내며 순위가 높을수록 심장 질환
  • 에 걸릴 가능성이 높음을 나타냅니다.

    이것이 기계 학습의 로지스틱 회귀에 대한 이 블로그 게시물의 전부입니다. 도움이 되었기를 바랍니다.

    결론



    이 블로그 게시물을 읽어주셔서 감사합니다!

    질문이나 우려 사항이 있는 경우 언제든지 이 게시물에 의견을 게시하고 시간을 찾으면 다시 연락드리겠습니다.

    이 기사가 도움이 되었다면 공유하고 GitHub에서 저를 팔로우하고 저와 연결하고 제 를 구독하십시오.

    좋은 웹페이지 즐겨찾기