반응형

전체 글 173

[빅데이터분석기사] 데이터탐색과 데이터정제 실습 (1)

1. 데이터탐색: 단변량 import pandas as pd data=pd.read_csv('Ex_CEOSalary.csv', encoding='utf-8') data.info() data.head() 1-1. 범주형 자료의 탐색 data['industry'].value_counts() data['industry'] = data['industry'].replace([1, 2, 3, 4], ['Service', 'IT', 'Finance', 'Others']) data['industry'].value_counts() %matplotlib inline data['industry'].value_counts().plot(kind="pie") data['industry'].value_counts().plot(ki..

[빅데이터분석기사] 서포트벡터머신(SVM)

서포트벡터머신(SVM) 분류를 위한 기준선을 정의하는 모델이다. 분류되지 않은 새로운 점이 나타나면 어느 쪽에 속하는지 확인을 위해서 결정 경계를 정한다. 데이터에 2개 속성(feature)만 있다면 결정 경계는 간단한 선 형태가 된다. 속성이 3개가 되면 3차원으로 그려야 한다. 이때의 결정 경계는 '선'이 아닌 '평면'이 된다. 우리가 이렇게 시각적으로 인지할 수 있는 범위는 딱 3차원까지다. 차원, 즉 속성의 개수가 늘어날수록 당연히 복잡해질 것이다. 결정 경계도 단순한 평면이 아닌 고차원이 되는데 이를 '초평면(hyperplane)'이라고 부른다. 결정 경계는 여러 형태로 정할 수 있다. 그래프C를 보면 경계선이 파란색 클래스(분류)와 너무 가까워 보인다. 결정 경계가 가장 적절한 것은 그래프 F..

[빅데이터분석기사] 앙상블(Ensemble)

앙상블 학습(Ensemble Learning) 그동안 우리는 여러 기계학습 모델들을 살펴보았다. 이렇게 개별적으로 동작하는 모델들을 모아 종합적으로 의사결정을 한다면 어떨까? 앙상블은 프랑스어로 전체적인 어울림이나 통일을 의미하며 음악에서 2인 이상의 가창이나 합주를 의미하기도 한다. 예측력을 높이기 위해 여러 가지 학습알고리즘이 어울려 성능을 높이는 방식을 기계학습 분야에서 앙상블(Ensemble) 학습이라 한다. 앙상블 종류 앙상블 학습 방식에는 크게 Voting, Bagging, Boosting의 3가지로 나눌 수 있다. Voting(투표) 방식은 여러 모델로부터 나온 후보 결과들 중 다수가 나온 결과를 채택하는 방식이다. Bagging은 같은 모델을 사용하지만 훈련세트에서 중복을 허용한 여러 부분..

[빅데이터분석기사] 파이썬 데이터 정제 실습

1. 데이터 불러오기 및 탐색 import pandas as pd data = pd.read_csv('house_raw.csv') data.head() data.describe() data.hist(bins=50, figsize=(20, 15)) array([, ], [ ], [, ]], dtype=object) 2. 선형회귀 적용(정제 전 데이터) # 특성데이터셋, 레이블 데이터셋 나누기 X = data[data.column[0:5]] y = data[["house_value"]] # 학습용 데이터(tarin)와 테스트용 데이터(test) 구분을 위한 라이브러리 불러오기 from sklearn.model_selection import train_test_split X_train, X_test, y_tr..

[빅데이터분석기사] 랜덤포레스트(Random Forest)

랜덤포레스트(RF) 의사결정나무를 여러개 모아서 데이터 분류 및 예측을 수행하는 AI알고리즘이다. 어떤 데이터 집단에 대한 분류나 예측을 실시한다고 할 때, 하나의 결정트리를 사용하는 것보다 여러 트리를 결합해서 사용하면 보다 높은 성능의 알고리즘 모형을 만들 수 있다. 여러 나무와 하나의 포레스트, 배깅(Bagging, Bootstrap Aggregationg) 결정트리를 독립병렬 결합하는 방식을 배깅이라고 한다. 원 자료에서 하위 데이터 세트를 만드는 부트스트랩 과정을 포함한다. 데이터 건수는 동일하게 그리고 데이터 무작위 추출 시 중복은 허용(복원추출)하여 각 트리 모형들이 학습할 데이터 세트를 그 수에 맞게 준비해야 한다. 가령 결정트리 서른 개를 사용한다면, 전체 자료에서 데이터를 추출하여 30..

[빅데이터분석기사] 넘파이(numpy) 판다스(pandas)

1. numpy 배열 생성 # numpy 배열 기본 import numpy as np v1 = np.array([1, 2, 3, 4]) print(v1) [1 2 3 4] # 연속되거나 일정한 규칙을 가진 숫자 v1 = np.arange(5) print(v1) # 연속되거나 일정한 규칙을 가진 숫자, 데이터 형태 지정 v2 = np.arange(1, 10, 2, dtype=int) v3 = np.arange(3.5, 10.5, 2, dtype=float) print(v2) print(v3) # 제곱값 생성 v4 = np.arange(1, 10, 2)**2 print(v4) # 세제곱값 생성 v5 = np.arange(1, 10, 2)**3 print(v5) [0 1 2 3 4] [1 3 5 7 9] [3..

[빅데이터분석기사] 파이썬(Python) 기초 - 자료형 if문 반복문

1. 숫자형(number) # 정수형, 실수형 a = 123 b = -123.4 a+b -0.4000000000000057 # 8진수 c = 0o34 d = 0o24 c+d 48 # 16진수 e = 0x2A f = 0xFF e+f 297 2. 문자형(String) # 문자열 s = 'WiseInCompany' s1 = 'WiseInCompany' s2 = '''WiseInCompany' s3 = "123" print(s) print(s1) print(s2) print(s3) print(type(s3)) WiseInCompany WiseInCompany WiseInCompany 123 # 문자열 연산하기 a = "Wise" b = "InCompany" print(a+b) a = "WiseInCompany"..

[빅데이터분석기사] 의사결정나무(Decision Tree)

의사결정나무 일종의 분류 기법이다. 전체 집단을 계속 양분하는 분류기법으로써 분기가 발생하는 포인트(=노드)에는 기준이 되는 질문이 있어 기준 질문에 부합하냐(YES), 부합하지 않느냐(NO)에 따라 노드 이동의 방향이 결정된다. 의사결정나무 모형은 분류(classification)와 회귀예측(regression) 모두 가능한 알고리즘이다. 분류나무 모형은 불연속적(이산형 자료)인 값을 예측한다. 예를 들어 분류 모델은 다음과 같은 질문에 대한 답을 예측한다. '수신된 이메일이 스팸인가 아닌가?', '이 사진이 강아지인가 고양이인가 또는 햄스터인가?'와 같은 질문에 답을 내기 적합한 비지도 분류 알고리즘 모형이다. 한편 회귀분석의 한 갈래인 회귀나무 모형은 연속적인 값을 예측한다. 예를 들어 회귀 모델은..

[빅데이터분석기사] 최근접 이웃(K-Nearest Neighbors)

최근접 이웃 알고리즘은 우리가 예측하려고 하는 임의의 데이터와 가장 가까운 데이터 K개를 찾아 다수결에 의해 데이터를 예측하는 방법이다. 위 그림과 같이 두 그룹의 데이터가 있을 때 주어진 임의의 데이터가 어느 그룹에 속할 것인지를 K-NN 알고리즘으로 풀 수 있다. 별 데이터로부터 가장 가까운 K개 데이터들이 더 많이 속한 그룹으로 별 모양 데이터를 분류하는 알고리즘이다. K가 3이라면 3개의 데이터를 확인해 더 많은 데이터가 있는 B그룹으로 주어진 임의의 데이터를 분류한다. K의 선택 기준은 학습의 난이도와 데이터의 개수이며, 보통 훈련 데이터 개수의 제곱근으로 설정한다. K와 별 모양 데이터 간 좌표상 거리도 고려해야 한다. K를 4로 설정했다면 별 모양 데이터를 기준으로 4개의 데이터 간 떨어진 ..

[빅데이터분석기사] 시계열분석(Time-series Analysis)

시계열분석 시간에 따라 변화되는 자료의 패턴을 밝혀 가까운 미래를 예측하는 방법이다. 시계열분석을 위해서는 시계열 데이터가 준비돼야 한다. 시간의 경과만 한 축(x)을 구성하는 것이 아니라 시간 경과가 일정한 시차로 정돈되어 있을 때 이를 시계열 데이터로 본다. 시계열 데이터의 필수 조건, 정상성(Stationary) 정상성이란 '데이터 변동의 안정성'으로 달리 표현할 수 있다. 시간의 흐름에 따라 관측된 결과에서 세로축(y) 값의 변동이 지나치게 크다면 그 다음 예측에 관한 정확도가 높을 수 있을까? 그렇지 않을 것이다. 회귀분석에서 살펴보았듯이, 데이터의 분포가 추세선을 기준으로 잘 모여 있을 때(=표준오차가 작을 때), 해당 추세선이 보다 예측력이 높다고 배웠다. 마찬가지로 어떤 시계열 자료가 정확..

반응형