본문 바로가기

Archive171

[Data] Feature Importance 정리하기 Feature Importance가 정말 답인가? 참고자료 [1] https://hwi-doc.tistory.com/entry/Feature-selection-feature-importance-vs-permutation-importance [2] https://velog.io/@vvakki_/%EB%9E%9C%EB%8D%A4-%ED%8F%AC%EB%A0%88%EC%8A%A4%ED%8A%B8%EC%97%90%EC%84%9C%EC%9D%98-%EB%B3%80%EC%88%98-%EC%A4%91%EC%9A%94%EB%8F%84Variable-Importance-3%EA%B0%80%EC%A7%80 [3] https://soohee410.github.io/iml_tree_importance Random Forest.. 2021. 9. 30.
[Data] Data Clustering 정리 데이터 클러스티링이란? 비지도학습의 일종으로, 학습 데이터가 주어지지 않은 상태에서 유의미한 결과를 찾아내야 한다. 여기서 Clustering에서 하고 싶은 것은 주어진 데이터를 적당한 군집으로 나눠주고자 하는 것이다. 여러가지 방법이 있지만 크게 다음 두가지에 대해 정리하고자 한다. (1) K-means (K-means ++) (2) DBSCAN K-means K-means는 kNN과 유사한 방법을 사용한다. 구체적으로는 평균을 계속 적용하여 중심점을 지속적으로 조절하는 방법을 사용한다. 이를 통해 각 클러스터 내에서 분산을 최소화 해서 군집화 하는 방식이다. K-means의 작동 원리 (1) K값을 정해 몇 개의 클러스터로 나눌지 결정한다. (K값은 중심점의 개수가 된다) (2) 최초의 중심점은 랜덤.. 2021. 9. 30.
[TIL] Gradient Vanishing 문제와 활성화 함수 (면접에서 틀렸던 문제다... 진짜..) Gradient Vanishing이란? 신경망 학습 과정에서는, 가중치를 back-propagation 하는 과정에서 가중치가 발산하거나 곡선의 기울기가 0이 되면서 학습이 제대로 되지 않는 현상이 발생할 수 있다. 원인은 활성화함수에서 사실, 선형 함수의 경우는 미분해봤자 계수가 되기 때문에 선형함수에서는 그 원인을 찾을 수 없다. 즉, 원인을 찾기 위해서는 비선형 함수를 만들어주는 활성화함수에서 찾아야 할 것이다. 미분계수가 0에 수렴이 되면, 기울기에 의해서 값을 찾아가야 하는데 제대로 오차가 감소되지 않거나, local minima에 빠지는 문제가 발생할 것이다. Sigmoid function 시그모이드는 로지스틱 회귀와 연관된 함수로, 0과 1 사이의 실.. 2021. 9. 20.
[추천] 추천 시스템의 평가 참고 [1] https://techblog-history-younghunjo1.tistory.com/133 [2] https://zzaebok.github.io/recommender_system/metrics/rec_metrics/ [3] https://jyoondev.tistory.com/131 복습 : 추천 시스템이 풀려는 문제 추천시스템은 크게 분류 문제 / 회귀 문제 관점 두 가지로 해석이 가능하다. - 분류 문제 : 유저가 좋아할만한 아이템을 k개 찾아 준다. - 회귀 문제 : 유저가 특정 아이템에 매길 평점을 예측한다. 이에 따라, 분류 문제와 회귀 무제에서 기존에 사용된 평가 지표를 활용 가능할 것이다? 기존 Metric의 문제점 하지만, 단순히 기존의 분류와 회귀에서 사용한 Metric을 .. 2021. 9. 15.
[자연어] BERT 모델, 찍먹해보자. 참고자료 [1] https://ebbnflow.tistory.com/151 [2] https://wikidocs.net/115055 BERT란? 구글에서 만든 NLP 처리 기술이다. BERT는 기본적으로 '사전 훈련 언어 모델'이다. 단어를 Embedding하는 것이 NLP에서 중요한 문제인데 대표적인 방법으로는 - TF-IDF Vectorizer - Count Vectorizer - Word2Vec 이런 것들을 예시로 들 수 있다. TF-IDF, Count는 단어의 빈도수에 따른 단일 단어만 고려한다면, Word2Vec은 주변 단어, 즉 문맥을 고려할 수 있는 벡터화이다. 그러나 Word2Vec 역시 동음이의어 등에는 취약하다는 단점을 가지고 있다. BERT는 다른 모델을 쓰기 전, 사전 훈련을 통해 .. 2021. 9. 6.
[TIL] JSON 파일 읽기 csv 파일만 읽다가 json 파일을 읽어보아야 하는 상황을 겪게 되어, 이런저런 삽질을 통해 방법을 알게 되었다. (1) JSON file -> data 읽기 path = '(json 파일이 있는 경로)' records = [json.loads(line) for line in open(path, encoding = 'utf-8')] 이렇게 읽을 경우 list 형태로 데이터를 얻게 된다. records[0].keys() 를 통해 dict형태의 key를 알 수 있고, 필요한 데이터를 직접 추출하면 된다. (2) json URL -> 파일 다운로드 import json import urllib.request from urllib import request url = '(json file의 url)' save.. 2021. 9. 6.