언어/파이썬 38

Chapter.01 파이썬 프로그래밍-02. Python 소개/03. Data Type

💡 Python : 데이터 분석, 프로토타입 개발 등에 쓰이는 인기 있는 인터프리터 기반 프로그래밍 언어. Python Welcome to Python.org 1991년에 네덜란드의 프로그래머 귀도 반 로섬(Guido Van Rossum)가 만든 고급 프로그래밍 언어이다. Interpreter-based, OOP, dynamic type binding을 지원한다. 이름은 귀도가 좋아하는 *“Monty Python’s Flying Circus”*에서 따왔다. (실제 python은 뱀이라는 의미) 예시 코드를 보면서 파이썬의 특징에 대해서 좀 더 이야기를 해보자. def say_welcome(name): print(f"Hello World! {name}!") my_name = "yongdam" say_wel..

언어/파이썬 2024.03.17

Chapter.01 파이썬 프로그래밍-01. 프로그래밍이란?

프로그래밍 : 컴퓨터에게 일련의 명령을 수행하는 프로그램을 만드는 과정. 프로그래밍(Programming); 컴퓨터에게 일을 시키자 컴퓨터에게 일을 시키기 위해서는 소통 수단 프로그래밍 언어(Programming Language)가 필요하다. 프로그래밍 언어를 통해서 일을 어떻게 하면 되는지 컴퓨터에게 알려준다. 이 과정 전반을 프로그래밍 또는 코딩(Coding)이라고 합니다. 즉, 컴퓨터 공학은 컴퓨터 일을 잘 시키는 걸 배우는 분야 프로그 래밍의 구성 요소 코드 (Code) - 특정 프로그래밍 언어로 기술되는 텍스트. def say_welcome(name): print(f"Hello World! {name}!") say_welcome("Yongdam") 언어이기 때문에, 문법(Syntax)과 의미론(..

언어/파이썬 2024.03.16

머신러닝with파이썬6강(3)_랜덤포레스트&XGBoost, 하이퍼파라미터 튜닝

랜덤포레스트 & XGBoost 이전 시간에 지도학습(분류) 중 랜덤포레스트 & XGBoost를 다뤄봤는데요. 분류뿐만 아니라 회귀에서도 자주 활용됩니다. 이제 실습을 함께 진행해 보도록 하겠습니다. 이번 시간 정리 [리마인드] 랜덤포레스트 VS XGBoost 1. 랜덤포레스트 여러 개의 의사결정 트리로 구성 앙상블 방법 중 배깅(bagging) 방식 부트스트랩 샘플링 (데이터셋 중복 허용) 최종 다수결 투표 2. XGBoost 트리 앙상블 중 성능이 좋은 알고리즘 eXtreme Gradient Boosting을 줄여서 XGBoost라고 한다. 약한 학습기가 계속해서 업데이트를 하며 좋은 모델을 만들어 간다. 1) 랜덤포레스트 # 랜덤포레스트 from sklearn.ensemble import Random..

언어/파이썬 2024.03.15

머신러닝with파이썬6강(2)_라쏘회귀,엘라스틱넷회귀

라쏘 회귀 이번 시간에는 라쏘 회귀(Lasso regression) 모델에 대해 살펴보도록 하겠습니다. 이번 시간 정리 1. 라쏘 회귀 오버피팅 문제로 규제(regularization)를 적용한 모델 규제 방식: L1 규제 (중요한 피처만 선택하는 특성) L2에 비해 회귀 계수를 급격히 감소시켜 중요하다고 생각하는 피처만 선택하고 나머지는 0으로 만듦 [리마인드] 규제 방식 비교 릿지 회귀 : L2 규제 방식 라쏘 회귀 : L1 규제 방식 (중요한 피처만 선택하는 특성) 1) 라쏘 회귀 # 라쏘 회귀 from sklearn.linear_model import Lasso model = Lasso(alpha=1) model.fit(X_train, y_train) pred = model.predict(X_te..

언어/파이썬 2024.03.14

머신러닝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