일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 차원축소
- NumPy
- Design Pattern
- 넘파이 기초
- lambda
- 코딩테스트실력진단
- 데이터 마이닝
- 넘파이
- 코테
- 자바
- ack
- c++
- java
- 클러스터링
- 디자인 패턴
- 합성곱 신경망
- numpy 기초
- 넘파이 배열
- Machine Learning
- python
- 데이터 분석
- 파이썬
- 코드트리
- 머신러닝
- 코딩테스트
- cpp class
- 네트워크 기초
- 기계학습
- OOP
- cpp
- Today
- Total
목록Programming/Machine learning (23)
준비하는 대학생
나이브 베이즈(Naive Bayes) 분류기는 지도 학습의 한 종류로, 베이즈 정리(Bayes' theorem)에 기반한 분류 알고리즘입니다. 특히 텍스트 분류, 스팸 메일 필터링, 감성 분석 등 다양한 분야에서 활용되며, 간단하고 빠르게 구현할 수 있다는 장점이 있습니다. 이 글에서는 나이브 베이즈 분류기의 원리와 활용에 대해 자세히 알아보겠습니다. 1. 베이즈 정리란? 나이브 베이즈 분류기의 기반이 되는 베이즈 정리는 확률 이론에서 가장 중요한 개념 중 하나입니다. 베이즈 정리는 사전 확률(prior probability)을 조건부 확률(conditional probability)을 사용하여 사후 확률(posterior probability)로 업데이트하는 방법을 제공합니다. 수식으로 나타내면 다음과..

KNN(K-Nearest Neighbors) 이란? KNN 알고리즘은 이름에서도 알 수 있듯이 가장 가까운 이웃을 찾아 분류하는 방법입니다. KNN은 새로운 데이터 포인트를 가장 가까운 'K개'의 이웃에 따라 분류하는데, 이웃의 범주 중 가장 많은 수를 가진 범주로 새로운 데이터 포인트를 분류합니다. KNN 알고리즘의 주요 단계는 다음과 같습니다. K값 설정 데이터 포인트 간 거리 측정 새로운 데이터 포인트와 가장 가까운 K개의 이웃 찾기 다수결로 새로운 데이터 포인트의 클래스 결정 Python을 사용한 KNN 분류 먼저 필요한 라이브러리를 설치하고 가져옵니다. !pip install numpy pandas matplotlib scikit-learn import numpy as np import pand..

PCA(주성분 분석) 개요 PCA는 다변량 데이터의 차원을 축소하면서 정보 손실을 최소화하는 방법으로, 데이터의 분산을 최대한 보존하는 새로운 축(주성분)을 찾아 원래 데이터를 이 주성분에 투영함으로써 차원을 축소합니다. 이를 통해 데이터의 중요한 정보를 유지하면서 차원을 줄이고, 시각화 및 기계 학습 알고리즘의 성능을 향상할 수 있습니다. PCA의 과정은 다음과 같습니다. 데이터 전처리: 데이터를 표준화(평균 0, 표준편차 1)하거나 정규화(최소값 0, 최댓값 1)하여 스케일을 조정합니다. 공분산 행렬 계산: 데이터의 공분산 행렬을 계산합니다. 공분산 행렬은 변수 간의 선형 관계를 나타내며, 이를 통해 데이터의 분포와 구조를 파악할 수 있습니다. 고윳값 및 고유벡터 계산: 공분산 행렬의 고윳값과 고유벡..

K-means 알고리즘 K-means 알고리즘은 가장 간단하면서도 널리 사용되는 클러스터링 알고리즘 중 하나입니다. 이 알고리즘은 데이터를 K개의 클러스터로 나누는 방법으로 동작합니다. K-means 알고리즘의 동작 과정은 다음과 같습니다. K개의 클러스터 중심점(centroid)을 임의로 선택합니다. 각 데이터 포인트들을 가장 가까운 클러스터 중심점에 할당합니다. 할당된 데이터 포인트들의 평균값을 계산하여 새로운 클러스터 중심점을 업데이트합니다. 2-3단계를 반복합니다. 클러스터 할당이 변하지 않거나, 미리 정한 반복 횟수에 도달하면 알고리즘이 종료됩니다. K-means 알고리즘의 단점 중 하나는, 초기 클러스터 중심점의 위치가 무작위로 결정되기 때문에, 다른 결과를 도출할 수 있다는 것입니다. 따라서..

1. K-means 클러스터링이란? K-means 클러스터링은 군집분석의 한 방법으로, 데이터를 비슷한 특징을 가진 그룹으로 나누는 기법입니다. K-means 클러스터링은 각 데이터 포인트와 그룹의 중심 간의 거리를 측정하여 가장 가까운 그룹에 할당하는 방식으로 동작합니다. 이를 반복하여 그룹의 중심을 업데이트하고, 그룹 간의 거리를 줄여나가며 클러스터를 형성합니다. K-means 클러스터링은 비계층적인 방식으로 동작하며, 클러스터의 개수를 미리 지정해주어야 합니다. 클러스터의 개수는 사용자가 정해주어야 하며, 적절한 클러스터 개수를 선택하는 것이 중요합니다. 2. K-means 클러스터링 예시 K-means 클러스터링 예시를 보겠습니다. 먼저, 필요한 라이브러리들을 import합니다. import nu..

1. 군집분석이란? 군집분석은 데이터를 비슷한 특징을 가진 그룹으로 나누는 기법으로, 데이터 분석 및 기계학습 분야에서 많이 활용됩니다. 군집분석을 통해 비슷한 특성을 가진 데이터끼리 그룹으로 묶어서 특성을 파악하고, 그룹 간의 차이점을 분석하여 새로운 인사이트를 얻을 수 있습니다. 2. 계층적 클러스터링이란? 계층적 클러스터링은 군집분석의 한 방법으로, 데이터를 계층적으로 묶어가며 클러스터를 형성하는 방법입니다. 데이터 포인트들을 가장 가까운 클러스터로 묶어나가며, 클러스터 간의 거리를 계산하여 계층적으로 클러스터를 형성합니다. 이렇게 계층적으로 클러스터를 형성하면, 데이터의 유사도를 시각화하기 쉽고, 데이터를 보다 잘 이해할 수 있게 됩니다. 계층적 클러스터링은 두 가지 방법으로 나눌 수 있습니다. ..
1. 난수 생성의 기본: random.rand()와 random.randn() NumPy의 random 모듈에서 가장 기본적인 난수 생성 함수는 random.rand()와 random.randn()입니다. 1.1. random.rand() random.rand() 함수는 0과 1 사이의 균일 분포(uniform distribution)를 따르는 난수를 생성합니다. 인자로는 원하는 배열의 크기를 지정합니다. 예시 import numpy as np # 0과 1 사이의 난수 생성 rand_num = np.random.rand(3, 3) print(rand_num) 결과 [[0.42656567, 0.707024 , 0.93653248], [0.1935818 , 0.56052649, 0.59793347], [0...
1. 슬라이싱 기본 개념 파이썬에서 슬라이싱은 리스트, 튜플, 문자열 등의 시퀀스 자료형에서 연속된 범위의 데이터를 추출하는 기능을 제공합니다. 슬라이싱은 다음과 같은 형식으로 사용합니다. sequence[start:stop:step] 여기서 start는 시작 인덱스, stop은 종료 인덱스, step은 간격을 나타냅니다. start와 stop은 생략 가능하며, 생략 시 기본적으로 start는 0, stop은 시퀀스의 길이로 설정됩니다. step은 생략 가능하며, 생략 시 기본적으로 1로 설정됩니다. 2. NumPy 확장 슬라이싱 NumPy에서는 기본 슬라이싱 기능을 확장하여 다차원 배열에서도 적용할 수 있습니다. 각 축(axis)에 대해 슬라이싱을 적용하여 다양한 형태의 데이터를 추출할 수 있습니다. ..