Data Science 7

차원 축소

차원축소 매우 많은 feature로 구성된 다차원 데이터 세트의 차원을 축소해 새로운 데이터 세트를 생성하는 것 차원 축소가 필요한 이유 차원이 증가할수록 데이터 포이트 간의 거리가 기하급수적으로 멀어지게되고 희소한 구조를 가지게 됨 수백개 이상의 피처로 구성된 데이터 세트의 경우 상대적으로 적은 차원에서 학습된 모델에 비해 예측 신뢰도가 떨어짐 => 이유는? 피쳐가 많을 경우 개별 피쳐간에 상관관계가 높을 가능성이 크다. 3차원 이하로 축소할 경우 시각적으로 표한가능 학습 데이터의 크기가 줄어드는 효과 피처 선택(feature selection) 종속성이 강한 불필요한 피처는 제거하고 데이터의 특징을 잘 나타내는 주요 피처만 선택 피처 추출(feature extraction) 기존 피처를 저차원의 중요..

Data Science 2020.10.13

회귀

회귀 여러개의 독립변수와 한개의 종속변수 간의 상관관계를 모델링하는 것 Y = W1*X1+W2*X2+...+Wn*Xn Y는 종속 변수 X1,X2,X3는 독립변수 W1,W2,W3는 회귀 계수 회귀 예측의 핵심은 최적의 회귀 계수를 찾아내는 것 회귀 계수의 선형/비선형 여부, 독립변수의 개수, 종속변수의 개수에 따라서 여러가지 유형으로 나눌 수 있음 선형 회귀의 과적합 문제를 해결하기 위해 규제(Regularization)방법을 적용, 회귀 계수에 페널티 값을 적요 대표적인 회귀 모델 - 일반 선형 회귀: 예측값과 실제 값의 RSS(Residual Sum of Square)를 최소화 할 수 있도록 회귀 계수를 최적화 하며, 규제를 적용하지 않은 모델 - 릿지(Ridge): 선형 회귀에 L2 규제를 적용한 방..

Data Science 2020.10.07

분류

1. 결정 트리 if/else 기반으로 규칙을 자동으로 찾아내서 분할 규칙이 많을 경우(분류 tree의 depth가 깊어질수록) 과적합 균일도가 높은 세트부터 먼저 선택할 수 있도록 규칙 조건을 만든다. 정보의 균일도를 측정하는 대표적인 방법 엔트로피(데이터 집합의 혼잡도)를 활용한 정보 이득 지수와 지니 계수가 있음 정보이득지수 = 1 - 엔트로피 지수 지니 계수: 0이 가장 평등하고 1이 불평등, 지니계수가 낮을 수록 데이터 균일도가 높은 것으로 판단해 이 기준으로 속성을 분할 결정트리의 장점 - 균일도라는 룰을 기반으로 하고 있어 알고리즘이 쉽고 직관적이며 시각화로 표현할 수 있음 - 균일도만 중요하므로 피처의 스케일링과 정규화 같은 전처리 작업이 필요없음 결정트리의 단점 - 과적합으로 정확도가 떨..

Data Science 2020.10.06

데이터 가공

1. 학습 데이터와 검증 데이터 분리 trains_test_split() - return 값: tuple 형태로 4개의 데이터 세트가 반환(X_train, X_test, y_train, y_test) - option test_size: (default:0.25) train_size: (normally not used) shuffle: (default:True) random_state: default로 계속 바뀜, 동일한 출력결과를 얻고 싶으면 state를 적어주는게 좋음 교차 검증 학습 데이터와 검증 데이터 세트를 여러 세트로 구성 K 폴드 교차 검증 K개의 데이터 폴드 세트를 만들고 K번 만큼(학습 K-1개의 세트, 검증 1개의 세트를 바꿔가면서) 반복적으로 수행 특정 검증 데이터에 overfit되는 ..

Data Science 2020.08.19

사이킷런(scikit-learn)

파이썬 머신러닝 라이브러리 중 가장 많이 사용되는 library cf) 대표적인 딥러닝 라이브러리: tensorflow, keras 예시1) 븟꽃 품종 예측 import sklearn print(sklearn.__version__) import pandas as pd from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score iris = load_iris() iris_data = iris.data iris_label = iris.target..

Data Science 2020.08.14

Numpy, Pandas

Numpy(Numerical Python) 선형 대수 기반의 프로그램을 쉽게 만들 수 있도록 지원하는 패키지 - 데이터 타입: ndarray - 여러개의 다른 데이터 유형이 섞여 있을 경우 가장 데이터 크기가 큰 타입으로 일괄 형변환 됨 1. 선언 및 차원 변경 Command Explanation Output arr = np.array([[1,2,3]]) arr = np.array([[1,2,3],[4,5,6]]) 선언 arr = np.arange(10) # [0,1,2,3....9] 연속된 수로 선언 arr = np.zeros((3,2),dtype='int32') #[[0 0] # [0 0] # [0 0]] 0으로 채워서 선언 arr = np.ones((3,2)) #[[1 1] # [1 1] # [1 ..

Data Science 2020.08.14

Day 1. Intro To Machine Learning

Pandas 데이터를 탐색하고 조작하는 데 사용하는 주요 library import pandas as pd # csv 파일 읽기 melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv' melbourne_data = pd.read_csv(melbourne_file_path) # summary statistics melbourne_data.describe() # column들 출력 print(melbourne_data.columns) # SalesPrice column data만 취하기(prediction target) y=melbourne_data.SalePrice # column list들 data 취하기 feature_name..

Data Science 2020.07.28