목록전체 글 (22)
Seongho Jang

1. 결측치/이상치 처리 df.isna().sum() df.isna().sum(axis = 1) axis = 0 : column 방향 (각 변수별 결측치 개수) axis = 1 : row 방향 (각 row별 결측치 개수) df.fillna(value = {"Sepal_Length" : df_na["Sepal_Length"].mean()}) 특정 column만 결측치를 수정하고 싶다면, value 뒤에 dictionary 형태로 작성하면 됨 그 외 다양한 method가 있는데 나중에 천천히 읽어보기... value : scalar, dict, Series, or DataFrame Value to use to fill holes (e.g. 0), alternately a dict/Series/DataFram..

의사결정나무 : 의사결정 규칙을 나무 구조로 도식화하여 관심대상이 되는 집단을 몇 개의 소집단으로 분류하거나 예측하는 계량적 분석 방법 Root Node: 모든 자료를 포함하는 의사결정 나무의 출발점 Leaf Node : 최종 결과를 나타내는 마디로 자료들은 더이상 나누어지지 않음 Depth: 뿌리 마디부터 끝 마디까지 중간 마디들의 수 분류 나무: 범주형 목표 변수를 기준으로 마디를 나눔 끝마디에 포함된 자료의 범주가 분류 결과값이 됨 회귀 나무: 연속형 목표 변수를 기준으로 마디를 나눔 끝마디에 포함된 자료의 평균값이 각 끝마디의 회귀값이 됨 의사결정 나무의 알고리즘 : 불순도를 감소시키는 방향으로 분리 = Information Gain이 증가하는 방향으로 분리 불순도 - 범주형 목표 변수 : Gin..
1. KNN (K-Nearest Neighbor) K의 가장 가까운 사례를 Train Data Set에서 찾아 해당하는 데이터의 y값을 기반으로 결과 제시 분류와 회귀 문제를 모두 다를 수 있음 - 분류 문제(Classifier)를 풀 떄는 class 다수결로 결과 class를 예측 - 회귀 문제(Regressor)를 풀 떄는 가중평균값을 결과값으로 예측 K값이 작을수록 overfitting, K값이 클수록 underfitting의 위험이 있음 2. KNeighbors from sklearn.neighbors import KNeighborsClassifier from sklearn.neighbors import KNeighborsRegressor # 분류 model_c = KNeighborsClassif..

1. 로지스틱 회귀 Supervised Learning의 일종으로 입력 데이터에 존재하는 Feature값들과 label 값들의 class간의 관계를 학습하여 새로 관측된 데이터의 class를 예측하는 문제 - 이진 분류: Label 값으로 0/1, Y/N 등과 같이 두 가지 class만 가능 ★ 로지스틱 회귀의 변환 과정 - 임계값: P(Y = 1) > 임계값이면 1로 분류 / P(Y = 1) < 임계값이면 0으로 분류 임계값을 낮추면 민감도가 높아져 오분류가 높아지더라도 Y = 1인경우를 최대한 분류 임계값을 높이면 Precision이 높아져 알파 오류를 최소화 - ROC Curve와 AUC(Area Under the Curve): Negative 중 False Negative를 x축에, Positiv..

1. 베이즈 추정 사후확률을 사전확률과 조건부확률의 결합으로 추정하는 방법 사건 B의 원인을 제공하는 확률 P(A)를 사전확률이라 하고, 사건 B가 일어난 이후의 확률P(A|B)을 사후확률이라 함 2. 나이브 베이즈 Feature들이 모두 동등하게 중요하며 독립적이라는 가정 결론적으로 나이브 베이즈는 분자 (P(A)P(A|B)) 기준으로 숫자가 큰 쪽으로 분류 P(Yes|X) = P(Red|Yes) * P(SUV|Yes) * P(Domestic|Yes) * P(Yes) = 0.6 * 0.2 * 0.5 * 0.5 = 0.024 P(No |X) = P(Red|No) * P(SUV|No) * P(Domestic|No) * P(No) = 0.4 * 0.6 * 0.6 * 0.5 = 0.072 따라서 분류는 No...

1) 정규화/표준화 from sklearn.preprocessing import MinMaxScaler from sklearn.preprocessing import StandardScaler nor_minmax = MinMaxScaler().fit(df_1.iloc[:,:-1]) nor_minmax.transform(df_1.iloc[:,:4]) df_minmax = pd.DataFrame(nor_minmax.transform(df_1.iloc[:,:-1]), columns = df_1.columns[:4]) MinMax Scaler를 사용 fit: 입력 데이터의 형태에 맞춰 데이터를 변환하기 위해 사전 구조를 맞추는 작업 transform: 실제 작업을 수행하는 함수 둘다 뒤에 수행할 데이터셋이 들어간..