반응형
분류분석이란?

 주어진 입력변수에 근거하여 범주형 반응변수(0,1,2,3,4 등)를 예측하는 작업이다.

 예 :

    - 신용카드 사용자의 다양한 변수를 사용하여 사용자가 디폴트(default)할 확률을 계산한다.

    - 투자할 회사의 다양한 속성변수를 사용하여 투자가 성공할 확률을 계산한다.

    - 웹 방문자 정보, 사이트 정보, 방문시간 등을 사용하여 특정 광고를 클릭할 확률을 계산한다.

 

 

 

 

kNN

I kNN (k-Nearest Neighbors) : k개의 근접자료를 이용하여 예측하는 기법

  - 알고리즘 적용

     1) k를 정한다.

     2) k개의 가장 가까운 포인트 값들 중, 다수결로 새로운 데이터 포인트의 예측값을 정한다.

     3) 단, 동점이 발생했을 경우, 단독 1등이 생길 때까지 k를 하나씩 줄인다.

 

동점을 처리하는 방법 : K를 하나 줄인다.

예를 들어, K=4일 때 Java와 Python이 2개씩일 경우, 동점이 된다.

K=3으로 선언하면 결국엔 동점이 안생긴다.

즉, 동점이 생기지 않을 때까지 K값을 줄여준다.

 

 

KNN 예

# key is language, value is pair (longitudes, latitudes)
plots = { "Java" : ([], []), "Python" : ([], []), "R" : ([], []) }
# we want each language to have a different marker and color
markers = { "Java" : "o", "Python" : "s", "R" : "^" }
colors = { "Java" : "r", "Python" : "b", "R" : "g" }
for (longitude, latitude), language in cities:
    plots[language][0].append(longitude)
    plots[language][1].append(latitude)
    # create a scatter series for each language
for language, (x, y) in plots.items():
    plt.scatter(x, y, color=colors[language], marker=markers[language],
    label=language, zorder=10)
plot_state_borders(plt) # assume we have a function that does this
plt.legend(loc=0) # let matplotlib choose the location
plt.axis([-130,-60,20,55]) # set the axes
plt.title("Favorite Programming Languages")
plt.show()

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기