머신러닝에서 여러 개의 종류(=class) 중 하나를 구별해 내는 문제를 분류라고 한다.
2개의 클래스 중 하나를 고르는 문제를 이진 분류라고 한다.
데이터의 특징을 특성(=feature)라고 한다.
알고리즘이 구현된 객체를 모델이라고 한다.
2차원 리스트 = 하나의 리스틀 구성하고 이런 리스트가 모여 전제 리스트가 만들어진 것
훈련 = fit()
예측 = predict()
성능측정 = score()
seed()는 넘파이에서 난수를 생성하기 위한 정수 초깃값을 지정(train_test_split에 random_state 비슷)
from sklearn.model_selection import train_test_split
전달되는 리스트나 배열을 비율에 맞게 훈련 세트와 테스트 세트로 나누어 준다.
사이킷런은 입력 데이터에서 샘플이 행에 위치하고 특성이 열에 놓여 있다고 기대한다.
입력 데이터는 2개의 열이 있는 2차원 배열이고 타깃 데이터는 1차원 배열이다.
넘파이 배열의 크기는 파이썬의 튜플로 표현된다. 튜플의 원소가 하나면 원소 뒤에 콤마를 추가한다. 이 예에서 타깃데이터는 1차원 배열이므로 원소가 하나인 튜플로 표현되었다.
stratify()
매개변수에 타깃데이터를 전달하면 클래스 비율에 맞게 데이터를 나눈다.
훈련 데이터가 작거나 특정 클래스의 샘플 개수가 적을 때 유용
xlim()
x축의 범위를 지정, ylim(): y축의 범위를 지정
텍스트 세트의 스케일 조정할 땐 훈련 세트를 사용해야 한다. 테스트 세트는 반드시 훈련 세트의 통계 값으로 변환해야 한다. 그렇지 않으면 훈련 세트에서 학습한 모델이 데이터 세트에서 올바르게 동작하지 않는다.
지도 학습에서는 데이터와 정답을 입력(=input), 타깃(=target)이라고 하고, 이 둘을 합쳐 훈련 데이터(training data)라고 한다.
평가에 사용하는 데이터를 테스트 세트, 훈련에 사용되는 ㄷ이터를 훈련 세트라고 한다.