목록AI 공부/Machine Learning (22)
머신러닝/딥러닝 공부
이진 분류(Binary Classification)는 타깃의 값이 어떤 기준에 대하여 참(True) 또는 거짓(False)의 값을 가졌습니다. 다중 분류(Multiclass Classification)의 경우 타깃이 가질 수 있는 값이 3개 이상입니다. 타깃이 가지는 값에 대응되는 데이터의 모임을 클래스(class) 혹은 레이블(label)이라고 하기도 합니다. 다중 분류의 경우 단일 레이블 분류(single-label classification)에 속합니다. 즉, 입력값 하나당 하나의 클래스에만 대응될 수 있습니다. 이와 반대로 하나의 입력값이 여러 개의 클래스에 대응되는 경우 다중 레이블 분류(multi-label classification)이라고 합니다. 예를 들어 숫자는 0부터 9까지 총 10개가..
1) 위스콘신 유방암 데이터 세트 (wisconsin breast cancer dataset) 이번 포스팅에서는 로지스틱 회귀 모델을 직접 코드로 구현해보겠습니다. 학습할 데이터는 사이킷런(scikit-learn)이 제공하는 위스콘신 유방암 데이터 세트입니다. 앞에서 다루었던 당뇨병(diabetes) 환자 데이터와 똑같은 Bunch클래스입니다. 먼저 이 데이터 세트에 대해 알아보도록 하겠습니다. from sklearn.datasets import load_breast_cancer cancer=load_breast_cancer() x_data=cancer.data #입력값 y_data=cancer.target #타깃 print('') print(' data shape : ',x_data.shape) pri..
분류 모델은 데이터를 분류하는 방법을 학습합니다. 분류 모델은 크게 이진 분류(Binary Classification)와 다중 분류(Multi Classification)로 나뉩니다. - 이진 분류(Binary Classification)는 입력값에 따라 모델이 분류한 카테고리가 두 가지인 분류 알고리즘입니다. 주로 어떤 대상에 대한 규칙이 참(True)인지 거짓(False)인지를 분류하는데 쓰입니다. 예를 들어 암 종양을 분류하는 모델은 어떤 종양을 입력으로 받았을 때 이 종양이 암 종양인지(True) 암 종양이 아닌지(False) 분류합니다. - 다중 분류(Multi Classification)은 입력값에 따라 모델이 분류한 카테고리가 세 가지 이상인 분류 알고리즘입니다. 예를 들어 숫자 손글씨를 분..
사이킷런(scikit-learn)은 파이썬에서 제공하는 머신러닝 라이브러리입니다. 사이킷런에는 머신러닝을 익힐 수 있는 여러 툴들이 존재합니다. 이번 포스팅에서는 사이킷런에서 제공하는 당뇨병(diabetes) 환자 데이터를 이용하여 선형 회귀 모델을 만들어보도록 하겠습니다. from sklearn.datasets import load_diabetes diabetes=load_diabetes() 사이킷런에서 당뇨병 환자 데이터를 불러오는 load_diabetes() 모듈을 import 하고 diabetes에 당뇨병 환자 데이터를 load 했습니다. load_diabetes()는 인자로 return_X_y(default : False)와 as_frame(default : False)를 가지고 있습니다. 이들..
이전 포스팅에서는 단순 선형 회귀 모델에 대해 정리해보았습니다. 단순 선형 회귀 모델은 2차원 상의 데이터들을 대상으로 가장 적합한 직선을 찾는 모델이었습니다. 하지만 모든 데이터가 2차원에 존재하지는 않습니다. 예를 들어 어떤 사람이 자신에게 가장 좋은 집을 찾아 점수를 예측하는 프로그램을 작성한다고 생각해봅시다. 가장 좋은 집의 기준이 무엇일까요? 아마도 사람마다 다르겠지만 집의 평수, 화장실의 개수, 역세권 유무, 소음 차단이 잘되는지, 단지 내에 공원이 있는지, 회사에서 집이 가까운지 등등 여러 조건이 있을 것입니다. 이런 경우 프로그램에 input으로 주어야 할 데이터의 크기가 2개 이상이 되어버립니다. 즉, 아래와 같이 예측값을 내놓기 위해 필요한 가중치의 개수가 증가할 것입니다. 위의 식을 ..