728x90
반응형

전체 글 112

[pythonML] ROC곡선과 AUC , F1스코어 - 평가

# 평가 지표 -회귀 평균 오차 -분류 정확도 오차행렬 정밀도 재현율 F1스코어 ROC AUC 4. F1 스코어 정밀도와 재현율을 결합한 지표. F1 스코어는 정밀도와 재현율이 어느 한쪽으로 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가짐. ex) A : 정밀도0.9 재현율0.1 B: 정밀도 0.5 재현율 0.5 이 경우 F1 스코어는 A:0.18 / B: 0.5 로 B가 더 높다. from sklearn.metrics import f1_score f1 = f1_score(y_test , pred) print('F1 스코어: {0:.4f}'.format(f1)) F1 스코어: 0.7805 def get_clf_eval(y_test , pred): confusion = confusion_matr..

pythonML 2022.07.11

[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

[오류Error] 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte

문제 상황Python의 Pandas 라이브러리를 사용하여 CSV 파일을 불러오는 과정에서 다음과 같은 인코딩 오류가 발생했습니다.train = pd.read_csv("산림청 산림항공본부_진화헬기 투입 산불건수_20201231.csv", encoding="UTF-8")오류 원인이 오류는 파일이 UTF-8이 아닌 다른 인코딩 방식으로 저장되었을 때 발생합니다. 한국에서 많이 사용되는 인코딩 방식 중 하나인 CP949로 파일이 저장된 경우, UTF-8로 읽으려고 할 때 이런 문제가 발생할 수 있습니다. 해결 방법파일의 인코딩을 'UTF-8'에서 'cp949' 로 지정하여 파일을 올바르게 읽을 수 있습니다. 코드는 다음과 같이 수정할 수 있습니다.train = pd.read_csv("산림청 산림항공본부_진화헬기..

오류Error 2022.05.21

[python] stack & unstack

damn = pd.DataFrame({'대청':[36.477629,127.480822], '용담':[35.945119,127.524596], '보령':[36.248082,126.645782], '밀양':[35.462742,128.928952], '보현산':[36.126778,128.949904]}) damn stack : 컬럼(column) => 인덱스(index) 컬럼에 있는 댐이름들을 인덱스로 옮김 damn.stack() 0 대청 36.477629 용담 35.945119 보령 36.248082 밀양 35.462742 보현산 36.126778 1 대청 127.480822 용담 127.524596 보령 126.645782 밀양 128.928952 보현산 128.949904 dtype: float64 un..

python 2022.05.19

[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

[python] axis=0 axis=1

매번 헷갈려서 적어보는 포스팅.......................... axis=1은 행방향(가로방향) 인데 drop함수(열방향)에서만 예외다 라고 외워야 겠다................ import pandas as pd df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=["col1", "col2", "col3", "col4"]) df # mean, sum, max, min 등등 에서 axis=1 은 행방향(가로방향) df.mean(axis=1) # 행의 평균 (가로) 0 1.0 1 2.0 2 3.0 dtype: float64 # drop 에서 axis=1 은 열방향(세로방향) df.drop('col1', axis=1) ..

python 2022.04.18
728x90
반응형