728x90
반응형

Python 21

[python] Class, __init__, 상속

# 함수를 사용하지 않은경우 메이플스토리로 예시를 들어보자면 D_name = "듀얼블레이드" D_HP = 1000 D_MP = 200 print("{0} 캐릭터가 생성되었습니다.".format(D_name)) print("체력 {0}, 공격력 {1}".format(D_HP,D_MP)) 듀얼블레이드 캐릭터가 생성되었습니다. 체력 1000, 공격력 200 A_name = "아델" A_HP = 900 A_MP = 150 print("{0} 캐릭터가 생성되었습니다.".format(A_name)) print("체력 {0}, 공격력 {1}".format(A_HP,A_MP)) 아델 캐릭터가 생성되었습니다. 체력 900, 공격력 150 # 함수를 사용한 경우 위와 같은 코드를 함수를 이용해서 간략하게 작성을 해보면 d..

python 2023.02.15

[pythonML] 정밀도와 재현율 - 평가

# 평가 지표 -회귀 평균 오차 -분류 정확도 오차행렬 정밀도 재현율 F1스코어 ROC AUC 3. 정밀도와 재현율 (Precision과 Recall) 불균형한 데이터 세트에서 정확도보다 더 선호되는 평가 지표 positive 데이터 세트의 예측 성능에 초점을 맞춘 평가 지표 재현율과 정밀도 모두 TP를 높이는 데 동일한 초점임 BUT 재현율은 FN을 낮추고, 정밀도는 FP를 낮추는데 초점 가장 좋은 성능 평가는 재현율, 정밀도 모두 높은 수치를 얻는 것. 반면 둘 중 하나만 높고 하나만 낮은 결과일 경우 바람직하지 않음) 정밀도 = TP / (FP +TP ) 정밀도가 더 중요한 경우 : 실제 Negative 음성인 데이터 예측을 Positive 양성으로 잘못 판단하게 될 경우 ( ex. 스팸메일이 아닌..

pythonML 2022.07.11

[pythonML] 정확도와 오차행렬 - 평가

# 평가 지표 -회귀 평균 오차 -분류 정확도 오차행렬 정밀도 재현율 F1스코어 ROC AUC 1. 정확도(Accuracy) 정확도(Accuracy) = 예측 결과가 동일한 데이터 건수 / 전체 예측 데이터 건수 불균형한 레이블 값 분포에서는 "정확도만으로" 성능 수치를 사용해서는 안되고 여러가지 분류지표와 함께 적용해야한다. # 타이타닉 정확도 타이타닉 데이터 전처리 import pandas as pd from sklearn.preprocessing import LabelEncoder # Null 처리 함수 def fillna(df): df['Age'].fillna(df['Age'].mean(),inplace=True) df['Cabin'].fillna('N',inplace=True) df['Embar..

pythonML 2022.07.10

[python] apply lambda

lambda 란? def get(x): return x**2 get(3) 9 위의 함수는 def get(x) 와 같이 함수명, 입력 인자를 먼저 선언한 후 return But, lambda는 이러한 함수의 선언과 함수 내의 처리를 한 줄의 식으로 쉽게 변환하는 식. get = lambda x : x**2 get(3) 9 apply lambda titanic_df['Name_len']=titanic_df['Name'].apply(lambda x : len(x)) titanic_df[['Name_len','Name']] apply lambda ( if ~ else 문) lambda 식에서 if ~ else 문을 쓸 때 유의 할점 => if 절의 경우 if 식보다 반환 값을 먼저 기술해야 함 (child if x

python 2022.05.30

[pythonML] 회귀- LinearRegression

# LinearRegression 클래스 LinearRegression 클래스는 예측값과 실제값의 RSS 를 최소화해 OLS 추정 방식으로 구현한 클래스이다. class sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True,n_jobs=1) -입력파라미터 fit_intercept : intercept(절편) 값을 계산할 것인지 말지를 지정함. (False이면 y축좌표가 0) normalize: True이면 회귀를 수행하기 전에 데이터 세트를 정규화 함. -속성 coef_ : fit() 메서드를 수행했을 때 회귀 계수가 배열 형태로 저장되는 속성. shape =( Target값 개수, 피처 개수) inte..

pythonML 2022.05.09

[pythonML] 부스팅(Boosting) - GBM /AdaBoost

# 부스팅(Boosting) : 여러 개의 약한 학습기를 순차적으로 학습,예측 하면서 잘못 예측한 데이터에 가중치 부여를 통해 오류를 개선해 나가면서 학습하는 방식. 즉, 약한 알고리즘 => 강한 알고리즘 # 부스팅의 대표적인 구현 2가지 1. 에이다 부스트 AdaBoost (Adaptive Boosting) : 오류 데이터에 가중치를 부여하면서 부스팅을 수행하는 알고리즘. 잘못 분류된 오류데이터에 가중치를 계속하여 부여함 => 부여한 가중치들을 결합하여 예측을 수행 2. 그래디언트 부스트 (GBM-Gradiant Boost Machine) : 가중치 업데이트를 경사 하강법(Gradiant)을 이용함 - 경사하강법 : 반복 수행을 통해 오류를 최소화할 수 있도록 가중치의 업데이트 값을 도출하는 기법 분류..

pythonML 2022.04.01

[python] 결정 트리 시각화 Graphviz 설치

결정 트리 알고리즘이 어떠한 규칙을 가지고 트리를 생성하는지 시각적으로 보기 위해 Graphviz 을 설치합니다. Graphviz는 파이썬으로 개발된 패키지가 아니기 때문에 파이썬 기반의 모듈과 인터페이스 해주기 위해서 Graphviz를 설치한 후 파이썬과 인터페이스 할 수 있는 파이썬 래퍼(Wrapper)모듈을 별도로 설치해야 합니다. 1. https://graphviz.org/download/ 에서 운영체제에 맞는 설치 파일을 다운로드하여 설치합니다. 2. 설치 후 Anaconda Prompt 을 관리자 권한으로 들어간 후 Graphviz 파이썬 래퍼 (wrapper) 모듈을 설치합니다. pip 명령어를 사용하여 graphviz 모듈을 설치합니다. (pip install graphviz 를 입력) 3..

python 2022.03.20

[pythonML] 레이블 인코딩(label encoding) / 원-핫 인코딩(one hot encoding)- 데이터 전처리

# 데이터 전처리 기본 데이터 전처리 사항 결손값 / 문자열 값 처리 이상치 제거 피처 선택 데이터 인코딩 레이블 인코딩 원-핫 인코딩 피처 스케일링 StandardScaler MinMaxScaler # 결측값 -Null값이 얼마 되지 않는다면=> 피처의 평균값, 중앙값, 최빈값 같은 값 넣기 -Null값이 대부분 => 해당 피처 drop 만약 중요도가 높은 피처이고, Null을 피처의 평균값으로 대체할 경우 예측 왜곡이 심할 수 있다면 더 정밀한 대체 값을 선정해야 함 사이킷런의 머신러닝 알고리즘은 문자열 값을 입력 값으로 허용X => 모든 문자열(카테코리형, 텍스트형) 값을 인코딩해서 숫자형으로 변환필수 # 데이터 인코딩 : 레이블 인코딩(label encoding) / 원-핫 인코딩(one hot ..

pythonML 2022.03.04

[pythonML] K-fold / stratifiedKFold - 교차검증

# 교차검증은 언제 사용하는가? 1) 데이터셋이 부족할 때 2) 데이터 클래스가 불균형 할 때 3) 하나의 학습/ 검증 데이터로 이루어진 모델은 학습데이터에만 과적합되었을 가능성이 높음 하지만 여러차례 나누는 교차검증 방식을 통해 전체 데이터 전 범위를 학습하고, 검증 데이터로 성능을 평가함으로써보다 일반화된 모델을 생성할 수 있음. # 과적합 : 모델이 학습데이터에만 과도하게 최적화되어, 실제 예측을 다른 데이터로 하게 되면 예측 성능이 과도하게 떨어지는 것을 의미함 # 교차검증(cross validation) - 과적합 방지! 1. k폴드 교차 검증(K-fold cross vaildation): k개의 데이터 폴드 세트를 만들어서 k번만큼 각 폴드 세트에 학습과 검증 평가를 반복적으로 수행하는 방법이..

pythonML 2022.03.02
728x90
반응형