Processing math: 100%

분류 전체보기 107

딥러닝 Multiple-Object Detection

Multiple-Object Detection - Type A reference : Multiple-Object Detection (1) : R-CNN Multiple-Object Detection (2) : SPP-Net Multiple-Object Detection (3) : Fast R-CNN 갈아먹는 Object Detection [1] R-CNN 갈아먹는 Object Detection [2] Spatial Pyramid Pooling Network 갈아먹는 Object Detection [3] Fast R-CNN 갈아먹는 Object Detection [4] Faster R-CNN Multiple Object Detection의 동작 방식은 Region Proposal과 Classificatio..

Elastic Stack 활용 서울시 상권 매출 대시보드 구축 - (1) beats, logstash

Step 0. 실습 전 확인 사항 Elastic Stack은 Elastic Search를 중심으로 Beats, Logstash, Kibana를 활용해 데이터파이프를 구축하는 일련의 설계 방식이다. 이번 실습은 아래의 순서로 진행된다. 서울시 상권 추정 매출 데이터를 Beats로 읽어들여서, Logstash로 보내 문자열 처리를 거친 다음, Elastic search로 적재하고, Kibana로 대시보드를 그려보는 것 먼저, 실습 전에 나의 작업 환경은 아래와 같다. 동일하게 세팅할 필요는 없으며, 클라우드를 사용하지 않고 개인 로컬 환경에서도 충분히 실습이 가능하다. 작업 환경: Macbook Pro 2019 - i9, 16GB GCP 가상 머신 4대 할당(e2-small 3대 + e2-medium 1대)..

linux - 파일 인코딩 변경

로컬 서버에서 지정된 인코딩 정보와 파일의 인코딩 정보가 일치하지 않는 경우 terminal에서 해당 파일을 읽을 때 아래와 같이 한글이 깨질 수 있다. 해당 파일의 인코딩 정보는 fileIfilename.(file -bi filename) 해당 파일의 charset은 iso-8859-1이다. 일반적으로 맥 서버의 한글 인코딩 설정은 utf-8로 되어있다. 이렇게 인코딩 정보가 다르면 한글을 정상적으로 읽을 수 없기 때문에 vim으로 파일을 열어서 인코딩 형식을 변경해준다. 그러고나서 다시 인코딩 정보를 확인하면 utf-8로 변경된 것을 확인할 수 있고, 한글도 정상적으로 출력된다.

Kibana - 모니터링 멈추기

키바나를 elastic search와 연동하여 실행시 default로 실시간 데이터가 적재된다. 만약 테스트를 위한 작은 VM을 띄우고 실습한다면, 용량에 부담을 주고 ssh 서버 접속이 제한될 수 있으니 경우에 따라 제한할 필요가 있다. - 실행시 데이터 적재되는 모습 메모리 용량 조절을 위해 모니터링하지 않을때는 데이터가 쌓이지 않도록 Dev-Tools 탭에서 elastic search 명령으로 초기화할 수 있다. _cluster/settings에 persistent -> null 명령어를 실행해주면 아래와 같이 데이터 수집이 중단된다(붉은 선 기점으로 중단)

Elastic Search - 외부 호스팅 개방

외부에서 엘라스틱서치 클러스터에 접속하기 위해서는 config/elasticsearch.yml 파일에서 network.host: “_stie_” (혹은 internet-ip) 를 입력해줘야 한다. 그런데, 이렇게 수정하고 실행하면 부트스트랩 에러가 발생한다. 이 부분을 해결하려면 /etc/security/limits.conf 파일과 /etc/sysctl.conf 파일 수정 통해 리소스 제한을 영구적으로 풀어줘야한다. 수정 내용은 아래 이미지 참고) 수정했다면, 리눅스 시스템을 다시 올린다. $sudo shutdown -r 추가로, config 파일에 discovery.seed_hosts로 호스트 설정도 해줘야 한다. 이렇게 외부 호스트를 열고 실행시, 내부에서는 이제 localhost로는 접속이 안되고,..

이진 분류를 위한 머신러닝 예측 성능 비교 - 로지스틱 회귀, 랜덤포레스트, 부스팅, 신경망

딥러닝 신경망 모형이 언제나 이길까? 본 분석은 머신러닝 모델의 예측 성능을 비교함으로써 딥러닝(다층 신경망)이 언제나 만능일 수 없음을 검증하고자 한다. 물론 신경망의 경우 Hyper-parameter 튜닝 및 딥러닝에 최적화된 Feature Engineering을 통해 미세한 성능 개선이 가능하지만, 단순 이진 분류의 경우에 딥러닝보다 빠른 속도와 우수한 성능을 보여주는 가벼운 머신러닝 모델을 쉽게 찾을 수 있음을 보여주기 위함이다. 그럼, 자연스럽게 가설을 하나 설정해두고 분석을 진행하도록 하겠다. 1. 가설 설정 및 데이터 분포 확인 귀무가설 : 동일한 데이터로 동일한 정규화 과정을 거쳤을 때 머신러닝 모델 중 신경망 알고리즘의 성능이 가장 우수하다. 연구가설 : 동일한 데이터로 동일한 정규화 과..

과거 주가 데이터로 미래 주가를 예측할 수 있을까? - 파이썬 시계열 패턴 검색

Step 0. 패턴 검색 이번에는 현재 차트와 유사한 차트를 찾아서 매매에 활용하는 패턴 검색을 파이썬으로 구현해보자. 패턴 검색은 과거 주가에서 현재 주가와 유사한 패턴을 관측한 다음, 과거 주가 이후의 흐름을 확인하는 것을 통해 앞으로의 주가를 예상해보는 방식이다. Step 1. 코스피 종가 가져오기 2010년부터 현재까지의 데이터를 스크리닝한다. 즉, 유사한 패턴을 관측하는 가장 먼 시점은 2010년이다. Step 2. 기준 구간 확인 종가만 추출해서 검색하고자 하는 현재 주가의 패턴을 확인한다. 여기서 현재 주가는 6월 2일까지만 확인한다. 마지막에 6월 2일 이후 주가를 그려보면서 패턴 검색 방식의 예측을 검증해보기 위함이다. 코스피는 올해 1월에 급락 후 횡보하는 모습을 보인다. 이와 유사한 ..

광고 프로모션 효율 증진을 위한 커머스 고객 세분화 - (2) 고객 군집 분석

"분석이 먼저, 머신러닝은 그다음" 분석이 먼저가 된 다음 머신러닝을 조미료처럼 얹어보는 것은 훌륭한 선택이다. 반대로 분석에 대한 이해가 부족한 상태에서 머신러닝을 사용한다면 해석에 오류를 덮어쓰게 되고 데이터 분석이 주는 설득의 이점을 잃게 만든다. 끝에서 한번 더 언급할텐데, 이 점을 유의하고 분석을 따라가다 보면 결론과 함께 앞으로 머신러닝을 어떻게 사용하면 좋을지 가늠할 수 있다. 데이터의 차원(칼럼)이 많을수록 고객을 분류할 기준을 찾기가 복잡해진다. 사람의 머리로는 4차원 이상의 데이터는 상상하기 어렵고 시각화 차트로 분포를 확인할 수도 없다. 이런 상황에서 머신러닝은 차원 수가 많더라도 그들 관계에 대한 가장 설명력이 높은 최적의 패턴을 찾아내는데, X와 Y를 연결하는 복잡한 식을 찾아낼 ..

광고 프로모션 효율 증진을 위한 커머스 고객 세분화 - (1) 문제 상황 가정 및 데이터 전처리

"데이터"가 아니라 "문제"를 먼저 보는 연습 이번 분석은 임의의 문제 상황을 가정하고 데이터를 통해 문제를 해결할 방법을 찾는다. 처음에는 의식적으로 '데이터'에 집중하게 되는데 본문에서 일부러 상황과 문제를 계속해서 강조했다. 그러니 '문제'에 집중해보자. '문제'를 이해하면 데이터는 자연스럽게 눈에 들어온다. 특히 후반부에 집단 군집 분석을 진행할 텐데, 이를 위해 머신러닝도 사용해볼 예정이다. 목차 ___ Step 1. 문제 상황 가정 및 데이터 전처리 1-1. 라이브러리 호출 및 데이터 확인 1-2. 일부 컬럼 제거 1-3. 컬럼명, 데이터타입 형식 통일 1-4. 현재 날짜 가정 1-5. 이상치 처리 1. 문제 상황 가정 및 데이터 전처리 지금부터 우리는 이커머스 스타트업의 데이터 분석가다. 상..