목록PYTHON (61)
도찐개찐

머신러닝의 모델평가 일반적으로 머신러닝은 데이터 가공/변환(전처리) 모델 학습/예측 평가의 과정을 거침 앞의 타이타닉 예제에서 모델의 평가는 정확도만 사용했음 한편, 머신러닝의 예측성능의 평가방법은 다양함 회귀 - R^2, MSE평균제곱오차 분류 - 혼동(오차)행렬, 크로스엔트로피, 최대우도, ROC, AUC, F1스코어 정확도의 함정 앞의 타이타닉 생존자 ML예제의 정확도는 평균 80%였음 그런데 정확도 지표만으로 ML 모델의 성능을 파악하기에는 다소 문제가 있음 - 왜곡의 위험 즉, 탐색적 분석을 시행했을때 성별을 기준으로 생존비율은 여성일 때가 더 높았음 따라서, 굳이 ML 알고리즘을 적용하지 않아도 성별이 여성일 경우 생존, 남성일 경우 사망이라고 예측해도 크게 무리 없음 단순히 성별 조건 하나만..
import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn 데이터전처리 머신러닝 알고리즘을 익히는 것 못치 않게 데이터 전처리 역시 중요한 과정 중에 하나 무엇보다 머신러닝 알고리즘을 적용하기 전에 데이터에 대해 미리 처리해야 하는 기본사항이 존재 결측치 처리 NaN, Null은 허용되지 않음 원핫인코딩 머신러닝 알고리즘들은 문자열값을 데이터의 입력값으로 허용하지 않음 따라서, 모든 문자열값은 인코딩해서 숫자형으로 변환해둬야 함 한편, 텍스트 데이터들은 벡터화해서 처리 머신러닝을 위한 인코딩은 레이블인코딩 과 원핫인코딩 등이 있음 레이블 인코딩 범주형값을 숫자형값으로 변환함 from sklearn.preproc..
머신러닝으로 타이타닉 생존자 예측하기 다양한 머신러닝 알고리즘을 이용해서 교차검증 방식으로 모델을 훈련시키고 예측 정확도를 통해 평가해 봄 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn from sklearn.preprocessing import LabelEncoder from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import Rando..
훈련과 테스트 데이터 머신러닝 모델을 만들기 위해서 데이터집합이 필요 과적합을 방지하기 위해 데이터를 훈련/테스트 데이터로 나누고 교차검증 방식으로 모델을 만들어 성능을 평가함 훈련데이터 : 모델 추정및 학습이 목적 테스트데이터 : 모델 성능 평가가 목적 분할 비율은 7:3 또는 8:2로 설정 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn train/test 분할 없이 분석하는 경우 from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accurac..

sklearn 파이썬 기반 쉽고 효율적인 머신러닝 라이브러리 제공 머신러닝을 위한 다양한 알고리즘 제공 데이터셋, 데이터전처리, 지도/비지도학습, 모델 선택/평가 등을 위한 모듈 제공 scikit-learn.org # !pip install scikit-learn import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn sklearn.__version__ '1.1.3' scikit-learn에서 제공하는 데이터셋 확인 load : 내장된 데이터셋 불러옴 fetch : 인터넷을 통해 내려받는 대량 데이터 make : 확률분포에 근거해서 생성하는 가상 데이터 from sklearn.datasets import l..
인공지능의 정의 인간의 지능을 기계로 구현하는 모든 형태 인공지능의 범위 인공지능 > 머신러닝 > 딥러닝 인공지능 구현방식 초기에는 지식전달방식으로 구현 개발자가 기계에게 일반적인 규칙을 알려줌 심한 변환의 양상에는 잘 대처하지 못함 기호주의(rule-based) 후기에는 데이터중심으로 구현 데이터를 중심으로 기계가 학습(규칙/패턴인식)한 뒤 새로운 데이터를 통해 예측/분류함 훈련을 위한 많은 양질의 데이터가 필요 연결주의(신경망이용) 머신러닝 컴퓨터가 경험을 통해 학습할수 있도록 프로그래밍하되 세세하게 프로그래밍 해야하는 번거로움에서 벗어나게 하는 것 머신러닝 알고리즘 지도학습 : 데이터와 레이블(정답)을 통해 훈련 수행 분류 : 범주형데이터, 이진분류, 다항분류 ex) 개,고양이 사진 분류, 스팸분류..

import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib as mpl import seaborn as sns from sklearn.datasets import load_boston from sklearn.datasets import fetch_california_housing from statsmodels.formula.api import ols fontpath = '/home/bigdata/py39/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/NanumGothic.ttf' fname = mpl.font_manager.FontProperties..

회귀분석 상관분석은 변수들이 얼마나 밀접한 관계를 가지고 있는지 분석하는 통계적 기법 한편, 회귀분석은 (상관분석 + 예측)하는 통계적 기법 수량형 값을 예측하는데 주로 사용되는 통계적 모형 즉, 두 변수간의 선형(직선)관계를 식으로 표현하고 독립변수 $x$가 주어지면 종속변수$y$의 값이 얼마인지 추정 독립변수와 종속변수 사이의 관계를 선형방정식으로 나타낸 것을 회귀방정식이라 함 $ \hat y = ax + b + \epsilon $ $a$ : 기울기 $b$ : 절편 $\epsilon$ : 오차, 잡음(noise) 회귀직선을 그릴때는 최소제곱법 이라는 수학적 기법을 이용하는데, 이는 두 변수의 선형관계를 계량화 한 것임 $$ a = \frac{\sum(x_i - \bar x)(y_i - \bar y)}..