데이터사이언스/데이터 지식 7

기하평균과 로그변환의 관계

안녕하세요! 이번에 일주일에 최소 1개씩 데이터 지식 글을 써보기로 마음 먹었습니다. 그중 첫번째 글이 되겠네요.첫번째 주제는 기하평균과 자주 사용했던 "로그 스케일링"과 연결 지을 수 있다는 점이 재밌어 작성해보려고 합니다.사실 어렵지도 않고 엄청난 발견도 아니지만 가볍게 글을 써보기엔 좋을 것 같아 주제로 선정하게 되었습니다 ㅎㅎ기하평균이란 무엇일까?기하평균은 여러 수치를 곱한 뒤 n제곱근을 취하는 방식으로 계산하는 평균입니다. 곱셈적 관계를 다룰 때 특히 유용합니다.\[\text{Geometric Mean} = \left( \prod_{i=1}^{n} x_i \right)^{1/n}\] 기하평균은 다음과 같은 상황에서 많이 활용됩니다:연간 성장률 (CAGR, Compound Annual Growth..

정규화 vs 표준화

1. Feature Scaling사용되는 피처들이 모두 비슷한 영향력을 행사하도록 값을 변환해주는 방법임.스케일링을 하지 않으면 중요한 특성임에도 다른 특성에 가중치를 주게됨→ 피처의 스케일이 심하게 차이가 나는 경우 값이 큰 피처가 더 중요하게 여겨질 수 있기 때문더보기[피쳐 스케일링에 영향을 받는 알고리즘들]1. 경사하강법 기반의 알고리즘Linear regression, Logistic Regression, Neural Network 등경사하강법에서 x값은 경사하강법의 단계의 크기에 큰 영향을 미치므로, 경사 하강이 최소값으로 이동하고, 하강 단계가 모든 특징에 대해 동일한 속도로 업데이트 되도록 하기 위해 피처 스케일링이 필요함. 2. 거리 기반 알고리즘KNN, K-means, SVMDistance..

SHAP(Shapley Additive exPlanations) 총정리

1. SHAP SHAP(Shapley Additive exPlanations)머신러닝 모델의 예측 결과를 해석하기 위한 방법론모델과 상관없이 전체 데이터에서의 변수 중요도(Global explainer)와 개별 예측값에 대한 각 변수들의 영향력(Local explainer)을 제공⇒ Shapley Value라는 개념을 기반으로 하며, 협력적 게임 이론에 근거한 수학적 개념2. Shapley Value2.1 계산식$\phi_{i}=\frac{1}{|N|!}\sum_{S \subset N-\{i\}}|S|!(|N|-|S|-1)!\,[v(S\cup\{i\})-v(S)]$$\phi_{i}$: 특정 변수의 Shapley Value$i$: 관심 있는 변수 집합$S$: 관심 변수가 제외된 변수 부분 집합$N$: 전체..

pytorch gpu 설정 & autogluon gpu 연결 방법

진짜 오랜만에 글을 적어봅니다.최근 저는 여러 대회에서 높은 성능을 보였던 autogluon을 자주 사용하고 있었습니다.평상시에는 노트북으로 작업하다보니 gpu를 연결할 일이 없었는데요.이번에 회사에서 매장별 메뉴 판매량 예측 프로젝트를 진행하면서 gpu 연결이 필요하게 되었습니다. 이전에 pytorch gpu 연결 경험은 여러번 있어서 비슷한 방식으로 진행하면 될 것이라고 생각했는데 조금 고생했네요..ㅎㅎ모든 세팅까지 4-5시간 정도 걸린 것 같습니다,, 이 글을 보시는 분들은 시간 아끼시길 바라는 마음으로 작성합니다. pytorch gpu 연결과 관련한 자료들은 여러 글들이 많습니다. 이곳에는 제가 진행한 작업들만 남겨놓겠습니다.본인 gpu와 맞는 분이 작성한 글 그대로 따라하시면 편해..

합성사진 제작(% 설정)

import cv2 import numpy as np weight = 0.5 img1 = cv2.imread('C:/Users/yunse/images/myData.png') img2 = cv2.imread('C:/Users/yunse/images/bag_cartoon.png') img1 = cv2.resize(img1, (300,400)) img2 = cv2.resize(img2, (300,400)) img_merged = cv2.addWeighted(img1, weight, img2, 1-weight, 0) cv2.imshow('Display', img_merged) cv2.waitKey(0) cv2.destroyAllWindows() 트랙바로 조절하는 것과 큰 차이는 없지만 트랙바에 사용될 함수를 따..

합성 사진 제작(트랙바로 조절)

import cv2 global img1, img2 # 두 이미지를 프로그램의 전체에서 사용할 수 있도록 한다. def on_change_weight(x): #상단 트랙바 막대가 움직이게 되면 이 함수가 호출된다 weight = x / 100 # x값이 0에서 100사이이므로 100으로 나눠서 0에서 1사이 값으로 바꿔준다. img_merged = cv2.addWeighted(img1, 1-weight, img2, weight, 0) #addweighted 사용해서 투명도 조절 cv2.imshow('Display', img_merged) cv2.namedWindow('Display') cv2.createTrackbar('weight', 'Display', 0, 100, on_change_weight) #..

주피터 opencv 파일 경로명

이번 데이터사이언스 프로그래밍 강의를 해주시는 교수님께서 영상처리를 전문으로 하시는 분이라 정말 간단하게 파이썬으로 하는 영상처리를 조금 배우게 되었다. 코드를 짜면 결과물이 보이니까 좋았다던 교수님의 말씀을 따라 나도 혹시 흥미가 있을까 싶어 열심히 코드를 쳐봤었다. 그러나 집에 와서 혼자 해보려고 하니 이미지를 어떻게 불러오는 것인지 많이 헷갈렸다. 아무리 찾아도 내 이미지가 불러와지지 않는 이유를 찾을 수 없었어서 혼자 깨닫게 된 것을 정리하고자 한다. import cv2img_gray = cv2.imread("C:/Users/yunse/images/mandrill.png", cv2.IMREAD_GRAYSCALE)img_color = cv2.imread("C:/Users/yunse/images/ma..