상관 계수(Correlation coefficient) 중 하나인 피어슨 상관 계수(Pearson Correlation Coefficient)의 개념에 대해 정리했습니다. 2022. 5. 23 최초작성 상관 계수 상관 계수는 두 변수 간의 연관성 강도를 측정합니다. 본 글에서는 상관 계수 중 하나인 피어슨 상관 계수에 대해 알아봅니다. 피어슨 상관 계수는 두 변수 간의 선형 연관 강도를 측정합니다. 피어슨 상관 계수 피어슨 상관 계수는 두 변수 간의 선형 연관 강도를 측정합니다. 상관 계수의 범위는 항상 -1과 1 사이입니다. 계수의 부호는 관계의 방향을 알려줍니다. 양수 값은 두 변수가 같은 방향으로 함께 변경됨을 의미하고 음수 값은 두 변수가 반대 방향으로 변경됨을 의미합니다. 양의 상관관계는 한 변..
다음 링크의 글을 보면서 정규 분포(Normal Distribution)에 대한 개념을 정리한 문서입니다. 추가로 연속 확률 분포(continuous probability distribution)에 관한 내용을 더 찾아서 넣었습니다. https://medium.com/analytics-vidhya/normal-distribution-and-machine-learning-ec9d3ca05070 2022. 7. 12 최초작성 정규 분포 정규 분포(Normal Distribution) 또는 가우스 분포(Gaussian Distribution)는 연속 확률 분포(continuous probability distribution)입니다. 곡선의 중앙에 점선으로 표시한 데이터의 평균을 중심으로 곡선이 양쪽으로 50%..
아래 링크들을 참고하여 랜덤 포레스트에 대해 간단히 정리했습니다. https://www.section.io/engineering-education/introduction-to-random-forest-in-machine-learning/ https://wooono.tistory.com/104 2022. 10. 13 최초작성 랜덤 포레스트(random forest) 랜덤 포레스트는 회귀(regression) 및 분류(classification) 문제를 해결하는 데 사용할 수 있는 머신 러닝(machine learning) 기법입니다. 여러 개의 의사 결정 트리(decision trees)로 구성되는데 각각의 의사 결정 트리는 출력 결과를 내놓습니다. 최종 결과를 얻기 위해 앙상블 기법중 하나인 배깅(bag..
미분을 사용하여 사인 곡선과 노이즈 추가한 사인 곡선의 노이즈 양을 측정하는 파이썬 코드입니다. 2023. 6. 17 최초작성 import numpy as np import matplotlib.pyplot as plt np.random.seed(0) x = np.linspace(0, 10, 100) y = np.sin(x) noise_y = np.sin(x) + np.random.normal(0, 0.3, size=x.size) # 미분 값 계산 dy = np.gradient(y, x) noise_dy = np.gradient(noise_y, x) # 노이즈 체크 (값의 절대값의 평균) noise_check_y = np.mean(np.abs(y)) noise_check_noise_y = np.mean(n..
train_test_split를 사용하여 데이터셋을 Train 데이터셋과 Test 데이터셋으로 분리하는 예제 코드입니다. 2023. 6. 11 최초작성 아래 링크에 있는 데이터셋의 Train 데이터셋을 분리하여 Train 데이터셋과 Test 데이터셋으로 분리했습니다. https://www.kaggle.com/datasets/andrewmvd/animal-faces 다음 처럼 train 데이터셋과 validation 데이터셋에 cat,dog,wild 클래스별 하위 디렉토리가 위치하고 각각의 파일에 이미지 파일이 포함되어 있습니다. 코드를 실행하면 train 디렉토리에 있는 클래스별 이미지 파일을 지정한 비율로 나누어서 dataset 하위 디렉토리에 train, test 디렉토리에 나누어서 저장합니다. 전체..
Keras 모델( .h5)을 onnx로 변환한 후, OpenCV DNN에서 onnx 모델을 사용해서 추론을 해봅니다. 2022. 10. 25 최초작성 1. MNIST 데이터셋에 대한 모델을 학습시켜 h5 모델 파일로 저장합니다. 코드 출처 https://www.tensorflow.org/tutorials/quickstart/beginner?hl=ko import tensorflow as tf mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ t..
Matplotlib를 사용하여 정규분포를 그려봤습니다. 2021. 12. 11 최초작성 다음 링크를 참고하여 작성했습니다. https://www.geeksforgeeks.org/normal-distribution-plot-using-numpy-and-matplotlib/ https://numpy.org/doc/stable/reference/random/generated/numpy.random.normal.html 포스팅시 문제로 코드를 스크린샷 해야해서 사용한 기본 코드를 따로 제공합니다. import numpy as np import matplotlib.pyplot as plt # 중심 posA = 0 # scale 가로너비 scaleA = 10 # size 높이 sizeA = 10000 np.rand..
FAISS (Facebook AI Similarity Search)의 사용법 및 예제 코드입니다. FAISS는 Facebook AI에서 개발한 라이브러리로 대규모 데이터셋에 대한 빠른 유사도 검색을 할 수 있게 해줍니다. 2023. 10. 03 최초작성 from sentence_transformers import SentenceTransformer import pandas as pd import numpy as np import faiss df = pd.DataFrame([[0, 'I like a apple.'], [1, 'I like a orange.'], [2, 'I like a banana.'], [3, 'I like a pineapple.'], [4, 'I like a melon.']], colu..
multiclass classification에서 클래스별로 ROC curve를 그리는 예제 코드입니다. 2022. 3. 14 최초작성 # https://stackoverflow.com/questions/45332410/roc-for-multiclass-classification # https://moons08.github.io/datascience/classification_score_roc_auc/ from sklearn.datasets import load_iris from sklearn.metrics import accuracy_score, auc, roc_auc_score, roc_curve from sklearn.preprocessing import label_binarize from skle..
다중클래스의 혼동행렬(confusion matrix)을 구하여 클래스별 민감도(sensitivity)와 특이도(specificity)를 구하는 예제코드입니다. 2022. 03. 12 최초작성 from sklearn.metrics import multilabel_confusion_matrix y_true = [0, 1, 2, 0, 1] y_pred = [0, 1, 2, 2, 0] ret = multilabel_confusion_matrix(y_true, y_pred, labels=[0, 1, 2]) tn0, fp0, fn0, tp0 = ret[0].ravel() tn1, fp1, fn1, tp1 = ret[1].ravel() tn2, fp2, fn2, tp2 = ret[2].ravel() sensitivi..