전체 글
-
신용평가모형 개발 Process신용평가 2019. 10. 30. 20:38
개인 신용평가모형 개발은 일반적으로 아래와 같이 진행됩니다. 데이터 추출 데이터 전처리 요건정의 모형개발 모형검증 또, 각각 단계는 상세 Step들로 구성됩니다. 데이터 추출 데이터 추출 단계는 분석할 데이터를 모으는 단계입니다. 신용평가 모형 개발자는 본인이 분석할 데이터를 직접 추출할 수 있어야합니다. 보통 전체 Database에서 필요한 Table들을 추출합니다. 직접 데이터를 추출하지 않더라도, 추출 요건을 작성하여 담당자에게 데이터를 요청합니다. 동시에 데이터 적재 환경을 이해하며 추출한 Table 들의 성격 및 Layout을 파악합니다. 일반적으로 추출하는 Table들은 다음과 같습니다. 고객정보: 신청원장, 고객원장, 잔액장 등 연체정보: 일일연체원장 등 모형정보: 심사Input Table,..
-
on implicit filter level sparsity in convolutional neural networks카테고리 없음 2019. 10. 22. 20:45
본 논문은 엄밀한 사유보다는, 실험에 의한 관찰을 정리했다. 그래도 본 논문에서 건질 수 있는 몇 가지 내용만 요약하자면.. L2 Norm와 Weight Decay는 서로 다르다 정규화가 없이는 sparsity가 관찰되지 않는다 adaptive optimizer(Adam, Adagrad, Adadelta)에서 SGD보다 sparsity가 커진다 Sparsity는 L2 Norm > Weight Decay 문제가 어려워질수록(논문예시: CIFAR10 -> CIFAR100) sparsity 감소 Sparsity 뿐만 아니라 Selectivity-Universality를 같이 봐야함 => Selectivity 가 크면 특정 상황에서만 활용되고, Universality가 크면 전체적으로 활용됨 Figure1에서 ..
-
개인 신용평가 모형 개요신용평가 2019. 10. 22. 19:04
신용평가란? 개인 신용평가 모형은 각 개인의 신용도를 평가하여, 신용평점 또는 신용등급을 산출하는 시스템을 의미합니다. 신용이란 약속을 지킬 수 있는 능력을 말하며, 금융시장에서는 채무를 제때 갚을 수 있는 능력이나 직접 채무를 얻는 행위를 말합니다. 신용평가 구분 신용평가는 크게 개인 신용평가와 기업 신용평가로 구분할 수 있습니다. 개인 신용평가는 소매(retail) 금융에서의 신용을 평가하고, 기업 신용평가는 기업(business, commercial) 금융에서의 신용을 평가합니다. 기업 신용평가는 다시 소기업(SOHO: Small Office Home Office) 신용평가와, 일반기업(corporate) 신용평가로 구분됩니다. 소기업(SOHO) 신용평가의 경우 회계 감사를 받지 않으므로 신뢰할 수..
-
python으로 구현한 간이 단변량분석 fineclassing신용평가 2019. 10. 18. 20:45
신용평가 등의 데이터 분석 시, fineclassing 단변량 분석을 진행한다. fineclassing을 통해 개별 항목의 분포를 확인하고, target과의 관계를 빠르게 살펴볼 수 있기 때문이다. 최근 분석에서 활용한 간이 fineclassing 코드는 다음과 같다. 급하게 만들어서 깔끔하지는 않지만 충분히 실무에서도 쓸 수 있을 것이다. Args: df: 분석데이터 col: 컬럼명 tgt: target 컬럼명, 해당 컬럼은 0/1 binary 형식이어야 함 nbins: 숫자형 변수의 구간수, 숫자만큼 percentile을 계산해서 컬럼 분포를 확인 Return: 요약 결과 DataFrame을 반환 사용 코드: from pandas.api.types import is_string_dtype import..
-
텐서플로우(tensorflow) 2.x 에서 iris dataset 분류하기데이터분석 2019. 10. 17. 21:10
전세계 머신러닝, 딥러닝 개발자들이 가장 많이 사용하는 프레임워크인 tensorflow의 기초 활용 방법에 대해 정리합니다. 01. low-level 단순 예제 tensorflow의 low-level은 직접 텐서를 곱하고, 가중치를 업데이트 하는 등의 상세한 프로세스를 직접 나열합니다. 여기에서는 iris 데이터를 예측하는 간단한 tensorflow 모형을 만들어 봅니다. # iris 데이터셋 활용 from sklearn.datasets import load_iris iris = load_iris() # 데이터 확인 print(iris.keys()) # input, output 분리 X = iris['data'] y = iris['target'] # 개발/검증 분리 from sklearn.model_se..
-
배열 3차원 이상 곱셈데이터분석 2019. 10. 16. 20:55
데이터 프레임워크를 사용하다보면 곱셈시 배열 차원(shape)이 매번 헷깔린다. 그래서 정리를 해보았다. 01. 2차원 곱셈 일단 기본 numpy 행렬곱으로 shape 특성을 이해해본다. 아래 예시에서 확인할 수 있듯이, 2차원의 행렬에서 shape은 (행, 열)을 의미한다. 이 상태에서는 크게 어려울 것이 없다. import numpy as np a = np.array([[1, 0], [0, 1], [1, 1]]) print(a.shape) # (3, 2) b = np.array([[4, 1], [2, 2]]) print(b.shape) # (2, 2) np.matmul(a, b) #array([[4, 1], # [2, 2], # [6, 3]]) 02. 3차원 이상 곱셈 여기서부터 매번 헷깔리기 시작한..
-
sklearn, numpy를 활용한 데이터 차원축소데이터분석 2019. 10. 15. 19:13
가용 변수가 너무 많은 경우 데이터분석 패키지들을 이용해 데이터 차원축소를 진행합니다. 데이터 차원축소는 두 가지 방법이 있습니다. 먼저 변수선택을 통해 차원을 축소할 수 있고, 또 다른 방법은 더 작은 차원으로 특성들을 이동하는 것입니다. 01. PCA (주성분분석) n차원의 데이터 공간에서 가장 분산이 큰 방향의 k차원으로 이동(mapping)합니다(단, n>k). 분산이 큰 방향은 데이터 scale에 민감하므로, PCA를 적용하기 전 표준화 작업이 선행돼야 합니다. PCA의 pseudo code는 아래와 같습니다. 원본 데이터를 표준화합니다. 표준화 또는 정규화된 데이터의 공분산 행렬을 생성합니다. 공분산 행렬에서 고유 벡터(eigenvector)와 고윳값(eigenvalue)을 계산합니다. 고윳값..
-
sklearn, pandas, numpy를 활용한 데이터 전처리데이터분석 2019. 10. 14. 20:01
sklearn, pandas, numpy를 활용하여 데이터 전처리를 진행합니다. 01. 누락값 대체 사이킷런의 SimpleImputer 클래스를 활용하면 누락값을 간편하게 처리할 수 있습니다. 한 번 학습된 Imputer는 새로운 데이터 셋에 대해서도 동일하게 처리를 해주어 편리합니다. train set 기준의 평균, 중간값 또는 최빈값으로 새로운 데이터의 null값을 채웁니다. import numpy as np from sklearn.impute import SimpleImputer # 각 열에서의 최빈값으로 null을 대체 # 대체 전략은 mean, median, most_frequent 가 가능함 ipt = SimpleImputer(missing_values=np.nan, strategy='most..