본문 바로가기

전체 글128

정규화(Normalization)와 표준화(Standardization)를 하는 이유 머신러닝 모델링을 하기 전에 기계학습을 하는 이유가 무엇일까? 보통 머신러닝 모델을 만들기 위해선 데이터를 전처리해준다. 이 과정에서 사용되는 것 중 하나가 정규화 또는 표준화이다. 왜 이것을 사용하는가 하면 데이터의 컬럼 별 단위 또는 범위를 통일시켜준다고 생각하면 편하다. 컬럼별로 뭐 시간, km, kg 등 다양한 단위를 가지는데 이러면 직접적인 비교가 불가능하다. 예를 들자. 넌 180cm인데 난 80kg이니깐 내가 더 몸이 좋아! 라고 한다면 상대방이 나를 이상한 사람 취급할 것이다. 또는 토익 300점(990점 만점)인데 넌 학교 영어점수가 100점(100점만점)이니 내가 더 영어를 잘하네.라고 한다면 똑같이 나를 이상한 취급을 할 것이다. 이처럼 다른 데이터로 비교한다는 것이 말이 안되므로 이.. 2022. 1. 5.
명목변수 내 인자 확인, 수, 갯수 - df.unique(), nunique(), value_counts() 과일이란 컬럼안에 사과, 배, 귤 등등이 있다. 이 때 이 과일컬럼 내에 어떤 요소들이 있는지 확인하는 방법 df['과일'].unique() 결과로 사과, 배, 귤이 나온다. 범주형 변수에서 어떤 인자가 있는지 중복되지 않고 보여준다. 이제 고유한 인자들이 몇개인지를 확인할 때, df['과일'].nunique() 결과로 3 이 나온다. 사과, 배, 귤로 총 3개인 것을 알 수 있다. 마지막으로 이 고유값들이 df안에 얼마나 들어있는지 확인할 때, df['과일'].value_counts(ascending=True) # ascending은 결과를 오름차순으로 보여준다. 이러면 사과는 몇개가 있고 배는 몇개, 귤은 몇개로 나타난다. 2022. 1. 4.
평균, 분산, 표준편차의 이야기 우리는 늘 분산이 작으면 안정적이야 이렇게 말한다... 대체 왜 그럴까? 이런 의문을 가지고 검색을 해봤다. 늘상 쓰이는 거지만, 왜일까?란 의문을 계속 제시해야 한다.. 명심하자... 먼저 평균은 그 데이터가 가리키는 값이라 할 수 있다. 내가 90점을 받았는데, 평균이 얼마지? 라고 생각해본적이 다들 있다. 그 데이터의 평균이 50점이라고 하면 시험을 본 대부분이 50점 근처라고 생각할 것이다. 이처럼 평균은 그 데이터를 대표하는 값으로 표현이 가능하다. 평균을 알았고 아 내가 남들보다 엄청 잘봤네~ 이런 생각이 들면서 이제 다음으로 생각할 것이다. 그럼 내가 몇 등급이지?? 1등급? 2등급? 이 때 나오는 것이 표준편차, 분산이다. 분산의 사전적 의미는 '그 확률변수가 기댓값(평균)으로부터 얼마나 .. 2022. 1. 4.
count, mean, std, min , 1 분위수, 2 분위수, 3 분위수, max 출력함수 df.describe() 2022. 1. 3.
Voting Classifier 여러개의 모델을 결합하여 더 좋은 예측 결과를 도출하는 앙상블 기법이다. 간단하다. 다양한 모델의 결과들을 모아서 투표하는 것이다. 아주 간단한 예로 모델이 총 3개로 1번 모델, 2번 모델의 결과가 사과로 나왔다. 3번 모델의 결과는 배로 나왔으면 사과가 2표, 배가 1표이므로 이 것의 결과는 사과가 된다. Voting Classifier 는 Hard voting과 soft voting으로 나뉘어진다. Hard voting. - Majority voting이라고도 하며, 각 모델의 예측한 결과들을 모아 다수결 투표로 최종 예측 결과를 선정하는 방식이다. 방금 위에서 표현한 예가 hard voting이다. Soft Voting - Probability Voting이라고도 하며, 각 모델들이 예측한 결과값.. 2021. 12. 30.
LGBM(Light Gradient Boosting Model) LGBM을 알기전에 XGB, GBM을 알아야 한다. https://lucian-blog.tistory.com/100 LGBM은 XGB의 업그레이드 버전이라 보면 된다. XGB는 높은 성능을 내고 GBM보다 빠르지만 여전히 level-wise 트리 확장 구조를 사용하므로 느리다! 즉 트리 구조가 수평적으로 예쁘게 확장되는 것이 level-wise 확장 구조이다. 반면에 LGBM(Light GBM)은 leaf-wise 트리 확장 구조로 변경하여 속도와 메모리를 비약적으로 향상시켰다. 즉 트리의 어느 레벨에서 모든 노드를 확장시키는 것이 아닌 최종 노드 하나만 분할하는 방식을 사용한 것이다. =수직 트리 구조 이렇게 하면 loss가 가장 큰 부분을 쪼개고 쪼개서 결국 최대한으로 줄여지는 것이 가능하다. 이렇게.. 2021. 12. 30.