분류 전체보기 8

Mac M1 tensorflow, pytorch 설치하는 방법, Miniforge 사용하기

로컬에서 모델을 돌릴일이 없어서 환경구축을 안하고 있었는데, 오랜만에 M1에서 tensorflow를 설치하고 import하니 zsh: illegal hardware instruction 오류가 떴다. conda install tensorflow하면 되는건 줄 알았는데 아직 안되는 것 같다. 검색해 보니 tensorflow 2.4 정식 버전이 intel mac(아마도 로제타버전)하고만 호환이 되는 것 같고 이외에도 pip로 설치할 수 없는 패키지들이 많다. 2020년 12월 글인데 아직도 그렇다니 .. 언젠간 호환되겠지.. 그래서 대략 8시간동안의 삽질을 통해 구축한 conda installer중 miniforge를 사용한 방법을 공유하고자 한다 : ) 그냥 코랩쓰거나 서버쓰는게 마음편할 것 같지만 혹시 ..

Deep Learning/etc 2021.06.15

[Kafka] Producer and Consumer

카프카는 메시지 송신 API인 producer와 메시지 수신 API인 Consumer로 분리되어 구성되어 있는 메시징 시스템입니다. 카프카는 queue based system이기 때문에 데이터 베이스를 queue 형식으로 사용하면 비슷한 기능을 구현할 수 있을 것으로 생각됩니다. 카프카의 장점 중 하나가 데이터를 처리해야하는 애플리케이션을 여러개 구축할 수 있고 각 애플리케이션 마다 다른 규칙을 가질 수 있다는 점 입니다. kafka는 queue based system인 동시에 pub-sub system이기 때문에 이런 부분에서 용이한 것으로 보입니다. Pub-sub messaging을 통해서 모들 에플리캐이션이 동일한 데이터에 access할 수 있게 됩니다. 다음 자료는 Kafka Pub-sub 시스템..

Data Engineering 2021.06.07

[파이썬] 문자열 f-string 포매팅

파이썬 에서는 문자열을 포매팅 하기 위한 3가지 방법이 있다. 1. % formatting 2. str.format() 3. f-string 평소에 str.format()을 주로 사용했는데 3가지 중 f-string이 가장 가독성이 좋고 효율적인 표현 방법이라고 한다! 기본 사용 1) f-string을 출력을 위해 파이썬의 모든 이름을 참조할 수 있다. 2) 참조할 이름을 {}안에 넣어준다. 3) 출력하고자 하는 문장을 f 접두사를 붙여 표현한다. string1 = 'password' value1 = 100 float1 = 1.23456 f_string = f'{string1} is {value1}' print(f_string) >>> 'password is 100' 함수, 수식 등 표현 아래와 같이 {..

[docker] M1 Mac 에서 docker 실행 해보기

세션에서 VMware/VirtualBox 설치 후 Ubuntu환경에서 docker를 실행한는 것을 권장 했는데 (아마도) M1 맥에서는 아직까지 가상환경을 지원하지 않는 것 같다. 그래서 local에 직접 docker를 설치 한 후 실습해 보았다. 1. 도커 설치 www.youtube.com/watch?v=wsg7wrTbBRk www.docker.com/blog/download-and-try-the-tech-preview-of-docker-desktop-for-m1/ Download and Try the Tech Preview of Docker Desktop for M1 - Docker Blog Apple has recently shipped the first Macs based on the new Ap..

Data Engineering 2021.02.05

[DL] RETAIN 모델 논문정리 / interpretable AI

RETAIN : An Interpretable Predictive Model for Healthcare using Reverse Time Attention Mechanism (NIPS 2016) 병원에서 인턴을 하면서 알게되었고 실제로 빅데이터 콘테스트에 참여하며 적용해 보았던 RETAIN을 정리해보았다! EHR 데이터는 high-demensional clinical variables, sequential한 데이터이다. (e.g., 진단기록, 처방기록) 환자가 방문했을 때에 처방 또는 진단받은 기록이 남게 되는데 기존의 통계모델, 머신러닝 기법으로는 진단을 받은 시기와 진단의 종류 사이의 관계를 모두 학습하지 못한다는 단점이 있다. sequential한 데이터에 강세를 보이는 RNN 모델을 사용해서 예측..

Deep Learning/NLP 2020.11.11

[통계]편향 데이터 해결을 위한 Penalized likelihood logistic regression 소개/Firth's penalized/logisf

| rare event logistic regression 약물 부작용, 불량품 , 사고, 상품 조회 등과 같이 전체 사건 대비 event의 수가 작은 binary outcome 데이터에 대해 logistic regression을 수행하는 경우 각 변수의 $\beta$값을 추정하는데 있어 정밀도가 떨어지는(over estimate) 문제점이 있다. 특히 이런 rare event의 경우 적절한 처리를 해주지 않으면 머신러닝 알고리즘을 사용하더라도 향상된 결과를 기대하기 어려운데 그 이유가 대부분의 결과를 major한 class로 예측하기 때문이다. 머신러닝 알고리즘에서는 샘플링(SMOTE, under sampling, over sampling) 등으로 해결하는 접근이 가장 유명하지만 이번엔 샘플링이 아닌 ..

통계/개념 2020.06.09

[DL] RNN(Recurrent Neural Network) / LSTM(Long short term Memory)

기상, 주가, text 데이터와 같이 시간축을 따라 순서대로 나열되어 있는 데이터를 시퀀스 데이터라고 부른다. 이러한 경우 각 입력 데이터 뿐만아니라 입력 데이터의 순서 또한 또다른 형태의 정보를 가지고 있다. 이런 특성을 고려하여 Recurrent Neural Network는 이전의 본 샘플을 기억하고 이를 기반으로 새로운 이벤트를 처리할 수 있도록 한다. | RNN & Feed Foward 신경망 단순하게 입력층이 은닉층으로 흐른후 출력층으로 전달되는 피드포워드 신경망과 다르게 순환 신경망은 이전 스텝의 출력이 다음 스텝의 입력층으로 흐르게 된다. 그림으로 표현하자면 다음과 같다. 그림을 보게 되면 A라는 RNN모델에서 은닉층의 각 유닛은 두개의 화살표를 받게 된다.(입력이 두개) 입력층으로 부터 받..

Deep Learning/NLP 2020.06.09