본문 바로가기
반응형

ML15

내배캠 TIL 40일차 심화 프로젝트 관련 1) 결측치 대치 관련 근로기간과 직접적인 연관이 있을 거 같은 연간 소득, 부채 대비 소득 비율, 주택 소유 상태 등을 통해 단순 대치를 시행했다. 2) 중위 등급 판별 관련 대출 등급 분류 모델의 성능은 어느 정도 나왔다. 하지만 팀원들이 제시했던 중위 등급 분류가 약하다는 단점이 있었다. 하지만 현실에서 가장 많은 등급이 중위 등급일 것이기 때문에 그것만을 위한 파생변수를 굳이 만들 이유는 없을 듯 하다 3) 인코딩 관련 아래 이유로 인해 인코딩 방식을 변경하지는 않을 예정이다. (1) shap value 사용이 필수적이지는 않다. feature importance를 통해 각 컬럼의 중요도는 산출 가능하다. 각 컬럼이 등급을 산출할 때에 어떤 작용을 하는 지는 직관적으로 알 수 .. 2024. 2. 15.
내배캠 TIL 39일차 튜터님 피드백 1) 결측치 대치 관련 명목형 변수들이 이루는 비율을 통해 가장 유사한 것으로 대한 접근법 자체는 좋다. 하지만 사용한 명목형 변수들이 대치할 컬럼인 '대출기간'과 직접적인 연관이 없다. 고로 대치할 때, 명목형 변수 외에 몇몇 수치형 변수들 또한 대치의 근거로써 사용하는 것이 좋을 거 같다. 2) 파생 변수 관련 파생 변수를 추가한 논리는 좋다. 조원들의 니즈를 위한 중위 등급 판별을 위한 파생변수를 생각하면 좋을 거 같다. 3) 인코딩 관련 중위 등급을 잘 판별하지 못하는 것이 unique 값이 많은 대출목적을 원핫 인코딩한 것이 원인일 수 있다는 의견을 주셨다. 또 팀원분이 대출 목적을 몇가지 기준에 따라 통합하여 차원을 줄이는 의견도 주셨다. 둘 다 좋은 방법 같다 4) 안정적인 모.. 2024. 2. 14.
내배캠 TIL 38일차 심화 프로젝트 관련 1) 결측치 대치 2) 이상치 제거 4분위수를 사용한 방법은 유실 데이터가 너무 많아 기각. EDS를 사용한 방법 채택. def remove_outliers(train_df, col, threshold=3): mean = np.mean(train_df[col]) std_dev = np.std(train_df[col]) lower_bound = mean - threshold * std_dev upper_bound = mean + threshold * std_dev train_df= train_df[(train_df[col] >= lower_bound) & (train_df[col] 2024. 2. 13.
내배캠 TIL 37일차 심화 프로젝트 1) 결측치 대치 근로기간이 "Unknown"인 것들을 어떻게 대치해야할까. 단순대치를 위해 다른 근로기간의 변수 분포와 비교해보았다. 아래 코드는 근로기간이 "Unknown"인 row의 category_feature의 분포가 어떤 근로기간과 비슷한지 알아본 코드다. sse가 가장 작은 년도로 대치하려는 목적으로 이 코드를 작성했다. 결과는 5로 낙점. regression 이랑 뭐가 다르냐고 할 수 있겠는데, 회귀결과가 5가 많이 나올 수도 있겠지만 5가 아닌 다른 값이 나올 수도 있기 때문에 다르긴 하다. 회귀를 하는 방식 또한 해볼 예정이다 df = pd.read_csv('train.csv') df = df.drop(index=df[df['주택소유상태'] == 'ANY'].index) .. 2024. 2. 8.
반응형