본문 바로가기

블로그

AttributeError: 'TensorVariable' object has no attribute 'get_shape' 해결 Keras에서 사용하는 Backend가 "Theano"를 사용했기 때문에 발생한 문제이다. 내가 실행하려고 하는 딥러닝 아키텍처가 Tensorflow Backend 기반으로 작성되었기에 발생하는 오류 get_shape()를 int_shape()로 변경해보고, 뭐시기를 다 해봤는데 안되더라. 코드가 get_shape().as_list()로 들어가는데, get_shape()를 변경하면, as_list()가 없다더라.. 벡앤드를 우선 체크해보자. backend Keras is a model-level library, providing high-level building blocks for developing deep learning models. It does not handle low-level operat.. 더보기
[MYSQL] 예약 테이블을 통해 RFM 테이블 만들기 방법 및 쿼리 어떤 고객에게 마케팅을 할 것인지 선정하기 위해서, 고객이 최근 우리 서비스에서 언제 결제했고, 최근 결제 했다면 오늘 부터 얼마나 지났으며, 금액은 얼마고, 몇 번을 결제했는지 알고 싶다고 한다. 여기서 RFM은 다음과 같이 정의한다. Recency: 고객이 얼마나 최근에 구매를 했는가? Frequency: 고객이 (주어진 기간 동안) 얼마나 자주 구매를 했는가? Monetary: 고객이 (주어진 기간 동안) 구매에 얼마를 지출하였는가? SELECT SUB.user_id, -- 결제한 고객 ID MAX(SUB.date) AS recent_date, -- 고객별 최근 구매일 DATEDIFF(CURRENT_DATE(), (MAX(SUB.date))) AS recency, -- 고객별 구매 최근성 ROUND.. 더보기
Hold-out, 교차검증 K-Fold, Stratified K-Fold 여기서 코드는 권철민 저의 머신러닝 완벽가이드를 바탕으로 정리하였습니다. 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 남겨주세요 😄 Intro 교차검증은 간단하게 말해서, 학습 데이터로 여러번 검증을 하는 것을 말한다. 머신러닝은 데이터에 의존적일 수 밖에 없어서, 반복적으로 테스트를 진행하는 교차검증이 필요하다. 예를 들어, 학습 데이터와 테스트 데이터가 종속성이 강하다고 치자. 그렇다면 알고리즘이 데이터를 학습한 후 진행한 테스트 성능이 좋았을때, 그 이유가 알고리즘의 성능이 좋아서 그런건지, 정답과 비슷한 데이터를 학습해서 성능이 좋은 건지 알 수 없다. 따라서 여러번의 테스트를 통해 실제 알고리즘의 성능을 평가하는 것이 중요하다. 또 머신러닝의 목표인 일반화 성능을 높이기 위해 여러번.. 더보기
[기초 통계] 07. 두 집단 비교에 대한 추론 앞에서 우리는 하나의 집단에 대한 모집단의 평균을 검증하기 위해 신뢰구간을 구하고, 가설검증을 해보았다. -> (one-sample-test) 이제는 2개의 집단이 존재하고, 집단의 평균이 통계적으로 유의미한지 비교하는 상황을 생각해보자. -> (two sample-test) 두 모집단 비교 앞에서 진행한 one-sample-test와는 다르게, 두 집단을 비교할때 두 집단의 모분산이 동일한가?(equal variance) 동일하지 않는가?(unequal variance)에 따라 검증 수행 방법이 달라진다. 따라서 two-sample-test를 진행하기 전에 등분산 검정을 먼저 수행한다. 그리고 한 표본의 값이 다른 표본의 값에 영향을 주는지에 따라서 (두 표본이 독립적인가?) 에 따라서 independ.. 더보기
[기초 통계] 06. 가설검증과 오류 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 남겨주세요 😄 가설 검정 가설이란 무엇인가? 가설은 모집단에 대한 진술을 의미함. 우리는 보통 모집단이 너무 크기 때문에 전수조사를 하지 않고, 표본의 통계값으로 모집단이 모집단의 진술을 지지하는지 검정함 그럼 가설을 어떻게 검증할까? 내가 연구하고자 하는 모든 집단을 전수조사 한다면 시간과 돈이 기하급수적으로 들것임. 따라서 앞에서 언급한 표본분포와 신뢰구간 그리고 추정을 이용함 똑같은 예시인데, 하버드 입학생의 SAT 평균성적이 500점인지에 대한 가설을 검증하고 싶다고 하자. 그렇다면, 100명의 하버드 학생에게 SAT 성적을 조사하여 평균을 냈을 때, 350점이 나온다면 아마 가설을 기각해야 할 것이다. 그럼 510점이 나왔으면 최초에 세운.. 더보기
[기초 통계] 05. 구간추정과 신뢰구간 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 남겨주세요 😄 점추정 점추정은 알지 못하는 모집단의 모수에 대한 정보를 알아내기 위해, 모집단의 표본으로부터 도출한 하나의 값으로 모집단의 모수를 추정하는 것을 의미함. 예를 들어, 하버드 입학생의 평균 SAT 점수를 50명을 무작위로 추출하여, 계산하였을 때 500이 나옴. 이때 이 500으로 하버드 입학생 전체의 SAT 점수를 추정하는 것을 점추정이라고 함 하지만 이렇게 점추정을 하는 것은 많은 정보량을 갖고 있지 않고, 실제 모집단의 평균값과는 차이를 보일 수 있음. 따라서 우리는 신뢰구간을 구하여 구간추정을 할 것임 하버드 입학생의 평균 SAT 점수는 490점에서 550점 사이에 있을 가능성이 95%라는 식으로 표현 구간추정 표본의 크기가 .. 더보기
[기초 통계] 04. 표본 분포와 특징 전수조사 하버드 입학생의 SAT 점수 평균에 관심이 있다고 하자 여기서 모집단이란 하버드 대학에 입학한 모든 학생들의 SAT 점수일 것임. 하버드 학생 200명을 랜덤하게 뽑아서, 이 학생들의 SAT 점수의 평균을 계산해보니, 535점이라고하자. 다시 한 번 200명을 뽑아서 계산해보면 400점, 500점 등 표본을 뽑을 때마다 다른 평균값이 나올 가능성이 높을 것이다. 그렇다면 모집단의 정확한 점수를 알기 위해서는 모든 하버드 입학생들을 전수조사하면 될것이다! 하지만 전수조사는 과다한 비용과 시간이 듦. 전수조사를 하지 않고 모집단의 평균값을 대략적으로 알 수 있는 방법은 없을까? 표본오차 우리는 모집단의 평균을 알아보기 위해서, 전수조사를 하지 않고 하나의 표본을 뽑아서 모집단의 평균을 추정함 여기서.. 더보기
[기초 통계] 03. 확률 분포와 정규분포 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 남겨주세요 😄 통계 기초와 적용 - 02 중심화 경향,분산도, 표준화 표본 공간(Sample space) 통계적 실험이나 조사에서 모든 가능한 실현 결과들의 집합 확률 변수(Random Variable) 우리는 동전(Fair coin)을 2개를 동시에 던져서 얻는 결과가 앞인지 뒤인지 알고 싶다고 하자. 그렇다면, 우리는 다음과 같은 Variable을 관측할 수 있을 것이다. 출처: https://dlearner.tistory.com/32 {앞Head,앞},{앞,뒤Tail},{뒤,앞},{뒤,뒤}와 같은 Variable을 각각의 ‘앞면이 나오는 개수’에 대해서 실수값에 대응시켜보자. 그렇다면 앞이 2번 나온 경우 X=2, HT,TH는 1, TT는 0.. 더보기