파라미터 하이퍼 파라미터의 차이, 정규화 표준화의 차이(머신러닝이란? 사이킷런(knn))
사이킷런 : 모든 모델 다 쓸 수 있는 파이썬 라이브러리 ❤️(사이킷런은 사랑이다..!)
머신러닝으로 할 수 있는 두가지는? 예측과 분류
regression 회귀 : 예측
classification 분류 지도 학습
clustering 분류 cf. 비지도 학습
dimentionality reduction : 차원축소
예측과 분류 둘다 가능(보조 도구)
알고리즘 종류 :
1.
k-최근접 이웃(knn) : 유클리디언 거리(피타고라스의 정리)
k는 내가 선정(1-nearest neighbor, 2, 3,----) => 하이퍼 파라미터에 해당
k와 비교대상이 있어야 한다!(training data가 늘 있어야 한다)
컴퓨터를 이루는 세가지 : cpu, 램, ssd(하드 디스크의 발전)
램 - 주 기억 장치 but 8-16기가 => training data 다 올리기엔 무리
ssd - 보조 기억 장치
게으른 학습(lazy learning)
올리고 지우고를 귀찮아하고 계속 올리기만 하는 학습법
열정적 학습(eager learning)
램에다 training data 올리고 학습 뒤, 방 빼! 너 나가
파라미터와 하이퍼파라미터의 차이
하이퍼 파라미터 vs 파라미터
하이퍼 파라미터 : 내가 정하는 거
파라미터 : 데이터로부터 도출된 값
* 굉장히 둘이 혼용되어서 쓰이고 있다
=> 합쳐서 파라미터라 불린다
train_test_split > 내가 정함 > 하이퍼파라미터임
knn- 유클리안 거리
cf.멘하탄 거리
단점 : 윗 분에게 설명하기 어렵다(<->유클리언 거리는 설명하기 쉽다)
standardization, normalization 구분
preprocessing 전처리를 의미
평균이 0이고 분산이 1인 값으로 변경 =standardscaler (분산 1 = 표준편차 1)
분산과 표준편차는 같은 말로 많이 쓰임
왜 반드시 해야 할까? 서장훈 잡기 위해 범위를 정해줘서 일정하게 바꾸는 것 평균을 0, 분산이 1인 값으로 변경해주는 것
*standardization 한다 : 평균을 0, 분산이 1인 값으로 변경해주는 것
0에 가까운 -,+값 나올 것
but (-)값 안나오게 하고 싶다면 0과 1사이 변환 시키기
cf *normalization이라 함(minmaxscaler 함수)
-정규화( 0~1 값으로 바꿈)
-데이터에서 최솟값을 빼고 전체 범위로 나누는 것
cf *regularization : 제약조건 붙일래 말래 (정규화라 불리는데 한국말 쓰지말장)
참고자료(정리 감사합니다)