개발/파이썬 머신러닝 완벽가이드 정리 17

하이퍼파라미터, GridSearchCV

GridSearchCV 에 대해서 알아보겠습니다. GridSearchCV는 scikit-learn의 하이퍼파라미터 튜닝하는 도구입니다. 일단 하이퍼파라미터라는 것을 알고 가겠습니다. 파라미터는 저희 매개변수라는 값으로 많이 들어봤는데 하리퍼 파라미터(Hyper parameter)라는 애는 무엇일까요? 하이퍼파라미터라는 애는, 머신러닝을 할 때 많이 듣게 되는데, 머신러닝을 배울 때 데이터를 주면서 모델을 학습시켜야 합니다. 하이퍼파라미터 머신러닝을 하는 모델을 만들 때, 사용자가 직접 세팅해주는 값을 말합니다. 자, 그렇다면 다시 돌아와서 GridSearchCV라는 것은 또 무엇이냐? 교차검증에서 이것저것 학습 데이터들을 바꿔가면서 학습과 테스트를 진행했는데, GridSearchCV이름처럼 격자(Grid..

교차검증

교차검증(KFold) 이라는 것을 알아보겠습니다. 교차검증이라는 말 처럼 여러번 비교하면서 검증해보는 것입니다. 예를 들어 볼까요? 150개의 데이터를 기존의 방식대로 120 : 30개로 나눕니다. 120개로 학습을 진행하고 30개로 테스트를 진행합니다. 일반적으로 고르게 분포된 데이터에서 이렇게 학습을 해도 전혀 문제가 생기지 않습니다. 다만 조금 다른 경우에, 120개 중 error데이터가 10개가 들어가 있다면 어떻게 될까요? 120개 중 error데이터가 10개 들어간 모델로 컴퓨터가 학습을 하기 시작하면 30개의 테스트셋을 테스트 할 때 정확도가 낮아질 수 밖에 없습니다. 때문에, 교차검증을 통해 여러번 비교하는 과정을 가집니다. 아래의 그림처럼 30개씩 나누는 과정을 거쳐서, 여러번 학습용 데..

학습데이터 테스트 데이터

머신러닝 알고리즘을 구현할 때, 학습에 필요한 데이터들이 있습니다. 머신러닝에서는 컴퓨터에게 무엇인가를 가르쳐줘야하는데, 가르쳐주는 데이터가 필요합니다. 예를 들면, 컴퓨터에게 이렇게 생긴 애가 고양이다 라고 알려주려면 고양이 사진을 엄청나게 보여주고 이 것이 고양이다 라고 알려줘야합니다. 이 것을 학습용 데이터라고 하는데, 컴퓨터를 학습시킬 데이터를 주고, 일부는 테스트 데이터로 분리해서 학습용 데이터로 학습한 컴퓨터가 테스트 데이터를 보고 제대로 고양이로 인식할 수 있는지를 테스트해봐야 합니다. X_train, X_test, y_train, y_test = train_test_split(data, target, test_size,reandom_state) X_train.y_train 은 학습용 데이터..

머신러닝이란

많이 듣는 인공지능 딥러닝 머신러닝에 대해서 들어보는데 과연 정확히 머신러닝과 딥러닝이 무엇이 다른가에 대해서 알아보겠습니다. 인공지능이라는 커다란 분류 안에, 머신러닝 딥러닝이 들어있는데 인공지능에 대해서 부터 알아보겠습니다. 인공지능 : 인공지능이라는 것은 매우 범위가 넓습니다. 그냥 기계가 사람처럼, 지능을 가진 것과 같이 사고하여 판단하는 모든 것을 인공지능이라고 통틀어서 이야기합니다. 머신러닝 : 데이터를 학습하여, 새로운 데이터가 들어왔을 때 결과값을 판단하는 방법입니다, 예를 들면 가로가 10~12센치고 세로 15~20센치로 있는 직사각형 모양의 "박스"사진을 굉장히 많이 보여주고, 이게 박스다 라고 컴퓨터에게 알려주면, 컴퓨터는 가로 10~12센치 세로 15~20센치의 네모난 모양이 들어오..

넘파이 Numpy

python을 이용해서 데이터 분석을 할 때 주로 사용되는 라이브러리인 Numpy에 대해서 알아보겠습니다. 행렬 연산을 할 때 주로 사용하는 라이브러리이고, 행렬 연산을 굉장히 쉽게 할 수 있습니다. 대량의 데이터를 가져와서 array형태로 가공할 때 주로 사용됩니다. 아래와 같이 주피터 노트북에서 몇가지 넘파이 배열을 이용하는 방법을 실습해봤습니다. -- 참조 https://gomguard.tistory.com/147

주피터 노트북

주피터 노트북이란 아래 보이는 웹 브라우저에서 코드를 칠 수 있는 도구입니다. 왜 다른 코드 에디터(pycharm)에서 코딩을 하지 않고, 주피터 노트북에서 할까요? 왜냐하면 주피터 노트북에서는 line by line 형태로 코드를 볼 수 있습니다. 예를 들면, 파이참에서는 코드 100줄을 코딩 했으면 -- 코드 10줄 print("point") 코드 50줄 print("point2") 코드 40줄 print("point3) -- 와 같은 형태로, 디버깅을 위한 포인트들을 print문으로 해줘야 했다면, 주피터 노트북에서는 위의 이미지처럼 내가 원하는 라인 만큼의 결과를 보면서 바로바로 코딩할 수 있습니다. 아나콘다 - https://www.anaconda.com/distribution/ 를 다운 받으면..