본문 바로가기

분류 전체보기

(12)
[머신러닝 지도학습] 데이터 전처리 데이터 전처리 머신러닝 과정 이해하기 데이터 수집 크롤링 또는 DB 데이터를 통하여 데이터 수집 데이터 분석 및 전 처리 수집한 데이터를 분석하고 머신러닝에 사용할 형태로 전처리 머신러닝 학습 머신러닝 모델을 사용하여 데이터를 학습 머신러닝 평가 학습된 머신러닝 모델을 평가용 데이터를 사용하여 평가 데이터 전 처리의 역할 머신러닝의 입력 형태로 데이터 변환 ( 특성 엔지니어링) 결측값 및 이상치를 처리 하여 데이터 정제. 학습용 및 평가용 데이터 분리. 왜 데이터 전 처리가 필요할까? - 데이터 변환 대부분의 머신러닝 모델은 숫자 데이터를 입력 받는다. 일반적으로 행렬 형태 입력. but 실제 데이터는 머신러닝 모델이 이해할 수 없는 형태로 되어있다. ( 이미지, 자연어, 시계열, 범주형 등 ) 따라서 ..
[머신러닝 지도학습] 자료 형태의 이해 자료의 형태 자료의 형태를 알아야 하는 이유 머신러닝은 데이터라는 디지털 자료를 바탕으로 수행하는 분석방식. 따라서 데이터가 어떻게 구성되어 있을까? 확인해야 적합한 모델을 선택할 수 있다. 자료 형태 구분 범주형 자료와 수치형 자료의 구분과 자료의 숫자 표현 가능 여부는 전혀 다르다. 범주형 자료가 숫자로 표현되는 경우 남녀 성별 구분시, 남자를 1, 여자를 0으로 표현하는 경우, 숫자로 표현되었으나 범주형 자료. 수치형 자료를 범주형 자료로 변환하는 경우 나이 구분시, 나이 값은 수치형 자료지만 10 19세, 20 29세 등 나이 대에 따라 구간화 하면 범주형 자료. 수치형 자료 = 양적자료 수치로 측정이 가능한 자료. 예) 키, 몸무게, 시험점수, 나이 등2) 이산형 자료 셀 수 있는 관측값을 가짐..
Matplotlib 데이터 시각화 Matplotlib 데이터 시각화 그래프 Line plot Line Styles 기호 옵션 - 실선 -- 대시 선 -. 대시 점 선 : 점선 Markers 기호 의미 기호 의미 . 점 , 픽셀 o 원 s 사각형 v, 삼각형 1,2,3,4 삼각선 p 오각형 H,h 육각형 loc. 범례의 위치 옵션 문자형 code 문자형 code 'best' 0 'center left 6 'upper right' 1 'center right' 7 'upper left' 2 'lower center' 8 'lower left' 3 'upper center' 9 'lower right' 4 'cent..
데이터 조작 및 분석을 위한 Pandas 심화 데이터프레임 정렬하기 인덱스, 컬럼값으로 정렬할 수 있음. Index, Column 기준으로 정렬하기 axis = 0 : 행 인덱스 기준 정렬(Default 오름차순) ascending = False : 오름차순 / Tru : 내림차순 import numpy as np import pandas as pd print("DataFrame: ") df = pd.DataFrame({ 'col1' : [2, 1, 9, 8, 7, 4], 'col2' : ['A', 'A', 'B', np.nan, 'D', 'C'], 'col3': [0, 1, 9, 4, 2, 3], }) print(df, "\n") # ..
데이터 조작 및 분석을 위한 Pandas 기본 Pandas 파이썬 라이브러리 구조화된 데이터를 효과적으로 처리하고 저장 Array 계산에 특화된 NumPy를 기반으로 설계 대용량 데이터 계산이 장점. 엑셀과 유사한 Database 를 가지고 있음. Series 데이터 Numpy의 array가 보강된 형태 ( Data만 있던 Array 에서 Index가 추가 되었다. ) Data와 Index 를 가지고 있음. Series는 값(values)을 ndarray 형태로 가지고 있음. dytpe 인자로 데이터 타입을 지정할 수 있음 인덱스를 지정할 수 있고 인덱스로 접근 가능 Dictionary를 활용하여 Series 생성 가능. import pandas as pd data = pd.Series([1,2,3,4]) print(data) # 인덱스 값 # 0 ..
배열의 기초 배열의 데이터 타입 dtype 파이썬 리스트와 달리 같은 데이터 타입만 저장 가능. arr = np.array([0, 1, 2, 3, 4], dtype =float) print(arr) # [0. 1. 2. 3. 4.] print(arr.dtype) # 'float64' print(arr.astype(int)) # 정수형 변환 [0 1 2 3 4]dtype 의 종류 dtype 설명 다양한 표현 int 정수형 타입 i, int_, int32, int64, i8 float 실수형 타입 f, float_, float32, float64, f8 ol_ 문자열 타입 str, U, U32 bool 부울 타입 ?, bool ndarray의 차원 관련 속성 ndim : n+dimension 몇 차원인가?..
데이터 핸들링을 위한 라이브러리 Numpy Numpy Python에서 대규모 다차원 배열을 다룰 수 있게 도와주는 라이브러리. Why? 데이터의 대부분은 숫자 배열로 볼 수 있다. ex) 흑백사진, 사운드 데이터 등. 반복문 없이 배열 처리 가능. 파이썬 리스트 대비 빠른연산 지원, 메모리를 효율적으로 사용가능. 파이썬 리스트 list_arr = list(range(5)) print(list_arr) # [0, 1, 2, 3, 4] -> 콤마(,) 로 구분됨. print(type(list_arr) # 1차원의 배열. Numpy import numpy as np # numpy 모듈을 불러와서 np 별칭을 부여. np_arr = np.array(range(5)) print(np_arr) # [0 1 2 3 4] -> 공백으로 구분 print(type..
Python의 모듈과 패키지 코드의 길이가 길어지는 상황. 모든 함수, 변수를 구현하는 것은 불가능. 누군가 만들어 놓은 함수, 변수 등을 활용하자! 모듈 특정 목적을 가진 함수, 자료의 모임. import 키워드를 이용해서 모듈 사용. import random #random 모듈을 사용. 모듈 속 사용하려는 함수/변수의 사용법 확인 random 모듈에서 randrange 함수를 사용하는 예시 random.randrange(start, stop) range(start, stop) 중의 한 원소를 가지고 옵니다. .(dot) 을 쓴 후에 모듈 속 함수/변수 사용 import random print(random.randrange(0, 2)) # 0, 1 둘 중 1개를 랜덤으로 호출. 우리가 원하는 내용이 담긴 모듈 제작가능. .py(파..
함수와 메서드 함수 - 매개변수를 입력받아 특정기능을 한 후 출력을 하는 함수 - 이미 정의된 내장함수와 사용자 정의 가능한 함수로 나뉨 - print(), sum(), max(), input() 등. 메서드 - 특정 자료에 대해 특정 기능을 하는 코드 my_list = [1, 2, 3] my_list.append(4) my_list.count(2) my_list.pop() 함수는 특정자료를 전달한다. 메서드는 특정 자료와 연관지어 기능을 한다. ( 자료 뒤에 .을 찍어 사용 ) 매개변수(parameter) : 함수를 정의할 때(만들 때) 넘겨받은 값을 관리하는 변수 인자(argument) : 함수를 호출할 때(사용할 때) 함수로 넘겨주는 자료
Python-자료형 활용 1. List - append(d) : 자료 d를 리스트 마지막 원소 뒤에 추가. 한 개만 넣을 수 있음. - insert(i, d) : 인덱스 i에 자료 d를 추가. 한 개만 넣을 수 있음. - remove(d) : 처음나오는 자료 d를 제거. 중복시 인덱스가 작은 원소 제거. - sort() : 리스트를 정렬. 숫자형은 오름차순, 문자열은 사전순. 같은 자료형일 경우에만 사용 가능. 2. 시퀀스자료형. - 순서가 있는 자료형. 리스트, 문자열 등이 이에 속함. - 순서가 존재하므로 인덱싱/슬라이싱이 가능하다. - 음수를 넣거나, 자리를 비우는 것도 가능. a = "once" b = ['t', 'w', 'i', 'c', 'e'] print(a[1]) # n print(b[2:4]) # ['i', 'c'..