본문 바로가기

전체 글101

결측치 통계 쉽게 확인하기! python missingno 패키지로 결측치 시각화 하기(nullity correlation, null count) 데이터 칼럼이 큰데, 단순히 df.isna().sum()으로 확인하는 것은 너무 복잡할 뿐이다. 게다가 칼럼별 결측치 뿐만 아니라, 행으로도 봐야 하지않겠는가?이럴 때 missingno가 유용하다!!import matplotlib.pyplot as pltimport missingno as msnomsno.matrix(df_train)plt.show()실행결과는 아래와 같다. ㅠㅠ 너무 간편하고 좋다!! 물론 당연히 칼럼별로도 할 수 있다!msno.bar(df_train)plt.show() heatmap 함수와 dendrogram함수를 사용하면 결측간의 상관관계를 의미하는 nullity correlation을 확인할 수 있다.  msno.heatmap(collisions)msn.. 2024. 4. 27.
(3)로지스틱 회귀분석(Logistic regression): 파이썬 실습(Python) 코드 실습 from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score import 문은 위와 같다! - `train_test_split`: X와 y 값에 대해 input을 넣으면 이를 test 용과 train용으로 나눠주는 역할의 함수이다. random_state값을 fix 하게 되면 seed 가 고정되어서 결과를 동일하게 나오게 할 수 있다. - accruracy_score : 알다시피 정확도이다! X_train, X_test, y_train, y_test = train_test_split(X, y,.. 2024. 4. 14.
(2)로지스틱 회귀분석(Logistic regression)이 가지고 있는 이야기: MLE(Maximum Likelihood Estimation)& GLM & 손실함수 이번 글에서는... 로지스틱 모형에서 회귀계수를 구하는 방법 GLM과 링크함수 최대우도법 로지스틱 회귀모형의 손실함수 왜 최대우도추정법(MLE)로 회귀 계수를 구하는 걸까? 선형 회귀분석은 최소제곱법을 통해 해를 추정해 내지만, 로지스틱은 최대우도법을 통해 회귀 계수를 구한다. 어차피 해가 무한대인 식을 시그모이드 함수에 넣어 0~1 범위로 값을 변환하는데 왜 선형 회귀분석과 다르게 MLE(Maximum Likelihood Estimation, 최대 우도추정)을 사용해서 추정하는걸까? 앞선 글에서 로지스틱 회귀분석의 Y 값은 1에 해당할 확률을 의미한다고 적었는데, 이는 응답이 1인 로그 오즈비의 추정치를 말한다! 이렇게 한번 보면 어떨까? 일반 선형 회귀방정식: 결과값(y)을 관찰함 로지스틱 회귀모형:.. 2024. 4. 13.
[docker] Error saving credentials: error storing credentials - err: exec: "docker-credential-desktop.exe": executable file not found in $PATH, out: `` azure cloud registry에 접속하기 위해서 docker login을 셋팅하려고 하는데, 제목과 같은 에러가 나타났다. $ az acr login -n my-registry Error saving credentials: error storing credentials - err: exec: "docker-credential-desktop.exe": executable file not found in $PATH, out: `` Login failed. 알고 보니 docker의 credential 정보를 저장하는 경로의 매핑이 잘못되어 있어 생긴 문제이다. home 경로로 이동하여 `.docker/config.json` 에서 credsStore부분을 지워주니 해결되었다. { "auths": { "f.. 2024. 3. 13.
python으로 주식시장 휴장일, 거래일 정보를 수집하기 ( krx, us - finter 패키지) list(iter_days(20231223, 20231231, exchange="krx", date_type=3)) 파이썬으로 거래일 정보를 가져올 수 있는 패키지를 발견했다. ! pip install finter 퀀팃이라는 스타트업에서 만든 퀀트 연구 코딩 인터페이스 인데, 거래일 휴장일 기능을 무료로 제공한다고 해서 가져왔다. 보통 pandas bdate는 미국 영업일에 대해서만 있었는데, 한국거래소랑 미국 가능한 캘린더 기능은 나쁘지 않은 것 같다. ( 그마저도 주식시장 휴일이 갑자기 나온 경우 없을 때도 있다 ) 코드를 호출해 보니 현재 연도 +1년에 대한 데이터를 제공하는 것 같다 import from finter.framework_model.calendar import ( iter_tradin.. 2024. 3. 8.
swagger codegen 을 이용해 api를 python sdk로 만들기 ./run-in-docker.sh mvn package 기본 전제 1. docker 가 깔려 있음 2. api 개발이 완료되어 있고, 해당 내용이 https://apiurl/docs/swagger에 예쁘게 반영되어 있다는 점!! swagger를 쓰는 다양한 방법들이 있는데, 여기서는 docker를 사용한 방법을 적고자 한다. docker 를 이용한 swagger codegen 1. https://github.com/swagger-api/swagger-codegen 프로젝트를 로컬에 clone 한다. git clone https://github.com/swagger-api/swagger-codegen.git 2. 내가 필요한 버전의 브랜치로 이동한다 ( 저는 3.0.0으로 진행) git checkout -.. 2024. 3. 8.
cloudfront에서 api 요청 쿼리문 로그 수집하기 CloudFront를 통한 로깅에서 API 호출 시 토큰이나 쿼리 스트링을 로그에 포함시키는 것은 가능하다!!! Cloudfront쿼리 스트링 포함시키기 CloudFront 배포의 [ Behavior(동작) ] 파트에서 설정이 진행된다. 동작파트에서 로깅하고 싶은 동작을 선택한 후 [ 편집 ]으로 들어간다! 이후 캐시 키 및 원본 요청 부분에서 원하는 옵션을 선택한다. 나의 경우는 쿼리문자열을 수집하고 싶었기 때문에 쿼리문자열 부분을 [ 모두 ] 로 선택하였다. 그 뒤 다시 [ 일반 ] 파트로 돌아와서 표준로깅 기능을 켜줄 것! 이 부분에서 원하는 버킷과 로그의 접두사 설정이 가능하다 2024. 3. 4.
Ubuntu에 Docker 설치하기 + docker 권한 부여 및 gcp vm 디버깅 실행환경 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 # 우분투 버전 Codename: focal # 배포판 이름 => 도커 설치 시 codename이 사용된다! $ lsb_release -cs # Codename만 추출 focal 우분투 apt-get update sudo apt-get update 관련 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common apt-transport-https ca-cer.. 2024. 3. 1.
(1)로지스틱 회귀분석(Logistic regression)이 가지고 있는 이야기: Binary classification, 오즈비와 로짓변환(odds ratio and logit function) (참고: 나 문과임) (이번글의 키워드: 오즈비, 확률, 일반회귀방정식!) 로지스틱 회귀분석이 풀고자 하는 문제 : 결과값 P를 통한 이진분류 Binary Classification 로지스틱 회귀식의 결과값은 확률 P이다. 확률의 범위는 0과 1사이에 해당한다! 그렇다면 확률을 바탕으로 풀 수 있는 문제는 어떤게 있을까? 주로 이진 분류 문제를 해결할 수 있는 것이다! (Binary Classification) 로지스틱 회귀모형의 예측 y에 대해 범위의 그래프는 좌측 그래프와 같다. 보면 시그모이드 함수와 거의 유사해보이지 않는가? 기본적인 시그모이드 형태의 x값에 회귀방정식이 들어가기 때문에 모양도 똑같다. 일반 회귀분석에서는 예측값 yhat의 범위는 사실상 무한대 이다. 우리가 풀고 싶은 문제는 분류.. 2024. 2. 28.
[ADP] 제32회 데이터분석 전문가(ADP)-20240224 필기 후기 or 반성!!! (붙었는진 모름) 2024.2.24!!! ADP 시험을 보았다. 주절주절 후기! 를 적고 반성으로 삼을지 성공의 후기로 삼을진 아무도 모르리 ( 점수 안나옴) 준비 기간 및 공부는 시간은 어떻게 분배했나? 시험은 약 1달 정도 준비했다. 첫 3주 정도는 2~3일에 1번 3시간 정도(좀 풀렸었다), 나머지 1주는 매일 5시간(주로 7~1시)씩 공부했었던 것 같다. 마지막 2주는 친구들이랑 구글밋에 들어가서 서로 감시하고, 유튜브로 장작타는 소리 틀고 공부했었는데 이게 공부 집중이 엄청 잘되었다 ㅋㅋ 고딩들이 왜 열품타 하는지 깨달음.... 그런데 나는 잠을 무조건 8시간은 자야하는 스타일이라서, 마지막 2주 정도는 아침에 컨디션 관리가 어려웠다. 회사가 10시까지 출근이라 다행이었다. 책은?? ADP는 많은 사람들이 보는 .. 2024. 2. 26.
TIL 20231102 CULL 의 뜻: - "CULL"은 주로 데이터 정리 또는 선택적 데이터 삭제와 관련된 작업 클라우드 서비스에서 리전이 갖는 의미 - 각 리전은 독립적인 데이터 센터 및 컴퓨팅 리소스로 구성 HELM의 역할: Helm은 Kubernetes 애플리케이션을 관리하기 위한 패키지 관리자 및 배포 도구입니다. Helm은 Kubernetes 리소스 및 애플리케이션을 패키지화하고 관리하는데 사용됩니다. Helm은 Kubernetes 클러스터에서 애플리케이션을 손쉽게 배포, 업그레이드 및 롤백할 수 있도록 돕는 도 아래와 같은 주요 역할을 합니다: 패키지 관리: Helm은 "차트"라고 하는 패키지 형식을 사용하여 Kubernetes 애플리케이션 및 리소스를 패키지화합니다. 차트는 애플리케이션 구성, 서비스, 배포, .. 2023. 11. 2.
gcloud ModuleNotFoundError: No module named 'CommandNotFound' ~$ gcloud Traceback (most recent call last): File "/usr/lib/command-not-found", line 27, in from CommandNotFound.util import crash_guard ModuleNotFoundError: No module named 'CommandNotFound' 위와 같은 에러는 환경변수 경로를 지정하지 못해 발생하는 것인데, source '[path-to-my-home]/google-cloud-sdk/path.bash.inc' source '[path-to-my-home]/google-cloud-sdk/completion.bash.inc' 를 .bashrc에 추가하여도 좋다. 2023. 11. 2.