no image
핸즈 온 머신러닝 :: 7. 앙상블 학습과 랜덤 포레스트
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 7. 앙상블 학습과 랜덤 포레스트 여러 예측기로부터 예측을 수집하면 좋은 모델 하나보다 더 좋은 예측을 얻을 수 있다. 이를 앙상블 학습이라고 한다. 그 중, 결정 트리들의 앙상블을 랜덤 포레스트라고 한다. 7.1 투표 기반 분류기 여러 분류기 중 가장 많이 선택된 클래스를 예측하는 것을 직접 투표 (hard voting) 이라고 한다. 만약 훈련 결과가 모두 독립이라면 51%의 정확도를 가진 1000개의 분류기로 ..
2020.01.17
no image
핸즈 온 머신러닝 :: 6. 결정 트리
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 6. 결정 트리 Decision Tree는 분류와 회귀, 다중 출력 모두 가능한 다재다능한 머신러닝 알고리즘이다. 6.1 결정 트리 학습과 시각화 https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html sklearn.tree.DecisionTreeClassifier — scikit-learn 0.22.1 doc..
2020.01.17
no image
핸즈 온 머신러닝 :: 5. 서포트 벡터 머신
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 5. 서포트 벡터 머신 Support Vector machine은 매우 강력하고 많은 경우에 사용할 수 있는 머신러닝 모델이다. 딥 러닝이 유행하기 전에 SVM 모델이 크게 유행했다. 5.1 선형 SVM 분류 SVM 분류기는 데이터들을 선형 기준으로 구분하는 것을 목적으로 한다. 이 때에, 기준 선에 가장 가까운 데이터가 최대한 멀어지도록 기준 선을 긋는다면 더 잘 그은 기준선이 될 것이다. 따라서 이를 large ..
2020.01.16
no image
핸즈 온 머신러닝 :: 4. 모델 훈련
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 4. 모델 훈련 모델이 어떻게 작동하는지 잘 이해하면 모델 및 알고리즘 설정, 하이퍼 파라미터 변경을 적절하고 빠르게 할 수 있다. 4.1 선형 회귀 선형 회귀는 특성들의 선형 함수로 함수 값을 예측하며, 주로 RMSE를 최소화하는 선형 파라미터를 학습한다. 4.1.1 정규방정식 선형 회귀는 수학적으로 RMSE를 최소화하는 파라미터를 계산을 통해 구할 수 있다. 4.1.2 계산 복잡도 정규 방정식을 통해 파라미터를 ..
2020.01.16
no image
핸즈 온 머신러닝 :: 3. 분류
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 3. 분류 일반적인 지도 학습 중 2장에서 회귀를 다루었다면 3장에서는 분류를 다룬다. 3.1 MNIST 머신러닝을 공부할 때 많은 경우에 MNIST 데이터셋 분류하기로 공부를 시작한다. 이 데이터셋은 7만장의 28 by 28 이미지 파일로 이루어져 있으며 각각의 이미지 파일은 0 부터 9 까지의 숫자 중 하나를 뜻한다. sklearn.datasets 에 포함되어있다. 데이터는 dictionary 형태로 불러와지는데..
2020.01.16
no image
핸즈 온 머신러닝 :: 2. 머신러닝 프로젝트 처음부터 끝까지
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 2. 머신러닝 프로젝트 처음부터 끝까지 2장에서는 머신러닝 프로젝트에서 공통적으로 중요한 요소들에 대해 설명한다. 2.1 실제 데이터로 작업하기 인공적으로 만들어진 데이터셋 보다는 실제 데이터로 실험하는 것이 좋으며, 대표적인 데이터 저장소는 Kaggle이 있다. https://www.kaggle.com/ Kaggle: Your Home for Data Science www.kaggle.com 다양한 competit..
2020.01.15
no image
핸즈 온 머신러닝 :: 1. 한눈에 보는 머신 러닝
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 1. 한눈에 보는 머신 러닝 1장에서는 전반적인 머신러닝의 정의와 종류에 대해 언급한다. 짧게 짧게 짚고 넘어가겠다. 1.1 머신러닝이란? 머신러닝은 데이터로부터 학습하도록 컴퓨터를 프로그래밍 하는 것이다. 또한 어떤 작업에서 경험을 통해 성능을 향상 시키는 과정이다. 1.2 왜 머신러닝을 사용하는가? 전통적인 접근 방법으로 스팸 필터링을 한다면 수동적이며 데이터의 변화에 적응하지 못한다. 반면 머신러닝 기반으로 필..
2020.01.13
no image
Python numpy 파이썬 넘파이 r_ , c_
파이썬 넘파이의 r_, c_ 에 대해 설명하고자 한다. 데이터 전처리 과정에서 여러 행렬을 column으로 이어 붙이기 위해 numpy.c_을 사용하곤 한다. numpy.c_ 의 정확한 정의는 다음 document를 보면 알 수 있다. https://docs.scipy.org/doc/numpy/reference/generated/numpy.c_.html numpy.c_ — NumPy v1.17 Manual Translates slice objects to concatenation along the second axis. This is short-hand for np.r_['-1,2,0', index expression], which is useful because of its common occurren..
2020.01.09
no image
Bootstrap 반응형 Container & Grid
부트스트랩의 가장 큰 장점은 반응형 사이트를 만들기 쉽다는 것이다. 그리고 반응형 사이트의 핵심에 대해 알아보려고 한다. Container는 무언가를 담기 위해 사용하는 가장 기본적인 layout element이다. 공간이라고 생각하면 될 것 같다. Container 안의 물건들이 어떻게 배치될 지 여러 가지 설정을 넣어줄 수 있다. 가장 기본적으로, Container 자체의 크기가 화면의 크기에 따라 바뀌도록 할 수 있는데 반응형 웹 사이트의 근본이 된다. 위 사진이 그 설명인데, 예를 들어 container-lg class로 생성하면 Large (992 px) 미만일 때에는 픽셀 크기 자체가 되고, 이상일 때에는 960px 크기의 Container가 된다. https://getbootstrap.com..
2019.12.30
no image
웹 Bootstrap 적용하기
lockcept.kr 개인 웹 사이트를 가지고 있는데 디자인이 텍스트 나열 밖에 없어서 Bootstrap 을 적용해보고자 공부하고 글을 작성하게 되었다. 물론 Bootstrap 을 이용한 여러 무료 템플릿을 적용하여도 되지만, 디자인을 본격적으로 적용할 마음은 없었고 공부하며 하자는 마인드로 최소한의 공부 후 직접 적용하게 되었다. 부트스트랩은 트위터에서 시작한 오픈소스 프론트엔드 라이브러리로, 웹 디자인의 각종 레이아웃, 버튼, 입력창 등의 디자인을 CSS와 JS로 만들어 놓은 일종의 템플릿이라고 보면 된다. 웹을 만들 때에 디자인 하느라 소요되는 많은 시간들을 매우 짧게 만들어주었다. 추가로, 반응형 웹 사이트 (모바일 / PC 등 보는 크기에 따라 다르게 적용되는)를 만들 수 있다는 큰 장점이 있다..
2019.12.29
no image
Git 기본 (2) : branch, checkout, merge, diff, pull, fetch
https://blog.lockcept.kr/61 Git 기본 (1) : init, status, add, commit, push, track Git을 대충 사용 할 줄은 알았지만, Git의 근본 원리부터 완벽히 알지는 못하여서 공부를 하며 알게된 점에 대해 포스팅을 작성하고자 한다. 아직 정리하여 글을 작성하지 못하여서 일단 정보를 최대한 기록한 뒤.. blog.lockcept.kr 기존의 Git 글에 이어서 branch, checkout, merge, diff, pull & fetch 에 대해 작성하도록 하겠다. 기존 글의 마지막 상태이다. 현재 master branch 위에 있다. 1. branch branch는 마지막 커밋을 가리키는 포인터 이다. 그리고 각각의 커밋은 자신의 부모 커밋을 가리킨다..
2019.11.26
no image
Git Flow (깃 플로우) 기본 사용법
배달의 민족 (우아한 형제들) 기술 블로그에서 Git Flow의 존재에 대해 알게 되고 간단하게 공부 및 사용 해보았다. http://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html Git Flow는 Git을 사용하는 브랜칭기법 중 하나로 여러 개발자가 하나의 프로젝트를 개발하기 위해서 만든 브랜칭 규칙 및 모델이라고 보면 된다. Git Flow는 크게 Master, Develop, Feature, Release, Hotfix로 구분된다. Master : 언제든지 출시할 수 있는 상태의 브랜치 Develop : 개발자들이 주로 개발을 하게 되는 근본 브랜치 Feature : 개발자들이 하나의 기능을 추가하고 ..
2019.11.09