본문 바로가기

전체 글45

[C++] STL 알고리즘: Sort 정렬 알고리즘  O(n^2)1. selection sort(선택 정렬) : [i, n] 범위를 훑으며 가장 작은 원소를 v[i]에 대입하는 걸 반복2. insertion sort(삽입 정렬) : [1, i) 범위가 정렬되어있을 때 v[i]를 앞의 i - 1개의 원소 사이에 끼워넣음3. bubble sort(버블 정렬) : v[i - 1] > v[i]인 경우 swap해주는 걸 n번 반복함 O(n^2) 정렬 알고리즘은 비교적 구현이 간단하고 n ​정렬 알고리즘 O(nlogn)1. merge sort(병합 정렬) : 최악의 경우도 O(nlogn)이라 STL 없이 구현할 때 좋음2. heap sort(힙 정렬) : 최악의 경우도 O(nlogn)이라 STL 없이 구현할 때 좋음3. quick sort(퀵 정렬) .. 2024. 9. 13.
DataScience with Python_L(5) 2024. 8. 19.
DataScience with Python_L(4) PCA (Principal Component Analysis): PCA는 고차원 데이터를 저차원으로 축소하는 기법이다. 데이터의 분산을 최대한 유지하면서, 데이터의 주요 패턴을 찾기 위해 서로 직교하는 새로운 축(주성분)을 생성한다. 이를 통해 데이터의 차원을 줄이고, 노이즈를 줄이며, 시각화나 다른 알고리즘에서의 성능을 향상시킨다.KNN (K-Nearest Neighbors): KNN은 지도 학습 알고리즘으로, 새로운 데이터 포인트의 classification이나 regression를 수행할 때 사용된다. 이 알고리즘은 입력 데이터 포인트의 주변에 있는 가장 가까운 K개의 이웃을 기준으로 클래스를 예측하거나 값을 할당한다. 데이터의 분포를 잘 반영할 수 있는 상황에서 유용하다.Clustering: 클러.. 2024. 8. 19.
음악 장르 분류 librosa를 이용하여 음악의 주파수 스펙트럼과 음높이 분포를 알아냈고 이를 바탕으로 음악을 장르별로 분류하였다.XGBoost Classifier를 사용하여 데이터를 학습시키고 그 특성에 대해 알아보았다. 2024. 7. 29.