본문 바로가기

인공지능/데이터 분석9

[사이킷런] 과적합의 문제와 교차 검증 모델(KFold, StratifiedKFold, cross_val_score) 학습 데이터와 테스트 데이터와 분리하여 학습 후 테스트를 수행하는 경우 '과적합'이라는 문제가 발생한다. 과적합이란 학습 데이터에만 맞춰서 모델링을 진행하다 보니 특정 데이터에만 맞게 학습이 진행되어 새로운 데이터가 들어왔을 때 그 데이터에 대해서는 제대로 예측을 수행하지 못하는 문제가 발생하는 것을 의미한다. 이를 해결하기 위해 '교차검증'이라는 방법을 통해 학습을 수행한다. 교차검증이란 학습 데이터를 다시 학습 데이터와 검증 데이터 세트로 분할하여 학습과 검증을 여러번 진행한 후에 최종적으로 테스트 데이터를 이용해서 정확도를 평가하는 모델이다. 이를 통해 여러 데이터들을 바탕으로 모델링을 함으로서 과적합의 문제를 해결할 수 있다. 교차 검증의 가장 대표적인 예로 K 폴드 교차 검증이 있다. 학습 데이.. 2021. 8. 16.
[사이킷런] train_test_split, DecisionTreeClassifier 체험 머신러닝 중 지도학습 기법의 대표적인 예로 분류 (classification)이 있다. 지도 학습은 다양한 피처와 레이블에 대한 데이터로 모델을 학습한 뒤, 별도의 테스트 데이터들에 대한 레이블을 예측하는 식으로 이루어진다. 사이킷런 패키지 sklearn.datasets : 사이킷런에서 자체적으로 제공하는 데이터 세트 sklearn.tree : 트리 기반 ML 알고리즘을 구현한 클래스 sklearn.model_selection : 학습 데이터와 검증 데이터, 예측 데이터로 데이터를 분리, 최적의 하이퍼 파라미터로 평가하기 위한 다양한 모듈의 모임 * 하이퍼 파라미터 : 직접 입력하는 파라미터 학습용 데이터와 테스트용 데이터 분리하기 (train_test_split) X_train, X_test, Y_tr.. 2021. 8. 16.
[numpy] transpose, linalg.inv, dot import numpy as np transpose test = np.array([0,1,2],[3,4,5]) result = test.transpose() transpose 전치행렬을 구하는 함수로 행렬의 (i,j)번째 원소를 (j,i) 번째 원소로 바꿔 줍니다. test : [0,1,2] [3,4,5] result: [0,3] [1,4] [2,5] linalg.inv test = np.array([0,1],[2,3]) result = np.linalg.inv(test) 역행렬을 구할 때 사용합니다. dot test1 = np.array([0,1,2],[3,4,5]) test2 = np.array([3,4],[5,6],[7,8]) result = np.dot(test1,test2) 내적을 구할 때 사용.. 2020. 10. 4.
[numpy] array, reshape concatenate, split import numpy as np numpy 를 np 로 불러온다. array test = np.array([1,2,3],[4,5,6]) [1,2,3] [4,5,6] 형태의 행렬 만들어짐 reshape test1 = test.reshape(3,2) [1,2] [3,4] [5,6] 과 같이 바뀜 행렬의 모양을 바꿔주는 함수 concatenate test1 = np.array([[1, 2], [3, 4]]) test2 = np.array([[5, 6], [7, 8]]) result1 = numpy.concatenate((A, B), axis = 0) result2 = numpy.concatenate((A, B), axis = 1) concatenate는 두 개의 array를 합치는 함수이다. axis=0 인.. 2020. 10. 4.