Python 24

파이썬 : K-Means Clustering,Hierarchical Clustering

K-Means Clustering  K-Means Clustering은 백오피스(Back Office)에서 자주 활용되는 기법이다.예를 들어, 비슷한 특성을 가진 고객 데이터를 그룹화할 때 효과적으로 사용할 수 있다.  K-Means Clustering은 데이터를 K개의 그룹(클러스터)으로 자동 분류하는 비지도 학습 알고리즘으로, 각 데이터 포인트를 가장 가까운 중심점에 할당하고,그룹의 중심점을 반복적으로 업데이트하여 최적의 클러스터를 형성한다. 주로 고객 세분화, 이미지 압축, 이상 탐지 등에 활용되며, 최적의 K값은 엘보우 메서드(Elbow Method)를 통해 결정한다.   이 데이터에서는 고객을 분류할 정답(Y 값)이 없기 때문에 지도 학습(Supervised Learning) 방식으로 학습할 수..

Python/실습 2025.01.31

파이썬 : Decision Tree

Decision Tree  디시전 트리(Decision Tree)는 데이터를 분류하거나 예측할 때 사용되는 모델이며, 랜덤 포레스트(Random Forest)는 이를 개선한 알고리즘이다. 디시전 트리는 비선형적인(Non-linear) 데이터를 다룰 수 있으며, 데이터를 여러 기준으로 나누어 의사 결정을 수행한다. 예를 들어, 특정 기준(예: 60보다 큰 값과 작은 값)을 기준으로 데이터를 두 그룹으로 나누고, 이후 다시 X축을 기준으로 세분화하여 나눈다. 이 과정은 반복적으로 진행되며, 데이터가 점점 세밀하게 분류된다. 하지만 너무 많은 기준을 설정하면 복잡한 모델이 만들어질 수 있으므로, 적절한 깊이(depth)나 가지치기(pruning) 기법을 사용하여 과적합을 방지하는 것이 중요하다.이러한 분할 기..

Python/실습 2025.01.31

서포트 벡터 머신(SVM) 실습: 분류와 정확도 분석

서포트 벡터 머신(Support Vector Machine, SVM)의 작동 원리는 다음과 같다.주어진 데이터에서 X축은 난이도, Y축은 급여(salary)로 설정하며, 구매한 사람은 녹색, 구매하지 않은 사람은 빨간색으로 표시한다고 가정한다. 기존 데이터가 4천만 개 이상 있다면, 모든 데이터가 이 좌표상에 분포할 것이다. 새로운 데이터가 들어오면, 우리는 기존 데이터를 바탕으로 해당 데이터가 구매할 가능성이 높은지(녹색) 아니면 구매하지 않을 가능성이 높은지(빨간색) 예측할 수 있다. SVM은 이러한 예측을 수행하는 모델 중 하나이다. 새로운 데이터가 들어왔을 때, 그 데이터가 기존 데이터 중 어느 쪽(구매함/구매하지 않음)에 가까운지를 판단하여 예측을 수행한다. 만약 명확하게 구분되는 영역에 속한다..

Python/실습 2025.01.31

인코딩 vs 스케일링: 데이터 변환의 핵심 이해하기

인코딩은 데이터를 컴퓨터가 이해할 수 있는 형태로 변환하는 과정으로, 주로 문자형 데이터를 수치형 데이터로 변환할 때 사용된다. 머신러닝 알고리즘은 대부분 수치형 데이터를 처리하기 때문에, 텍스트나 범주형 데이터를 인코딩해야 한다.인코딩을 하는 이유머신러닝 모델 학습을 위해:머신러닝 모델은 텍스트 데이터를 직접 처리하지 못하고, 수치형 데이터만 처리할 수 있다.예를 들어, ['red', 'blue', 'green'] 같은 범주형 데이터를 모델이 이해하려면, 이를 수치형 데이터로 변환해야 한다.알고리즘의 수학적 계산을 위해:머신러닝 알고리즘은 수학적 계산(거리 계산, 경사하강법 등)을 기반으로 작동한다.텍스트 데이터는 수학적 연산이 불가능하므로, 이를 수치형 데이터로 변환해야 계산이 가능하다.데이터 표현의..

Python/이론정리 2025.01.30

회귀 모델 4종 비교: Linear, Logistic, Random Forest, XGBoost

각 알고리즘 간략한 설명과 특징  Logistic Regression (로지스틱 회귀)이진 또는 다중 분류 문제를 해결하는 모델로, 입력 데이터가 특정 클래스에 속할 확률을 예측함.특징: 확률 값(0~1)을 출력하며, 선형적으로 구분 가능한 데이터에 적합하지만, 복잡한 비선형 패턴을 학습하는 데 한다 LinearRegression (선형 회귀) 가장 기본적인 회귀 모델로, 입력 변수와 출력 변수 간의 선형 관계를 가정함.특징: 해석이 쉽고, 과적합(overfitting) 위험이 적지만, 데이터가 선형적이지 않으면 성능이 낮음. RandomForestRegressor (랜덤 포레스트 회귀)여러 개의 결정 트리를 앙상블 방식으로 조합하여 예측하는 모델.특징: 비선형 관계를 잘 학습하며, 노이즈에 강하지만 계..

Python/이론정리 2025.01.30

파이썬 : K-Nearest Neighbor

K-Nearest Neighbor(KNN) 알고리즘은 새로운 데이터 포인트를 분류할 때,기존 데이터 중 가장 가까운 K개의 이웃을 참고하여 분류를 결정하는 지도 학습 방법이다. KNN은 주로 거리 기반 계산을 통해 데이터 간 유사성을 측정하며, 자주 사용하는 거리 척도로는 유클리드 거리가 있다. 새로운 데이터 포인트와 기존 데이터 간의 거리를 계산한다.가장 가까운 K개의 이웃을 선택한다.선택된 이웃들의 다수결 또는 평균을 기반으로 결과를 예측한다.KNN은 구현이 간단하고 이해하기 쉬우며, 분류와 회귀 문제 모두에 사용할 수 있다는 장점이 있다. 그러나 데이터 크기가 크거나 차원이 높은 경우 계산 비용이 증가할 수 있어 적절한 데이터 전처리와 K 값 선택이 중요하다. 1. 결측치 확인 2. 필요데이터 X,..

Python/실습 2025.01.29

파이썬: 수익 예측 인공지능 만들기

1.  비어있는지 확인    2. 엑스 와이 변수 저장하기     3. 문자가 있는지 확인후 있으면 형태변환  문자열 데이터(범주형 변수)는 원-핫 인코딩을 통해 숫자 형태로 변환하며, ColumnTransformer를 사용하면 특정 열만 변환하고 나머지 열은 유지할 수 있다. 변환 결과는 원-핫 인코딩된 열이 왼쪽에, 변환되지 않은 열은 오른쪽에 위치하게 된다.변환된 데이터는 다시 원본 변수에 저장하여 이후 모델 학습에 활용한다.    4.  train & test 분리   5-1. 리니어 방법 인공지능 만든후 학습시키기    5-2. 랜덤포레스트리그레서 (Random Forest Regressor) 로 만들고 학습시키기  랜덤 포레스트 회귀(Random Forest Regressor)는 여러 개의 결..

Python/실습 2025.01.27

데이터 분석의 핵심: Pandas 주요 함수 정리

데이터 분석을 위한 Pandas 주요 함수 정리 Pandas는 데이터 분석과 조작을 위한 강력한 도구를 제공하며, 다양한 함수들을 통해 효율적으로 작업할 수 있다.아래는 데이터를 다루는 데 유용한 Pandas의 주요 함수들을 정리한 내용이다. 데이터 조작 함수add(), sub(), mul(), div(): 각각 덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술 연산을 수행한다.sum(): 값들의 합을 계산한다.mean(): 평균값을 계산한다.prod(): 값들의 곱을 계산한다.abs(): 절댓값을 반환한다.데이터 분석 함수count(): NaN 값을 제외하고 행의 개수를 센다.size(): 요소의 전체 개수를 출력한다.unique(): 고유한 값들을 반환한다.nunique(): 고유한 값들의 개수를 반환한다.va..

Python/이론정리 2025.01.25

경력과 연봉 관계 분석 하는 인공지능 만들기

CSV 파일 읽기데이터를 pd.read_csv()를 사용해 데이터프레임으로 읽어온다.     결측치 확인데이터에 결측치가 있는지 df.isna().sum()을 통해 확인하며, 이 데이터셋에서는 결측치가 없는 것으로 확인된다. 독립변수와 종속변수 설정Salary 열을 **종속변수(y)**로 설정한다.YearsExperience 열을 **독립변수(X)**로 설정하며, .to_frame()을 사용해 데이터프레임 형태로 변환한다.y = df['Salary'] X = df['YearsExperience'].to_frame() 피처 스케일링(Feature Scaling)피처 스케일링은 데이터의 범위를 맞춰 모델 학습 시 변수 간의 크기 차이가 결과에 영향을 주지 않도록 한다.일반적으로 딥러닝 모델에서는 피처 스케일..

Python/실습 2025.01.24

파이썬 : 머신러닝, 데이터 프리프로세싱

머신러닝이란? 머신러닝으로 할 수 있는 일은 손으로 쓴 우편번호의 숫자를 자동으로 판별하고, 의료 영상 이미지 기반으로 질병을 중앙에서 판단하며, 의심되는 신용카드 거래를 감지하고,블로그 글을 주제별로 분류하며, 고객들을 취향이 비슷한 그룹으로 묶는다.문제와 데이터를 이해하기 위해,가지고 있는 데이터가 원하는 문제의 답을 가지고 있는지 확인하고, 문제를 가장 잘 해결할 수 있는 머신러닝 방법이 무엇인지 선택하며,문제를 해결하기에 충분한 데이터를 모았는지 검토하고,머신러닝의 성과를 어떻게 측정할 것인지 계획한다. 이 그림은 머신러닝을 이해하고 활용하기 위한 기본 개념과 알고리즘 분류를 설명하며, 지도학습과 비지도학습으로 나뉘는 두 가지 학습 방법에 대해 각 알고리즘의 주요 활용 사례를 정리한 구조도이다. ..

Python/실습 2025.01.24