본문 바로가기

Topics277

[Data] PCA의 주성분 개수 결정 방법 Introduction PCA, 주성분 분석을 할때, 가장 고려해야 하는 부분은 "그래서 몇 차원으로 줄일 것인데?" 이다. 이 주성분의 수를 결정하는 여러 방법들에 대해 알아보고자 한다. 방법 1 > Scree Plot 방법 2 > 고윳값을 활용한 결정 : Average of Eigenvalue (누적 기여율) 주의. PCA를 할 때는 반드시 변수들의 단위를 표준화시켜줘야 한다. 고윳값을 활용한 결정 PCA의 고윳값을 통해서는 설명 가능한 분산의 비율이 어느정도인지를 알 수 있다. 고윳값이 0.7 이상인지, 누적기여율이 80%가 넘어가는 지점까지의 주성분들을 기준으로 판단하게 된다. 코드를 통한 실제 확인 import numpy as np import pandas as pd from sklearn im.. 2022. 2. 17.
[TIL] python으로 jwt 구현하기 python을 활용하여 jwt를 구현하기. python에는 jwt 모듈이 존재하여, jwt를 쉽게 구현할 수 있다. jwt의 기본 구조를 다시 보면, header + payload + signature 3가지로 구성되어 있다. 구현할 때는 payload에 집중하여 구현하게 된다. import jwt import datetime SECRET_PRE = "" def create_token(token, email): encoded = jwt.encode( payload = {'exp':datetime.dattime.utcnow() + datetime.timeelta(seconds = 300), 'email': email}, key = SECRET_PRE + token, algorithm = 'HS256') r.. 2022. 2. 15.
[TIL] 토큰 기반 인증, JWT 개념 참고 [1] https://mangkyu.tistory.com/55 [2] https://mangkyu.tistory.com/56 인증이란? '로그인'을 하는 상황을 새각해보자. 즉 우리가 특정 사이트에 접속하는 상황을 생각해보자. 우리가 서버측에 요청을 보낸다면, 서버는 우리가 누구인지 알아내야 할 것이고, 이 시도가 유효한지 또한 확인해야 할 것이다. 인증의 종류 : 세션 기반 방식 vs 토큰 기반 방식 세션 기반 방식 세션 기반 방식은, 서버 측에서 사용자의 정보를 기억해 두는 방식이다. 클라이언트에서, 로그인을 요청하면 서버에서는 이에 대해 세션을 생성 및 유지하고, 응답하게 된다. 중요한 부분은 이러한 정보를 저장하고, 유지해야 한다는 점이다. 즉, 사용자가 늘어날수록 서버에 부하가 걸리게 되는.. 2022. 2. 15.
[Data] 자기 조직화 지도 (Self-Organizing Map) 이란? - 개요잡기 자기 조직화 지도, SOM이란? SOM은 비지도 신경망으로, 고차원의 데이터를 이해하기 쉬운 저차원의 뉴런으로 정렬하여 지도의 형태로 표현, 형상화하는 방법이다. SOM을 통해서 차원 축소와 군집화를 동시에 수행할 수 있게 된다. 고차원의 데이터에서 유사한 데이터들은 저차원에서는 서로 연결되게 된다. 즉 저차원에서의 유사도는, 원본 고차원 데이터에서 유사도가 최대한 보전이 되도록 학습시키는 것이 중요할 것이다. SOM의 구조 SOM은 두개의 층으로 구성되어 있다. - 입력층 입력 변수와 동일하게. 뉴런을 만든다. 이 때, 입력층에 있는 각각의 뉴런은 경쟁층에 있는 각각의 뉴런 모두와 연결되어 있다. (fully-connected) - 경쟁층 : 2차원 격자로 구성된 층 입력 변수에 따라 벡터가 한 점으로.. 2022. 2. 13.
[Data] Bayesian AB Test 참고 링크 https://yozm.wishket.com/magazine/detail/1034/ A/B 테스트를 하는 대표적인 두 가지 방법 A/B 테스트를 하는 대표적인 두 가지 방법론은 다음과 같다. - 빈도론 - 베이지안론 여기서는, 베이지안 관점에서의 A/B Test는 어떻게 해석이 되는지 알아보고자 한다. 기존의 빈도론적인 방법에서의 단점? - P-value를 어떻게 해석할 것인가? - 개선폭이 적으면 귀무가설을 채택하려는 경향이 있다. - 차이가 얼마가 나던, False Positive를 동일하게 평가해버린다. - 결정적으로, 대안이 원본보다 나을 확률에 관해 대답하고 싶을때, 빈도 주의적 방법으로는 접근하기 어렵다. 대안 : Bayesian A/B Test! 작은 개선도 잡아낼 수 있는 Bay.. 2022. 2. 9.
[Data] A/B Test란? A/B Test란 무엇인지, 어떻게 구현될 수 있는지, 실제 활용 (특히 게임쪽)에서 어떻게 사용될 수 있는지 한번 알아보고 공부하고자 한다. A/B Test란 무엇인가? A/B Test란, 새로운 업데이트나 UI, 알고리즘 등의 효과를 확인해보고 싶을 때 사용할 수 있는 실험 방법론이다. 기본적으로 실사용자를 '대조군'과 '실험군'으로 나누어 새로운 알고리즘을 적용했을때의 효과를 비교해보게 된다. A/B Test의 진행 방법 A/B Test의 기본 4단계 과정은 다음과 같다. 가설 설정 -> Metric 정의 -> 실험 설계 -> 결과 도출 1] 가설 설정 새롭게 적용하려는 대상과 관련된 가설을 설정한다. Ex) 다운로드 버튼 배치를 기존 좌측에서 우측으로 바꾸면 다운로드 수가 증가할 것이다. 2] M.. 2022. 2. 2.