A/B Test의 목적은 더 가치 있는 변수를 식별하여 최적의 시안을 선정하는 것입니다. A/B Test의 결과가 표본 자체보다는 전체 모집단을 나타내기를 원하기 때문에 편향을 제거하는 것이 중요합니다. 대조군과 실험군의 비율의 차이가 많이 발생하면 실험군과 대조군의 차이가 실제 실험군 내에 발생하는 효과를 과소평가하게 됩니다. 그렇게 되면 테스트보다 더 큰 효과가 발생할 수 있습니다. 또는 반대로 진행하게 되면 테스트보다 더 작은 효과가 발생할 수 있게 되는 셈입니다. 그래서 테스트에 영향을 준다고 생각한 부분을 가설에 접속 했기 때문에 그 부분을 제외하고는 테스트에 영향을 줄만한 변수들을 제외 시키기 위함입니다. - A집단과 B집단이 균일하게 나누어져야 한다. - A집단과 B집단이 서로에게 영향을 미..
컴퓨터 프로그램에서 발생하는 난수는 엄밀한 의미에서 난수가 아닙니다. 특정 시작 숫자를 정해주면 컴퓨터의 정해진 알고리즘에 의해서 마치 난수처럼 보이는 수열을 생성하게 됩니다. 이때 시작하는 숫자가 seed인 셈이죠. 따라서 동일한 시작 숫자를 설정하면, 동일한 난수 생성 패턴이 나타나게 됩니다. 우리가 작성한 코드에 대해 동일한 결과 재현에 활용할 수 있습니다. 여기서 가장 중요한 것은 알고리즘의 미묘한 성능 차이를 확인해야하는 경우에 데이터의 특성에 따른 차이를 제어할 수 있도록 해야하는 점 입니다. 아래에 있는 예시코드를 보겠습니다. import numpy as np import random np.random.seed(42) # 대한민국 외국인 비율이 33%인 5000명의 인구 데이터 생성 stud..
리스트 VS 제너레이터 먼저 바로 결과 값을 보자 # 숫자 1 ~ 10000 3배로 만든 결과를 리스트 VS 제너레이터 import sys list_data = [i * 3 for i in range(1, 10000 + 1)] generator_data = (i * 3 for i in range(1, 10000 + 1)) print(sys.getsizeof(list_data)) # sys.getsizeof = Return the size of object in bytes. print(sys.getsizeof(generator_data)) # 87616 # 112 위의 코드를 보기만 하더라도 제너레이터가 확연히 메모리 사용량이 줄어든 것을 볼 수 있다. 왜 그럴까?? 리스트는 데이터 저장에 필요한 메모리를..
딥러닝은 머신러닝보다 데이터에 더 의존 —> 딥러닝은 데이터 양에 비례한 성능을 갖기 때문에 머신러닝보다 훨씬 많은 양과 크기의 데이터가 필요하다. 머신러닝 : 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야 인공지능의 한 분야 딥러닝은 인공 신경망을 기반으로 한 방법 머신러닝의 한 분야 딥러닝의 deep은 머신러닝보다 데이터의 양이 많아지고 중간 처리과정이 깊어져서 딥러닝이라고 함 머신러닝 : 사람을 학습시키는 과정에서 착안한 방법을 사용해서 어떤 데이터의 입력 값과 이에 대응한 출력 값을 알려주면 출력방법에 대해 스스로 학습함 —> 특성공학이 중요 사람이 개입함 딥러닝 : 머신러닝과 같이 스스로 학습한다는 점에서는 동일하나, 출력 값에 대한 정보를 학습..
클라우드의 장점 신속한 인프라 도입 : 온프레미스방법의 경우 인프라를 구축하기위해 물리적인 기계, 공간, 가용인력이 필요하나, 클라우드서비스는 빠르게 인프라를 도입할 수 있다. 초기비용이 온프레미스보다 적게 듬 인터넷만 있으면 서버관리 가능 온프레미스 장점 보안이 아주 좋다 인프라를 직접 구축하다 보니 어마어마한 데이터 처리가 가능 인터넷 없이 엑세스 가능(단, 사무실에서만) 데이터 백업에 좋음 클라우드 단점 보안에 약함 인터넷 필수 온프레미스 단점 구축이 오래 걸림 돈이 많이 들어감 서버 관리자 구하기도 힘든데 3교대 근무이다 보니 많이 나가려고함(회사마다 다름) 재택하려면 VPN으로 회사에서 맞춰줘야함 다만 느려짐.. 기업 73%가 온프레미스로 애플리케이션 다시 이전…“하이브리드 클라우드 미래 밝다”..
몇몇 PDP는 특성 분포를 나타내지 않음 분포를 생략하는 것은 데이터가 거의 없는 부분을 과대해석할 수 있다. x축의 데이터 포인터나 히스토그램을 보여주면 이 문제가 해결 할 수 있다. 이질적 효과(Heterogeneous effect)가 드러나지 않음 이질적 효과? 겉보기에는 비슷하지만 사실상 다른 영향을 끼치는 서로 이질적인 요소를 가리킨다. 예를 들어, 하나의 특성이 커지면 커질수록 예측치가 커지고, 동시에 작으면 작을수록 예측치가 커진다고 합시다. 이 경우 PDP는 수평선으로 그려져 특성의 영향도는 없는 것으로 보여질 것이다. => 개별 조건부 기대치(Individual Conditional Expectation)를 그려 이종효과를 찾아낼 수 있다. 현실적으로 변수가 두 개를 초과할 경우 그래프로..
ICE Plot PDP Plot 특징 세세한 조건에서의 모델의 예측변화 확인 (Local) 특정 관측치에 대해, 특정 특성의 값을 변화시킬 때 모델의 예측 양상이 어떻게 변하는지 파악 모델의 해당 특성에 대한 전반적인 이해 방식 확인 (Global) 특정 관측치에 포커스를 두지 않음, 전체 평균에 집중 PDP Plot = ICE plot의 평균 장점 - 상호작용 관점에서 PDP보다 많은 인사이트를 발견할 수 있음 - 직관적으로 이해하기 쉬움 - 전반적인 모델 특성 확인에 용이함 - 직관적으로 이해하기 쉬움(특정 특성에 대한 모델의 복잡한 반응 양상을 이해하기 쉽게 시각화해줌) 단점 - 오직 하나의 특성만 의미있게 나타낼 수 있음 (그래프에 2개 이상의 특성을 그리면 알아보기 힘들어짐) + 샘플이 너무 많..
결정 트리 기반 모델은 매개변수를 기반으로 결정이 내려짐 따라서 X라는 변수가 있는 경우 이 변수는 여러 값을 가질 수 있는데 이제 결정 트리 모델에서 트리는, 트리를 형성하기 위해 알고리즘이 내리는 미세 결정을 기반으로 형성 이 알고리즘은 다른 학습 트리 분기를 형성하고 그렇지 않으면 트리의 다른 분기를 형성 한다. 예를 들어 0에서 100으로 이동하는 기능의 경우 X = 50에서 컷이 성능을 향상시킬 수 있다 이 숫자를 0에서 1로 축소하여도 X = 0.5도 같은 줄어들어 아무것도 변하지 않는다 (X 값도 동일한 요소로 축소되었음을 기억) 따라서 Randomforest XGboost 같은 의사 결정 트리 모델은 최소값으로 수렴하기 위해 값을 조정할 필요가 없음 또한 정규화의 경우 데이터를 확장하는 프..
그래프 : X 축은 년도, Y축은 해당 년도의 램 1MB 당 가격($기준) 설명 선형 회귀 모델은 훈련 데이터와 테스트 데이터를 바탕으로 선을 그려 테스트 데이터(2000년 이후)를 꽤 정확히 예측 트리 모델은 훈련 데이터가 위치한 영역을 분할하여 예측하는 것이기 때문에 범위 밖에 위치한 데이터에 대해서는 영역 분할이 되어있지 않으므로, 모델이 예측할 수가 없다 트리 모델은 훈련 데이터를 완벽하게 예측하기 때문에 트리의 복잡도에 제한을 두지 않아서 전체 데이터셋을 모두 기억해서 모델이 가진 데이터 범위 밖으로 나가면(테스트 데이터) 단순히 마지막 포인트를 이용해 예측하는 게 전부
정규화란? 회귀모델에서 정규화란 모델을 변형하여 과적합을 완화해 일반화 성능 높여주기 위한 기법 일반화 : 학습 데이터와 input 데이터가 달러져도 출력에 대한 차이가 많이 나지 않도록 하는 것 과적합overfitting된 모델은 훈련데이터에 너무 fitting된 모델이고 분산이 크다. 이때 편향을 조금 감안하더라도 분산을 줄이는 방향을 택하는데, 크게 두 가지 방법이 있다. 특성의 갯수를 줄이던가, 정규화를 수행하던가. 여기서 파라미터값에 제약을 줌으로써 모델을 정돈하는 것이 정규화이고, 이 정규화 컨셉을 처음 도입한 모델이 Ridge회귀 이다. 위 그림에서 분산이 높은 overfitting모델을 정규화 시키고자 할때, 베타3,4는 거의 0값을 가져야 최소의 에러를 가질 것이다. 이렇게 베타의 영향력..