[혼공머신] 미션은 아닌 범위 TIL

sujinzzang수진짱·2022년 7월 17일
0

02-2 데이터 전처리

numpy

np.column_stack(): 전달받은 리스트를 일렬로 세운 다음 나란히 연결
연결할 리스트는 튜플 형태로 전달.

np.column_stack(([1, 2, 3], [4, 5, 6]))

-> 결과
array([[1, 4
        2, 5
        3, 6]])

np.concatenate() : 첫 번째 차원을 따라 배열을 연결.
[1, 1, 1] 과 [0, 0, 0] concat -> [1, 1, 1, 0, 0, 0]

브로드캐스팅: 모양이 다른 배열 간의 연산이 어떤 조건을 만족했을 때 가능해지도록 배열을 자동적으로 변환하는 것. 넘파이 배열 사이에서 일어난다.

sklearn

train_test_split() : 리스트나 배열을 비율에 맞게 훈련 세트와 테스트 세트로 나눠준다.
기본적으로 25%를 테스트 세트로 떼어낸다.

# import
from sklearn.model_selection import train_test_split

# stratify :클래스 비율에 맞게 데이터 나눈다.
train_input, test_input, train_target, test_target = train_test_split(fish_data, fish_target, stratify = fish_target, random_state = 42)

kneighbors() : 주어진 샘플에서 가장 가까운 이웃을 찾아주는 메서드.
이웃까지의 거리와 이웃 샘플의 인덱스를 반환.

distance, indexes = kn.kneighbors([[25, 150]])

마무리

키워드

  • 데이터 전처리: 머신러닝 모델에 훈련 데이터를 주입하기 전에 가공하는 단계
  • 표준점수: 훈련 세트의 스케일을 바꾸는 대표적인 방법 중 하나. 표준점수를 얻으려면 특성의 평균을 빼고 표준점수로 나눈다. 반드시 훈련세트의 평균과 표준편차로 테스트 세트를 바꿔야 한다.
  • 브로드캐스팅: 크기가 다른 넘파이 배열에서 자동으로 사칙 연산을 모든 행이나 열로 확장하여 수행하는 기능

핵심 패키지와 함수

train_test_split() : 훈련 데이터를 훈련 세트와 테스트 세트로 나누는 함수.

  • 매개변수
    • test_size: 테스트 세트로 나눌 비율. 기본값은 0.25
    • shuffle: 훈련세트와 테스트세트로 나누기 전에 무작위로 섞을지 여부. 기본값은 True
    • stratify: 매개변수에 클래스 레이블이 담긴 배열(일반적으로 타깃 데이터)을 전달하면 클래스 비율에 맞게 훈련 세트와 테스트 세트를 나눈다.

kneighbors(): k-최근접 이웃 객체의 메서드. 입력한 데이터에 가장 가까운 이웃을 찾아 거리와 이웃 샘플의 인덱스를 반환

확인 문제

  1. 스케일 조정 방식의 하나로 특성값을 0에서 표준편차의 몇 배수만큼 떨어져있는지로 변환한 값
    -> 표준점수
  2. 테스트 세트의 스케일을 조정하려고 할 때 다음중 어떤 데이터의 통계값을 사용해야 하나요?
    -> 훈련 세트

0개의 댓글