본문 바로가기

분류 전체보기111

3. 데이터의 전처리 (Pre-processing) Index활용하고자 하는 데이터를 EDA 등의 과정을 통해 탐색하고 이해했다면, 이 데이터를 기계학습 모델에 사용하기 적합하도록 데이터의 질을 높여주는 과정이 전처리(Pre-processing) 이다.기본적인 전처리 과정에는 Noise 혹은 Null 값처리, 인코딩(Encoding), 스케일링(Scaling) 및 정규화(Normalization) 과정 등이 있다. PCA 등의 차원축소 기법, Feature Selection 및 Extraction 등에 대해서는 후속 포스팅에서 정리하겠다.  1. 데이터 인코딩 (Encoding) 데이터 인코딩은 기계학습에서 활용할 알고리즘에 적합한 형태로 데이터를 변환하는 것을 의미하며, 대게는 문자형/범주형 데이터를 숫자형으로 변환하는 과정을 말한다.   1-1.  레.. 2023. 5. 27.
2. 교차검증 (Cross-Validation) Index 교차검증은 과적합(Overfitting : 학습데이터에만 과도하게 최적화되어 다른 데이터 셋에는 정합성이 안맞는 현상)을 방지하기 위하여, '테스트 이전에' 여러 세트로 구성된 학습-검증 데이터 세트를 교차로 학습-검증하여  모델을 최적화 하는 과정이다 . 예측 모델의 유연성을 확보하는 과정이라고 할 수 있다.  학습 → 테스트 로 바로 가지 않고, 학습 → 검증 →테스트로 거쳐서 간다. 검증결과를 가지고 실제 테스트(예측) 이전에 하이퍼 파라미터 튜닝을 진행한다. (최적화) ● K-Fold 교차검증데이터셋을 k 개로 분리하여, 한개씩 검증 세트로 번갈아가면서 쓰면서 k번 평가한 뒤, k개의 평가값 평균을 최종 평가값으로 계산하여 모델을 검증하는 방식. 구현 코드는 아래와 같다. (물론 아래 .. 2023. 5. 26.
1. 머신러닝 개요 Index개요머신러닝은 크게 지도학습(Supervised) 과 비지도학습(Unspervised) 으로 구분된다. 지도학습은 Label(=Target) 즉, 정답이 있는 데이터를 학습하는 과정이고, 비지도 학습은 반대로 Label 이 없는 데이터로 학습/예측을 진행하는 과정지도학습은 Target 데이터의 형식에 따라, Categorical 데이터를 학습할때는 Classification(분류) / Continuous 데이터를 학습할때는 Regression(회귀) 문제로 구분한다. (분류이든, 회귀이든 학습모델을 Estimator 라고 부른다)  머신러닝의 구현은 주로 Python 의 Scikit Learn (sklearn) 라이브러리를 활용한다. 머신러닝에 사용되는 데이터는 크게 두가지 ①예측대상(Targe.. 2023. 5. 26.
Pandas 기본 활용법 Pandas는 DataFrame, Series 형태의 객체로 데이터를 읽고 쓰고 분석하기 위한 중요한 라이브러리이다. Index  파일 불러오기 (csv → DataFrame) titanic_df = pd.read_csv('titanic_train.csv') # 같은 디렉토리 csv_test = pd.read_csv('C:/Users/Administrator/Documents/Python/test_csv_file.csv') #다른 디렉토리titanic_df.head(3)titanic_df['Pclass'].value_counts() # 지정된 칼럽의 데이터 값 별 건수를 반환, NULL 개수까지 새려면 dropna=Fatitanic_df['Pclass'] # 특정 컬럼으로 선정하면 Series 타입이.. 2023. 5. 26.
Numpy 기본 함수 및 연산 Numpy는 파이썬에서 배열(array)이라는 객체를 만들고, 이를 통한 선형대수 및 통계 연산을 하는데 매우 유용한 라이브러리이다. Index배열 혹은 행렬을 만드는 예시 array1 = np.array([1,2,3]) #array 함수는 입력된 객체를 Numpy 배열 형식으로 반환하는 함수print('array1 type:',type(array1)) # array 의 type 은 "numpy.ndarray" 이다. print('array1 array 형태:',array1.shape) # 반환값 (3,)array3 = np.array([[1,2,3]])print('array2 type:',type(array3))print('array2 array 형태:',array3.shape) # 반환값 (1,3)a.. 2023. 5. 26.
terms, concept Latent variable:  직접적으로 관찰되거나 측정되지는 않지만 다양한 변수들로 부터 유추되는(숨겨져있는) 변수를 variable 이 latent 하다고 표현. 여러가지 관찰변수 간의 복잡한 관계를 포착하고 데이터의 차원을 줄이기위해 사용. 지능은 관찰 불가능하지만 IQ, 성적 등을 통해 유추가능한 latent var Explanatory variable: latent variable 처럼 서로다른 변수간에 관계를 설명하는데 사용되지만 관찰가능한 변수. 연령은 소득,건강과 같은 변수에 대한 explanatory var  Covariate(공변량): 종속변수에 대해 독립변수와 기타 잡음인자들이 공유하는 변량. 변수,독립변수(x) 그보다는 하나의 개념으로 여러 변수들이 공통적으로 공유하고 있는 변량... 2023. 4. 12.
[기초문법] 파일의 읽고 쓰기 IndexPython 에서는 사용자가 직접 입력하고 터미널에 결과값을 출력하는 방식 외에도, 파일을 통해 입출력 할 수 있다. 파일을 새로 만든 다음, 프로그램이 만든 결과값을 새 파일에 적어보고, 적은 내용을 읽고, 새로운 내용을 추가해보는 것 까지 해보자.  1. 파일 생성하기Python 에서 파일 생성은 아래와 같이 open 함수를 통해 생성한다 : 파일 객체 = open(파일 이름, 파일 열기 모드)한글을 쓰려면 꼭 encoding="utf8" 넣어줘야한다.아래 예시코드를 실행하면, new_file 이라는 text 파일에 아래 3개 줄이 출력되겠다.  f = open('new_file.txt', 'w', encoding='utf8')print("파일에 글을 써볼게", file=f)print("한줄.. 2023. 3. 6.
[기초문법] 모듈(Module)과 패키지(Package) Index# 함수 - 클래스 - 모듈 - 패키지 간의 관계 Python 의 method, class, module, package 는 아래 그림과 같이 대략적으로는... 함수⊂클래스⊂모듈⊂패키지 라고 느낌적으로 이해하면 편하다. 각 객체에 대해 간단히 정의해보면 아래와 같다.  Module(모듈): 파이썬 코드 파일(.py 확장자)을 의미하며, 함수, 클래스, 변수 등을 담고있다. 다른 파이썬 파일에서 import해서 사용할 수 있다.Package(패키지): 모듈(파일)을 포함하는 디렉토리(폴더). 패키지 내부에 또 다른 하위 패키지 또는 모듈이 포함될 수 있다.Class(클래스): 객체를 만들기 위한 설계도이며, 데이터와 해당 데이터를 처리하는 함수를 하나의 객체로 묶어서 사용할 수 있다. Method.. 2023. 3. 5.