numpy
-
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..
-
배열 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, 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..