본문 바로가기

분류 전체보기226

주성분 분석(Principal Component Analysis, PCA) 주성분 분석(Principal Component Analysis, PCA)은 다차원 데이터를 저차원으로 축소하거나 주요 정보를 추출하는 데 사용되는 통계적 기법입니다. PCA는 데이터의 차원을 줄이면서 데이터의 구조와 분산을 최대한 보존하려는 목적을 가지고 있으며 주로 데이터 압축, 시각화, 패턴 인식 및 머신러닝 모델에서의 전처리 단계로 활용됩니다. PCA를 주요 단계와 개념 데이터 준비: PCA를 적용할 다차원 데이터를 준비합니다. 이 데이터는 각 데이터 포인트(예: 관측값)가 여러 개의 특성(예: 변수)으로 구성되어 있어야 합니다. 데이터 표준화: 각 특성의 스케일을 맞춰야 합니다. 이는 데이터의 단위 차이를 해결하고 PCA가 모든 특성을 고르게 고려할 수 있게 해줍니다. 공분산 행렬 계산: 데이터.. 2023. 9. 8.
[NumPy] bincount np.bincount는 NumPy 라이브러리에서 제공하는 함수로, 주로 정수로 이루어진 어레이(배열)의 값들을 세는 데 사용됩니다. 이 함수는 주어진 어레이 내의 각 정수 값의 등장 횟수를 반환합니다. np.bincount 함수의 시그니처는 다음과 같습니다. numpy.bincount(x, weights=None, minlength=0) x: 정수로 이루어진 1차원 어레이(배열)입니다. 이 어레이 내의 값을 세어서 반환합니다. weights (선택적): 각 요소에 대한 가중치를 나타내는 1차원 어레이(배열)입니다. 기본값은 None으로, 모든 요소의 가중치가 1로 간주됩니다. 가중치를 제공하면 각 요소가 해당 가중치로 곱해진 후 계산됩니다. minlength (선택적): 반환되는 결과 어레이의 최소 길이.. 2023. 9. 8.
[NumPy] where np.where 함수는 NumPy 라이브러리에서 제공되는 유용한 함수 중 하나로, 조건에 따라 배열 내의 값을 검색하거나 변경하는 데 사용됩니다. 이 함수의 시그니처와 기능에 대해 설명해보겠습니다. numpy.where(condition, [x, y]) condition: 조건 배열 또는 조건식입니다. 이 배열 또는 조건식의 원소가 True인 위치의 값을 검색하거나 변경할 때 사용됩니다. x (선택적): 조건 배열의 원소가 True인 경우 반환할 값을 지정합니다. 이 매개변수를 생략하면 condition 배열 내에서 True인 원소의 인덱스를 반환합니다. y (선택적): 조건 배열의 원소가 False인 경우 반환할 값을 지정합니다. 이 매개변수를 생략하면 condition 배열 내에서 False인 원소의.. 2023. 9. 8.
[conda] 가상환경 모듈 정보 파일 가상 환경의 명세 파일은 환경에 설치된 패키지와 모듈의 목록을 포함하고 있으므로, 이를 다른 환경에 적용하여 동일한 환경을 재현할 수 있습니다. environment.yml 생성 가상 환경의 명세 파일을 내보내려면 다음 명령어를 사용합니다. conda list --export > environment.yml 위 명령어를 실행하면 environment.yml이라는 파일이 생성됩니다. 이 파일에는 현재 활성화된 가상 환경에 설치된 패키지 및 모듈 정보가 저장됩니다. environment.yml 적용 이제 environment.yml 파일을 다른 환경으로 가져와서 동일한 환경을 구성하려면 다음 명령어를 사용합니다. conda create --name --file 위 명령어를 실행하면 environment.ym.. 2023. 9. 8.
Density clustering Density clustering은 데이터 포인트의 밀도를 기반으로 클러스터를 형성하는 비지도 학습 기술입니다. 이 방법은 주어진 데이터 세트에서 비슷한 밀도를 가진 데이터 포인트를 같은 클러스터로 그룹화합니다. Density clustering은 데이터 내에서 밀도가 높은 지역을 찾고, 이 지역을 클러스터로 간주하며, 다른 밀도가 낮은 지역과 구분합니다. Density clustering의 주요 개념과 특징은 다음과 같습니다: 밀도 (Density): Density clustering은 주어진 데이터 공간에서 각 데이터 포인트 주변의 밀도를 측정합니다. 이것은 주변에 얼마나 많은 데이터 포인트가 있는지를 나타내며, 밀도가 높은 지역은 클러스터의 후보가 됩니다. 핵심 포인트 (Core Points): 밀.. 2023. 9. 8.
[NumPy] choose() np.choose 함수는 NumPy 라이브러리에서 제공하는 함수 중 하나로, 배열에서 선택하고자 하는 인덱스 배열을 기반으로 새로운 배열을 생성하는데 사용됩니다. 주로 다른 배열의 값을 선택하여 새로운 배열을 생성하는 데에 활용됩니다. 함수의 일반적인 형식은 다음과 같습니다. numpy.choose(choices, choices_list) choices: 선택하려는 인덱스를 담고 있는 배열입니다. choices_list: 선택 옵션(배열 또는 값)을 담고 있는 리스트입니다. 이 리스트의 각 요소는 선택 가능한 값 또는 배열을 나타냅니다. choices 배열의 각 요소는 choices_list에서 해당 인덱스에 해당하는 값을 선택하게 됩니다. choices 배열의 모든 요소에 대해 선택 작업이 수행되어 새.. 2023. 9. 8.
계층적 클러스터링 함수 from scipy.cluster.hierarchy import linkage # linkage() : 응집형 계층적 클러스터링 수행 from scipy.cluster.hierarchy import dendrogram # dendrogram() : 클러스터의 계층 구조를 표현 from scipy.cluster.hierarchy import fcluster from sklearn.cluster import AgglomerativeClustering 위의 코드에서 사용되는 함수들은 모두 계층적 클러스터링과 관련된 작업을 수행하는 데 사용되는 함수들입니다. 계층적 클러스터링은 데이터 포인트를 계층적으로 그룹화하여 클러스터 간의 유사성을 표현하는 방법 중 하나입니다. 이러한 함수들은 계층적 클러스터링을 수행하고.. 2023. 9. 8.
계층적 군집화(Hierarchical Clustering) 계층적 군집화(Hierarchical Clustering)는 데이터 포인트를 계층적으로 그룹화하는 클러스터링 기술 중 하나입니다. 이 방법은 데이터를 트리 구조로 나타냅니다. 즉, 작은 군집이 큰 군집을 포함하는 계층 구조를 형성합니다. Hierarchical Clustering은 데이터 간의 유사성을 기반으로 군집을 형성하며, 이러한 유사성은 거리나 연결성을 기준으로 측정됩니다. Hierarchical Clustering은 크게 두 가지 방법으로 수행됩니다. 병합 군집화 (Agglomerative Clustering) 이 방법은 각 데이터 포인트를 개별 군집으로 시작하고, 각 단계에서 가장 가까운 군집을 병합하여 더 큰 군집을 형성합니다. 이 과정은 모든 데이터 포인트가 하나의 큰 군집으로 합쳐질 때까.. 2023. 9. 8.
[NumPy] newaxis np.newaxis는 NumPy에서 배열의 차원을 추가하는데 사용되는 특별한 인덱싱 표기입니다. 이를 사용하면 기존 배열의 차원을 변경하거나 추가 차원을 만들 수 있습니다. 예를 통해 설명하겠습니다. 가정해 봅시다, 우리에게 다음과 같은 1차원 NumPy 배열 X와 스칼라 c0가 있다고 가정합시다. import numpy as np X = np.array([1, 2, 3, 4, 5]) c0 = 2 이제 우리는 np.linalg.norm(X - c0, axis=1)와 [np.newaxis]를 함께 사용하여 배열의 차원을 변경할 수 있습니다. 그러나 axis=1은 1차원 배열에서는 의미가 없으므로, 이 예제에서는 이를 무시할 것입니다. result = np.linalg.norm(X - c0, axis=1)[.. 2023. 9. 8.