분류 전체보기 84

머신러닝with파이썬6강(1)_선형회귀, 릿지회귀

1. 선형회귀 단순 선형회귀와 다중 선형회귀가 있지만 흔히 사용하는 것은 다중 선형회귀입니다. Feature가 한 개인 경우가 드물기 때문에 보통 feature가 두 개 이상인 다중 선형회귀를 만들게 됩니다. 2. 비용함수 데이터와 모델 간의 거리를 계산합니다. 비용함수(cost function) 또는 손실함수, 목적함수라 부르기도 합니다. 오차(error)를 계산합니다. (실제 값과 예측값의 차이) 평균 제곱 오차를 최소화하는 파라미터를 찾습니다. 3. 경사하강법 오차를 찾아 나가는 방식 비용함수의 기울기 절대값이 가장 작은 지점을 찾아서 오차가 작은 모델을 만듭니다. # 라이브러리 불러오기 import pandas as pd from sklearn.model_selection import train_..

언어/파이썬 2024.03.13

머신러닝with파이썬5강(3)_분류모델평가, 회귀모델평가

평가 (분류 모델) 정확도 accuracy: 실제 값과 예측값이 일치하는 비율 정밀도 precision: 양성이라고 예측한 값 중 실제 양성인 값의 비율 (암이라고 예측 한 값 중 실제 암) 재현율 recall: 실제 양성 값 중 양성으로 예측한 값의 비율 (암을 암이라고 판단) F1: 정밀도와 재현율의 조화평균 ROC-AUC ROC: 참 양성 비율(True Positive Rate)에 대한 거짓 양성 비율(False Positive Rate) 곡선 AUC: ROC곡선 면적 아래 (완벽하게 분류되면 AUC가 1임) # 정확도 from sklearn.metrics import accuracy_score accuracy_score(y_test, pred) 코드 실행 -----------------------..

언어/파이썬 2024.03.12

머신러닝with파이썬5강(2)_XGBoost, 교차검증

이번 시간 정리 XGBoost 모델 더 알아보기 트리 앙상블 중 성능이 좋은 알고리즘 eXtreme Gradient Boosting를 줄여서 XGBoost라고 한다. 약한 학습기가 계속해서 업데이트를 하며 좋은 모델을 만들어 간다. 부스팅(앙상블) 기반의 알고리즘 캐글(글로벌 AI 경진대회)에서 뛰어난 성능을 보이면서 인기가 높아짐 1. XGBoost 불러오기 # xgboost from xgboost import XGBClassifier model = XGBClassifier(random_state=0, use_label_encoder=False, eval_metric='logloss') model.fit(X_train, y_train) pred = model.predict(X_test) accuracy..

언어/파이썬 2024.03.11

머신러닝with파이썬5강(1)_의사결정나무, 랜덤포레스트

의사결정나무 이번 시간에는 의사결정 나무 모델에 대해 살펴보도록 하겠습니다. 이번 시간 정리 의사결정 나무모델 지도학습 알고리즘 (분류, 회귀) 직관적인 알고리즘 (이해 쉬움) 과대적합되기 쉬운 알고리즘 (트리 깊이 제한 필요) 1. 라이브러리 및 데이터 불러오기 필요한 라이브러리를 가져오고, sklearn 라이브러리에 내장된 데이터를 불러옵니다 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score 실행 완료 # 데이터 생성 from sklearn.datasets import load_breast_cancer def make_dataset(): iris..

언어/파이썬 2024.03.10

머신러닝with파이썬4강(3)_사이킷런으로 머신러닝 진행하기, 사이킷런 공식문서 사이트

머신러닝 이번 시간에는 사이킷런을 활용해서 머신러닝을 함께 진행해 보도록 하겠습니다. 이번 시간 정리 1. train_test_split -사이킷런의 train_test_split 라이브러리를 활용하면 쉽게 train set(학습데이터셋)과 테스트셋을 랜덤하게 나누어 준다. 2. test_size=0.3 -학습용으로 70%를 두고 30% 데이터는 테스트용으로 둔다. 3. random_state -반복 연산시 일정하게 섞기 위해 사용하며 random값을 고정하여 동일한 결과를 얻을 수 있다. 1. 머신러닝: 분류 아래의 코드 실행 버튼을 눌러 실습을 진행해 보세요! 1) 검증데이터 분리 # 검증데이터 분리 from sklearn.model_selection import train_test_split X_t..

언어/파이썬 2024.03.09

머신러닝with파이썬 4강(2)_데이터전처리: 범주형 데이터, 수치형 데이터

데이터 전처리 : 범주형 데이터 이번 시간에는 데이터 전처리를 시작해 보도록 하겠습니다. 머신러닝은 한글 또는 영어로 된 데이터를 인식할 수 없으므로 범주형 데이터는 숫자로 변환(인코딩)시켜줘야 합니다. 이번 시간 정리 1. type확인 df.info() [리마인드] 판다스의 자료형 object(문자열) : 예) '호수' int64(정수) : 예) 10 float64(실수) : 예) 12.12 2. 레이블 인코딩 le.fit_transform(df['컬럼명']) *한번에 fit과 transform 변환 1 2 # type확인 df.info() 실행 완료 RangeIndex: 9 entries, 0 to 8 Data columns (total 5 columns): # Column Non-Null Count..

언어/파이썬 2024.03.08

머신러닝with파이썬4강(1)_사이킷런 활용하기, 사이킷런에서 제공하는 데이터셋

사이킷런 활용하기 사이킷런은 파이썬을 활용해서 머신러닝을 편하고 쉽게 사용할 수 있게 하는 도구입니다. 영상과 함께 자세히 알아봅시다. 이번 시간 정리 사이킷런이란? 파이썬을 활용한 머신러닝 도구 데이터 분석(예측)을 위한 간단하고 효율적인 도구 누구나 쉽게 다양한 상황에서 활용 가능 오픈소스 사이킷런으로 할 수 있는 것 - 분류 (ex. 스팸메일) - 회귀 (ex. 가격) - 클러스터링 (ex. 고객 세그먼트) - 차원축소 (ex. 변수(컬럼)의 수를 줄임) - 모델 선택 (ex. 모델 튜닝, 평가) - 전처리 (ex. 데이터 가공/변환) 아래의 코드 실행 버튼을 눌러 실습을 진행해 보세요! 데이터 불러오기 노드3에서 만든 'final_modudak.csv'와 동일한 데이터 불러오기 # 데이터 생성 i..

언어/파이썬 2024.03.07

머신러닝with파이썬3강(5)_그룹핑, apply함수

그룹핑 이번 시간에는 그룹핑에 대하여 설명해 드리도록 하겠습니다. 이번 시간 정리 1. 1개 컬럼 기준, 평균값 확인 df.groupby('기준 컬럼명').mean() 2. 다수 컬럼 기준, 평균값 확인 df.groupby(['기준 컬럼명1', '기준 컬럼명 2']).mean() 이제 아래의 코드 실행 버튼을 눌러 실습을 진행해 보세요! 1 2 # 원산지 기준, 평균 df.groupby('원산지').mean() 실행 완료 [63]: 가격칼로리할인율할인가원산지국내산브라질 13128.571429 1328.571429 0.25 10133.333333 14500.000000 1400.000000 0.20 11600.000000 1 2 # 원산지와 할인율 기준, 평균 df.groupby(['원산지','할인율'])..

언어/파이썬 2024.03.06

머신러닝with파이썬3강(4)_내장함수

내장함수 이번 시간에는 다 다루지 못한 내장 함수에 대해 코드와 상세 설명으로 정리를 해 보도록 하겠습니다. 이번 시간 정리 1. 컬럼 기준 데이터의 숫자 세기 -결측치가 있는 데이터는 카운터 함수에서는 체크 되지 않는다. -df.count() 예 : 할인율 컬럼을 기준으로 행단위로 카운트를 진행할때 NaN의 결측치 1개를 제외하여 count 값은 8이다. 예 : 할인가 컬럼을 기준으로 행단위로 카운트를 진행할때 NaN의 결측치 1개를 제외하여 count 값은 8이다. 2. 행을 기준으로 데이터 숫자 세기 -df.count(axis=1) 예: 인덱스 1 행을 열단위로 카운트를 진행할때 NaN의 결측치 1개를 제외하여 count 값은 7이다. 예: 인덱스 8 행을 열단위로 카운트를 진행할때 NaN의 결측치..

언어/파이썬 2024.03.05

머신러닝with파이썬3강(3)_자료형변환, 데이터탐색

자료형 변환 이번 시간에는 자료형을 변환하는 방법을 설명해 드리도록 하겠습니다. 이번 시간 정리 1. type확인 df.info() 2. object(문자열)을 int64(정수) 으로 변경하기 df['컬럼명'] = df['컬럼명'].str.replace('변경전 문자열' , '') replace는 문자열을 변경하는 함수이나 문자열에 변경할 문자열을 입력하지 않을 경우 문자열을 삭제한다. df['컬럼명'] = df['컬럼명'].astype(int) [리마인드]replace 문자열을 변경하는 함수이다. df = df.replace('변경전 메뉴명', '변경후 메뉴명') 더 알아보기 ※ 판다스와 파이썬의 자료형(type) 비교 판다스 -object(문자열) : 예) '호수' -int64(정수) : 예) 10 ..

언어/파이썬 2024.03.04