- 전체적인 스터디 흐름 정하기 : 마지막 2주 간 kaggle에서 topic을 선정, 분류/회귀에 대한 실습을 진행하기로 함. (실습에 대한 수요 확인, 이론과 코딩의 차이점에 대한 스터디원 모두의 공감대 형성)
- 각자 학습한 내용에 대한 리뷰 및 질의응답 시간을 가짐
- rule base algorithm에 가깝다.. (수식/수학에 가까운 개념)
- Sklearn이 numpy 배열로 받음
- 리스트로 표현하기 어려운 것들이 많음. 선형대수를 활용한 다양한 기술을 사용하기에 numpy가 적합함
- Euclidian Distance(Two norm)이다.
- Manhatten Distance(One norm)와 비교
- 5:5문제가 생길 수 있다. 따라서, k는 홀수여야한다.
- k값은 hyperparameter이다. : 사람이 직접 정해주어야하는 parameter
- 참고) KNN에서 parameter는 직선거리(데이터를 넣어주면 변하는 모든 값들)
- 학습이라는 메커니즘이 들어가야 함
- 분류 : 마지막에 우리가 하는 것이 A이냐 B이냐를 찾고 싶다. 명사로 정의할 수 있는 것들.. (이산적)
- 회귀: 종속변수: 키+무게에 영향을 받음. 종속변수가 숫자이면 회귀인 경우가 많음. 수치적 예측 (연속적)
- 비선형적인 것은 그냥 선형적이지 않은 것. (곡선은 하나의 예시. 비선형은 곡선이다? x)
- 머신러닝은 통계에 base를 두고 있기 때문에 선형적이다. -> (대체로) 설명력을 가지고 있다.
- 참고) 딥러닝이 아직은 잘 안쓰이는 이유? -> 설명력이 떨어진다.
- 생선의 이름을 모르는데, 생선의 이름을 알아야 모델 학습이 가능하다. Data leakage 발생..
- fit/transform/fit-transform 등 다양한 기술들이 있다
- 다양한 지표들이 있다(recall/f1score/...), 따라서 accuracy만 가지고 모델의 성능을 판단해서는 안된다.
- 예제에서의 accuracy는 도미와 빙어를 구분하는 것 -> 도미는 잘 맞추는데 빙어는 못 맞출수도 있다.!
- 책에서는 2차원이라 잘 그려져 있다 –> feature가 3개면 2차원에 그릴 수 있나? (x)
- 해결방법: PCA(SVD등)기법 -> 몇가지 가정을 가지고 들어감(선형적이고 정규분포를 따르고 등등..)