목록전체 글 (8)
머신러닝 내공쌓기

from sklearn.preprocessing import LabelEncoder from sklearn.preprocessing import OneHotEncoder 데이터 전처리는 머신러닝 모델이 학습할 수 있게끔, 기존의 raw data를 가공하는 작업을 말합니다. 물론 머신러닝이 뛰어난 성능을 내는 데는 모델의 하이퍼파라미터를 조정하거나 개량된 모델을 쓰는 것 역시 중요합니다. 그러나 데이터 전처리 과정 역시 머신러닝의 성능을 높이는 데 상당히 중요한 역할을 합니다. 그렇다면 데이터 전처리에는 어떤 유형이 있는지, 판다스의 데이터프레임을 기준으로 소개드리겠습니다. [1] 레이블 인코딩 기계는 사람들이 사용하는 문자를 있는 그대로 이해하지 못하기 때문에, 문자열을 숫자화하는 인코딩의 과정을 거쳐야..
앞선 포스트에서 리덕스를 사용하게 되면 리액트 컴포넌트의 상태관리를 컴포넌트 내부가 아닌 외부에서 관리할 수 있다고 말씀드렸습니다. 지금 소개할 mapDispatchToProps와 mapStateToProps는 바로 리덕스를 통해 컴포넌트의 상태 관리를 할 때 요구되는 함수들입니다. 리덕스를 공부하신 분들은 리덕스가 상태관리를 reducer를 통해 한다는 점을 아실 겁니다. reducer 함수는 state와 action을 자신의 인자로 받습니다. reducer 함수가 state와 action을 인자로 받는 까닭은, 기존에 redux store에 저장된 state를 변경하고 싶을 때, 그러한 요구사항을 담은 action을 reducer에 dispatch(전달)하면 reducer는 dispatch된 acti..

리액트로 관리되는 웹페이지는 크게 부모 컴포넌트와 자식 컴포넌트로 나뉩니다. 이때 부모 컴포넌트는 자식 컴포넌트에 속성을 전달하게 됩니다. 그런데 부모 컴포넌트가 자식 컴포넌트에 전달하는 것들은 크게 속성(props)과 상태(state)가 있습니다. 속성(props)은 본질적으로 불변하는 컴포넌트의 특징을 말합니다. 따라서 만일 부모 컴포넌트의 속성이 변경된다면, 자식 컴포넌트의 속성도 자동적으로 업데이트됩니다. 반면, 상태는 컴포넌트의 가변적인 성질을 말합니다. 버튼을 눌렀을 때 버튼의 색상이 파란색에서 주황색으로 변경되는 코드를 작성하였다면, 이때 버튼의 색상은 상태에 해당합니다. 즉, 상태는 특정 메서드가 실행될 때 변경될 수 있도록 하는 컴포넌트 객체의 성질이라고 할 수 있습니다. 다른 예를 들자..

경사하강법을 이해하려면 앞선 포스트에서 설명드린 최소제곱법에서 출발해야 합니다. (https://mltutorial.tistory.com/3?category=903849) 최소제곱법은 선형함수 모델의 예측값과 실제값의 오차(error)의 크기를 나타내주지만, 그 자체로는 이러한 오차를 어떻게 줄여야 하는지, 그 방법을 제시하지는 못합니다. 단지, 선형함수 모델이 얼마나 실제값에 근사한 예측을 하는지 판단하는 지표일 뿐입니다. 따라서 최소제곱법을 이용해 값을 구하는 것만으로는 충분하지 않고, 최소제곱법을 이용해 손실함수(Loss Function)을 그려주어야 합니다. 그런데 최소제곱법을 이용한 손실함수는 2차함수의 포물선 그래프로 그려지게 됩니다. 이때 x축은 가중치(Weight)를, y축은 손실(Loss..