데이터분석

[23.07.17] 머신러닝(Machine Learning) - 32(1)

gmwoo 2023. 7. 18. 10:31
  • 책 : 혼자공부하는 머신러닝 + 딥러닝 (저자: 박해선) 
  • 1 ~ 2 장 내용

<핵심 개념>

 1. 특성(feature) : 데이터를 표현하는 하나의 성질 (해당 책에서는 생선 데이터의 길이와 무게 특성)

 2. 훈련(training) : 머신러닝 알고리즘이 데이터에서 규칙을 찾는 과정, 사이킷런에는 fit() 메소드

 3. k-최근접 이웃 알고리즘(KNN) : 가장 간단한 머신러닝 알고리즘

 4. 모델(model) : 알고리즘이 구현된 객체

 5. 정확도(accuracy) : 정확한 답을 몇 개 맞췄는지 백분율로 나타낸 값. 사이킷런에는 0~1 출력

 6. 지도학습 : 입력고 타깃을 전달하여 모델을 훈련한 다음 새로운 데이터를 예측하는데 활용

  - k-최근접 이웃 

 7. 비지도학습 : 타깃 데이터가 없음, 무엇을 예측하는 것이 아닌 입력 데이터에서 특징을 찾는데 활용

 8. 훈련 세트 : 모델을 훈련할 때 사용하는 데이터, 보통 훈련 세트가 클수록 좋음

 9. 테스트 세트 : 전체 데이터에서 20~30%를 테스트 세트로 사용하는 경우가 대부분

 10. 데이터 전처리 : 머신러닝 모델에 훈련 데이터를 주입하기 전에 가공하는 단계

 11. 표준 점수 : 훈련 세트의 스케일을 바꾸는 대표적인 방법 중 하나

   - 범위를 조정하여 좀 더 명확한 예측을 위함

   - 표준 점수를 얻으려면 특성의 평균을 빼고 표준편차로 나눔

 12. 브로드캐스트 : 크기가 다른 넘파이 배열에서 자동으로 사칙 연산을 모든 행이나 열로 확장하여 수행

 

<핵심 패키지 및 함수>

 1. scikit-learn

  (1) KNeighborsCalssifier()

   - k-최근접 이웃 분류 모델을 만드는 사이킷런 클래스

   - 이웃의 개수를 정하는데 default는 5

   - p 매개변수 거리 재는 방법 -> 1일 경우 맨해튼 거리, 2일 경우 유클리디안 거리(default)

   - fit(): 사이킷럼 모델을 훈련할 때 사용하는 메서드, 처음 두 매개변수로 훈련에 사용할 특성과 정답 데이터를 전달

   - predict(): 사이킷런 모델을 훈련하고 예측할 때 사용, 특성 데이터 하나만 매개변수로 받음

   - score(0: 훈련된 사이킷런 모델의 성능을 측정, 처음 두 매개변수로 특성과 정답 데이터를 전달

 (2) train_test_split()

   - 훈련 데이터를 훈련 세트와 테스트 세트로 나누는 함수

   - 테스트 세트로 나눌 비율은 test_size 매개변수에서 지정할 수 있고 default는 0.25

 (3) kneighbors()

   - k-최근접 이웃 객체의 메서드

   - 입력한 데이터에 가장 가까운 이웃을 찾아 거리와 이웃 샘플의 인덱스를 반환

   - return_distance 매개변수를 False로 지정하면 이웃 샘플의 인덱스만 반환하고 거리는 반환X, default는 True

 

2. numpy

 (1) seed()

  - 넘파이에서 난수를 생성하기 위한 정수 초기값을 지정

   - 초기값이 같으면 동일한 난수를 뽑을 수 있음

   - 따라서 랜덤 함수의 결과를 동일하게 재현하고 싶을 때 사용

 (2) arange()

   - 일정한 간격의 정수 또는 실수 배열을 만듦 (default 간격은 1)

   - 매개변수가 하나이면 종료 숫자를 의미

   - 0에서 종료 숫자까지 배열을 만들며 종료 숫자는 배열에 포함되지 않음

 (3) shuffle()

   - 주어진 배열을 랜덤하게 섞음

   - 다차원 배열일 경우 첫 번째 축(행)에 대해서만 섞음

 

반응형