목록분류 전체보기 (213)
archive

1. 데이터 전처리-머신러닝 모델에 데이터를 입력하기 위해 데이터를 처리하는 과정-EDA에 따라 달라지는 데이터 전처리-모델, 목적에 따라 달라지는 데이터 전처리 ---> 선형모델? 트리? 딥러닝?-연속형, 범주형 처리 / 결측치 처리 / 이상치 처리 2. 연속형 변수 처리-Scaling: 데이터의 단위 혹은 분포를 변경:선형 기반 모델 (선형회귀, 딥러닝 등)인 경우 변수들 간의 스케일을 맞추는 것이 필수적(1) Scale- 보통 Robust Scaling 이 이상치의 영향을 받지 않는다. (2) Scale + Distribution-로그 변환은 변수의 분포가 왼쪽으로 많이 치우쳐져 있는 경우 이를 정규 분포의 모양으로 변환시켜준다-지수 변환의 경우 이와 반대의 효과를 내게 된다 2. Quantile..

1. EDA 정의- Exploratory Data Analysis, 탐색적 데이터 분석- 데이터를 탐색하고 가설을 세우고 증명하는 과정- 다양한 시각을 통해 데이터를 이해하고 특징을 찾아내는 과정이자, 이러한 특징들을 시각화, 통계량으로 표현하는 과정-데이터를 특징과 문제들을 직관적으로 이해-정형 및 비정형 모든 데이터는 분석에 앞서서 이러한 EDA 과정을 수반하게 된다. -주어진 문제를 데이터를 통해 해결하기 위해 데이터를 이해하는 과정:문제를 해결하는 과정에서 데이터에 대한 이해는 필수적임 2. EDA 과정-EDA = 탐색하고 증명하고 생각하는 과정의 반복1. 데이터에 대한 가설 또는 의문2. 시각화 혹은 통계량, 모델링을 통한 가설 검정3. 위의 결론을 통해 다시 새로운 가설 혹은 문제 해결 -데..

1. Array끼리 합치기 (수직, 수평 결합)tmp = np.array([[1,1],[2,2]])tmp1 = np.array([[3,3],[4,4]])vstack_tmp = np.v_stack(tmp, tmp1)hstack_tmp = np.h_stack(tmp, tmp1)#vstack_tmp 출력 결과#[[1 1][2 2][3 3][4 4]]#hstack_tmp 출력 결과#[[1 1 3 3][2 2 4 4]]- numpy는 두 개의 array에 대해서 수직 또는 수평으로 결합하는 코드를 제공한다. 2. array별 연산 3. Unique한 원소 찾기test = np.array([2,2,3,3,3,3,4,4,5,5,6,6,6])unique_test = np.unique(test)print(unique..
행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리하기 위해 지원하는 파이썬 라이브러리데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공 1. 리스트를 배열로 바꾸기import numpy as npA=[1,2,3,4,5]new_A=np.array(A)#A의 타입은 리스트, new_A의 타입은 numpy.ndarray이다.#A 출력 형태 -> [1, 2, 3, 4, 5]#new_A 출력 형태 -> [1 2 3 4 5]리스트를 배열(array)로 바꾸기 위해서는 np.array(리스트명) 로 코드를 작성하면 된다 2. 간단한 배열 만들기num = np.array(range(0, 10))- 0~9까지의 수를 num 이라는 배열(array)로 정의-즉, array() 함수 내부의 매개 변수로 ..

대괄호 안에 조건문과 반복문을 적용하여 리스트를 초기화하는 기능 a = [1,2,3,4,5,5,5] remove_set = {3,5} result = [i for i in a if i not in remove_set]
for loop 에서 인덱스와 원소를 동시에 접근하면서 루프를 돌리는 방법. for 문의 in 뒷 부분을 enumerate() 함수로 한 번 감싸주기만 하면 된다. > for entry in enumerate(['A', 'B', 'C']): ... print(entry) ... (0, 'A') (1, 'B') (2, 'C') enumerate() 함수는 기본적으로 인덱스와 원소로 이루어진 튜플을 만들어준다. 따라서 인덱스와 원소를 각각 다른 변수에 할당하고 싶다면 언패킹을 통해 인자를 풀어주어야 함 >>> for i, letter in enumerate(['A', 'B', 'C']): ... print(i, letter) ... 0 A 1 B 2 C 루프를 돌리다보면 인덱스를 0이 아니라 다른 인덱스로 ..