분류 전체보기
-
[Python] CMS DATA Filtering카테고리 없음 2020. 3. 29. 16:27
인턴 과정에서 앱 업데이트에 대한 효과검증을 하게 되었다. CMS 고객 관리 데이터를 가지고 이리저리 만져볼 필요가 있어 Pandas 라이브러리를 활용하여 일을 진행했다. 성수기에 데이터량이 폭발적으로 늘어날 것을 대비하여, 로직을 짜놓으면 대량의 데이터에 대하여 수치의 정확도나 속도에서 효과적이기 때문에 만들어보았다. 코드는 프로그래밍 언어를 모르더라도 작성할 수 있도록, 텍스트 위주로 진행되게끔 input() 입력함수를 활용하였고 추가적으로 try-except 예외처리를 두어, 정해진 조건에서만 프로그램이 작동할 수 있도록 만들었다. 해당 코드의 내용은 다음과 같다. 정리된 엑셀 시트에서 결측값을 제거하고 특정한 데이터를 라벨링하여 묶는 과정을 담고 있고 정해진 조건내에서 사용자 수를 파악하는 것이다..
-
[python] ARIMA 데이터 생성 및 모형 적합 절차카테고리 없음 2020. 3. 18. 22:35
ARIMA(p,d,q)모형은 차수 p,d,q의 값에 따라 다른이름으로 불린다. p는 AR모형과 관련된, q는 MA모형과 그리고 d는 시차와 관련된 파라미터 이다. ARIMA의 모수는 크게 3가지가 있다. AR모형의 Lag을 의미하는 p, MA모형의 Lag을 의미하는 q, 차분(Diffrence)횟수를 의미하는 d 가 그것이다. 보통은 p, d, q의 순서로 쓴다. @ 정상성: 시간의 추이에 관계없이, 평균과 분산이 균일함 예1) d=0이면, ARMA(p,q)모형이라 부르고 이 모형은 정상성을 만족한다. 예2) p=0이면, IMA(d,q)모형이라 부르고 d번 차분하면 MA(q)모형을 따르게 된다. 예3) q=0이면, ARI(p,d)모형이라 부르며, d번 차분한 시계열이 AR(p)모형을 따르게 된다. 이번에..
-
확률론과 Bayesian Decision Rule(Inference Model)카테고리 없음 2020. 3. 15. 22:18
확률론에는 빈도론(Frequentism)과 베이지안(Bayesian)으로 크게 나눌 수 있으며, 머신러닝 모델 또한 이론에 입각하여 빈도론의 Generator model과 베이지안 룰에 따른 Inference model이 있다. 일반적으로 우리가 알고 있는 확률론은 Generator model이다. 발생한 값들을 보고 그 사건에 대한 값을 예측하는 것이다. 예를 들어보면, 동전을 10번 던졌을때, 앞면이 나올 확률이 50%이면, 100번 던졌을때, 앞면이 50%확률로 나온다고 예측하는 것을 말한다. 즉, 빈도론에서 확률은 '사건이 일어나는 장기적인 확률'로써 오로지 경험적 사실만을 통해 이야기할 수 있다는, 객관적인 입장을 취하며, 베이지안은 '지식이나 판단의 정도를 나타내는 수단'으로써, 주관적인 입장..
-
ARIMA: Time Series Analysis 모형카테고리 없음 2020. 3. 12. 19:51
데이터마다 특징이 있다. 예를 들어, 마스크에 대한 수요 데이터를 따져보자. 요즘 빠르게 퍼지고 있는 코로나 바이러스에 따라 마스크의 수요가 급증했다. 마스크에 대한 공급을 정부에서 담당하여, 약국에서 250개씩 할당하고 있을만큼 ... 이때의 마스크의 수요는 무엇에 영향을 받았을까? 당연하게도 코로나의 전파력과 사람의 공포심에 따라 크게 변동할 것이다. 특별한 시간적 흐름보다는 외국에서 유입된 인원, 특히 중국 우한을 방문했던 사람들의 숫자 그리고 국내에서는 대구에 방문한 사람들의 수와 경로에 영향을 받을 것이다. 추가적으로 언론에서 코로나를 다루는 방향과 보도 횟수에 따라 크게 수요는 널뛸 것이다. 아침마당에 소개되는 암예방, 치매예방에 대한 음식, 재료가 소개될 경우 마트에서 매출이 급격하게 증가하..
-
Recursive 함수 폴더 리스트 뽑아내기카테고리 없음 2020. 3. 6. 16:48
데이터 파일을 체크할때, 일일이 경로를 지정하는 것은 불편하다. 파일 곳곳을 자동으로 들어가 파일을 체크하는 코드가 필요하다. 데이터 수가 많아지면, 일일이 핸들링하는데 대단히 많은 시간이 소요되기 때문이다. 이번 시간에는 재귀함수를 이용해, 파일이 담겨있는 폴더 리스트를 뽑아볼 것이다. 재귀함수 문으로 구성되어 약간 헷갈릴 수 있다. 일단 사용된 함수를 먼저 알아보면, 현재 경로를 기점으로 Path 객체를 만들어서 폴더에 있는 파일과 폴더들을 iterdir로 반환하고 is_dir로 폴더만 골라낸다. 추가적으로 sum(valids,[])에서 두번째 인자 [ ]빈 리스트의 역할은 다음같다. (리스트의 원소를 합하는 느낌) sum([1,2,3])을 호출하면 start(=0) + 1 + 2 + 3 을 계산해 ..
-
Sigmoid와 ReLU 예측 모델 비교카테고리 없음 2020. 3. 5. 22:42
이번 시간에는 가장 많이 사용되는 신경망 모델 sigmoid와 relu를 사용해 볼 것이다. 임의로 랜덤한 값으로 데이터 셋을 형성한뒤, 모델을 2가지로 분류하여 평가해볼 것이다. 지금 까지 데이터를 임의로 생성하여 분포를 살펴보았다면, 이제는 모델을 사용해볼 것이다. x2는 결과Y, x1는 변수X로 사용할 것이다. model1에 시퀀스 객체를 선언하고 층별로 활성화함수를 집어넣는다. 이때, input_dim이 입력값 X, 마지막층에 인자 4가 아웃풋 Y가 된다. 아웃풋은 숫자가 아닌 타입이여햐 하기 때문에, softmax 활성화함수를 사용하며, softmax는 타입별로 확률 값을 반환하고 전체 합이 1이 된다. 이때, 가장 높은 확률, 1에 가장 가까운 값을 가진 index가 타겟일 확률이 가장 높은 ..
-
DB 파일을 수정해보자카테고리 없음 2020. 3. 5. 21:33
얼마전, 이미지 데이터 파일을 전달하던 중 오류가 발생하여 갑작스럽게 DB파일을 수정하는 일이 생겼다. AI랩실에서 주신 클래스 함수에서 ASSERTION 에러가 발생하여, 해당 문제를 긴급하게 파악하는 일을 진행했다. DB 파일을 cursor.execute로 실행하면, DB파일에 있는 테이블을 체크할 수 있다. 현재 내가 받은 DB파일에는 이미지 상세 정보와 태깅에 대한 정보가 들어가 있는데, 두 테이블이 이미지 파일명에 대하여 순서가 일치하지 않거나 혹은 중복되어 들어가거나 하나의 오류 파일이 들어갈 경우, 에러를 발생시킨다. 따라서 DB파일 속 이미지에 대한 정보와 태깅에 대한 정보가 불일치을 해결하고자 오류 파일을 체크하고 점검하는 작업을 진행했다.
-
kaggle 데이터(2019 Corona)시각화 따라하기카테고리 없음 2020. 3. 5. 21:20
요즘 코로나 바이러스19에 대한 위험 단계가 '심각' 🤢 에 이르면서, 우리 회사에서도 재택근무를 시행하고 있을 만큼 다들 주의를 기울이고 있는듯 하다. 오늘 준비한 kaggle 데이터는 바로 Coronavirus-covid-19에 대한 자료이다. https://www.kaggle.com/brendaso/2019-coronavirus-dataset-01212020-01262020 2019 Coronavirus dataset (January - February 2020) Tracking the spread of 2019-nCoV www.kaggle.com 2020년 1월부터 2월까지 코로나 바이러스에 대한 감염 이력 데이터이다. 지역과 발병 여부에 대한 정보가 담겨 있어, 지도를 이용한 시각화를 효과적으로..