전체 글(86)
-
[머신러닝] 공모전 추천 시스템(2) - chatGPT OpenAI 활용
OpenAI 패키지 임포트import openai # OpenAI 패키지 임포트import time # 시간 관련 함수 사용을 위해 임포트# OpenAI API 키 설정openai.api_key = ${openai-api-key}OpenAI 활용하여, 전처리된 데이터를 '요약' 하기# 공모전명과 공모전 소개를 요약하여 '요약' 컬럼 생성def make_new_summary(text1, text2): while True: try: # OpenAI GPT-3.5-turbo 모델을 사용하여 요약 생성 completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", # ..
2025.02.28 -
[머신러닝] 데이터가 너무 한쪽으로 치우쳐있는 문제 해결하기 - bin/로그 변환/이상치 제거/Box-Cox 변환
bin이란?bin은 히스토그램(histogram)에서 데이터를 나누는 구간의 개수를 의미히스토그램은 연속적인 데이터를 특정 범위로 나누어 빈도수를 시각적으로 표현하는 그래프Bin 개수(구간 수)가 적으면?너무 뭉뚱그려져서 데이터의 세부적인 분포를 확인하기 어려움Bin 개수(구간 수)가 많으면?너무 세분화되어서 노이즈(noise)가 많아 보일 수 있음📌 bin이 많을 때 노이즈가 증가하는 이유- 과도한 세분화(over-segmentation) - 데이터를 작은 구간으로 너무 많이 나누면, 각 bin에 포함된 샘플 개수가 적어짐. - 샘플 개수가 적으면 작은 변동(랜덤한 노이즈)도 강조되어 패턴이 아닌 우연한 변동(random fluctuation)이 더 도드라져 보임.- 데이터의 변동성이 커 보임 ..
2025.02.28 -
[머신러닝] 회귀 모델 - Linear Regression(선형 회귀)/Bagging Regressor(배깅 회귀)/Boosting Regressor(부스팅 회귀)
카테고리를 예측하면 → 분류 (Classification),숫자 값을 예측하면 → 회귀 (Regression),분류는 특정 클래스(이산적인 값),회귀는 선형적인 변화(연속적인 값) 예측에 사용분류(Classification)정해진 카테고리(클래스) 중 하나를 예측하는 문제 -> 즉, "어떤 그룹에 속하는가?" 를 예측하는 것출력값(Y)이 연속적이지 않고, 특정 클래스 중 하나로 결정됨예측 결과는 0, 1 또는 다중 클래스(예: 개, 고양이, 토끼) 같은 이산값(Discrete Value) 예제 1 : 이메일 스팸 분류입력(X): 이메일의 단어 개수, 링크 포함 여부, 광고성 문구 포함 여부출력(Y): "스팸(1)" 또는 "정상 메일(0)"예제 2 : 암 진단(양성 vs. 악성)입력(X): 종양 크기, 세..
2025.02.28 -
[머신러닝] 하이퍼파라미터 / 최적의 하이퍼파라미터 찾기란 무엇인가? / Random Forest와 하이퍼파라미터
하이퍼파라미터(Hyperparameter)란?하이퍼파라미터(Hyperparameter)는 모델이 학습하기 전에 설정해야 하는 값(설정값, 옵션)모델이 직접 학습하는 것이 아니라, 사람이 설정해야 하는 값 -> 모델의 성능을 조정하는 중요한 역할 하이퍼파라미터 vs 모델이 학습하는 파라미터모델이 학습하는 파라미터 (모델 내부에서 자동으로 학습됨) : 데이터를 보고 자동으로 최적화됨로지스틱 회귀의 가중치(W)와 편향(b)신경망(딥러닝)에서 뉴런 간의 가중치 값하이퍼파라미터 (사람이 직접 설정해야 함) : 학습 전에 사람이 직접 설정해야 하고, 모델이 자동으로 찾지 못함랜덤 포레스트의 n_estimators (트리 개수)KNN의 K 값 (몇 개의 이웃을 볼 것인지)신경망에서 learning rate (학습률)..
2025.02.27 -
[머신러닝] 분류 학습 예측 모델 - KNN / Random Forest / 3가지 모델의 단점 및 원인
K-최근접 이웃 (KNN)KNN은 새로운 데이터가 들어오면 가장 가까운 K개의 이웃을 찾아 다수결로 예측하는 방식1. 새로운 데이터(X_new = (0,0))가 들어옴2. 기존 데이터에서 가장 가까운 3개의 이웃(K=3)을 찾음3. 3개의 이웃 중 다수가 속한 클래스를 예측값으로 선택 [KNN 예측 과정] ( K=3일 때 가장 가까운 이웃 3개 )예를 들어, 주변 3개 데이터 중 2개가 Class 1(악성)이고, 1개가 Class 0(양성)이라면 Class 1(악성)으로 예측📌 KNN의 결정 경계 변화- 기존 데이터가 추가되지 않는 한 결정 경계는 변화하지 않음- 하지만 K 값을 조정하면 결정 경계가 달라질 수 있음 - K=1이면 단순히 가장 가까운 1개의 데이터 기준 - K=10이면 더 부드..
2025.02.27 -
[머신러닝] 분류 학습 모델 - Logistic Regression
로지스틱 회귀(Logistic Regression)를 사용하여 분류(Classification) 문제를 해결하는 과정으로,Confusion Matrix(혼동 행렬)을 출력하여 모델 성능을 평가한다. Logistic Regression : 로지스틱 회귀 1. 데이터 전처리 (StandardScaler 사용)입력 데이터를 표준화하여 모델 학습을 안정화2. 로지스틱 회귀 모델 생성max_iter=200 설정하여 충분히 학습3. 모델 학습 (fit)학습 데이터(X_train_scaled, y_train)를 사용하여 패턴 학습4. 예측 (predict)테스트 데이터(X_test_scaled)를 분류 (0 또는 1)5. 평가 (confusion_matrix)얼마나 정확한지 혼동 행렬을 통해 평가 원본 데이터 (..
2025.02.27