목록전체 글 (571)
꿈 많은 사람의 이야기
포스팅 주제 더보기 이번 포스팅은 지난 포스팅에 이어서 캐글의 신용카드 사기 탐지(kaggle credit card fraud detection) 데이터를 활용합니다. 또한, kaggle credit card fraud detection의 커널 중 https://www.kaggle.com/janiobachmann/credit-fraud-dealing-with-imbalanced-datasets 커널을 참조하여 공부하고 정리하였습니다. 이번 글은 지난 글에서 진행한 신용카드 사기 탐지 데이터의 데이터 스케일(data scale)을 변경시켜보려고 합니다. 그리고 이렇게 데이터 스케일이 변경되었을 때 머신러닝 모델 성능이 어떻게 변화되는지 살펴보겠습니다. 지난 포스팅에서는 데이터 원본을 그대로 사용하여 단순히..
이번 글은 본인의 첫 강의 경험을 기반으로 작성되는 글이다. 어떻게 이러한 강의 기회가 오게 되었고 왜 내가 강의를 해보기로 결심했는지 그리고 그 후기는 어떤지 작성해보고자 한다. 부디 어떤 사람들에게는 도움이 되기를 바라면서. 그리고 무엇보다 미래에 또 다른 기회가 왔을 때 이 글을 기반으로 본인 자신을 돌아보기 바라면서 작성한다. 글이 꽤나 길다. 짧게 요약하면 아래와 같다. - 이번 강의는 5일동안 하루 7시간 강의하는 Data Engineering 강의었다. Apache Hadoop, Spark, Hive, NiFi 등의 내용을 다룬 강의다. - 강의 기회가 오면 해보는 것을 추천한다. 정말 다양한 경험을 할 수 있다. - 하지만, 무조건 하라고는 못하겠다. 상황을 보고 판단해야 한다. - 강의에..
이번 포스팅은 머신러닝으로 신용카드 사기를 탐지하는 모델을 만들어보려고 합니다. 해당 포스팅의 데이터는 kaggle에서 제공해준 kaggle credit card fraud를 사용했습니다. 또한, 한 커널을 필사하면서 진행하며 참고했는데요. 커널은 아래와 같습니다. (https://www.kaggle.com/janiobachmann/credit-fraud-dealing-with-imbalanced-datasets) 머신러닝의 기본적인 내용을 공부하면서 이것을 어떻게 적용할 수 있을까?를 정말 많이 고민하게 됩니다. 단순히 캐글에서 제공해주는 타이타닉으로 해본다? 좀 뭔가 현설직이지는 않습니다. 개인적으로는 이 신용카드 사기 탐지가 머신러닝 기본기를 다지기도 좋고 재밌기도 하더군요! 그래서 머신러닝으로 신..
이번 포스팅은 우분투 환경에서 도커를 설치하는 방법에 대해서 소개합니다. ubuntu 16.04 기준으로 docker를 설치합니다. 어떤 환경이든 상관없긴 할태지만 저는 AWS EC2 환경에서 Ubuntu 16.04를 설치했습니다. 설치하는 과정은 굉장히 간단합니다. 먼저 sudo apt-get update를 해줘서 apt를 update해줍니다. AWS EC2에서 처음 인스턴스를 생성했을 때는 이렇게 update를 해줘야 하더군요. 그리고 sudo apt-get remove docker docker-engine docker.io를 통해 기존에 있던 도커가 만약에 있으면 여러 충돌 문제 방지를 위해 미리 지워줍니다. 그리고 이제 도커를 설치해주면 됩니다! sudo apt install docker.io 를..
AWS 서버를 사용하다보면 port를 열어야합니다. 근데 이게 ui가 바뀌면 어딨는지 헷갈려서 AWS 서버에서 포트를 여는 방법(AWS port open)에 대해서 정리하고자 합니다. 참고 : 저는 AWS EC2 서버 환경 기준 AWS 서버 포트를 open하였습니다. 저 같은 경우에는 아래와 같은 상황이었습니다. 내부적으로 포트는 열려 있는 상태였죠. ubuntu 포트 확인하는 방법인 netstart -tnlp를 쳐보니 원하는 포트가 열려있었습니다. 이렇게 말이죠. 근데 이거를 웹 환경에서 접속할 수 있어야 하는데 웹으로 접속하니 연결할 수 없다고 나옵니다. 즉, AWS 자체에서 포트를 열어주지 못한 것이죠. 일종의 AWS 규칙을 넣어주어야 합니다. AWS의 인스턴스가 있는 곳으로 이동하세요. 거기에 보..
서버를 운영하다보면 하드디스크(HDD)의 용량이 부족할 때가 있습니다. 사실 종종 있는 일입니다. 특히나 클라우드 환경에서 사용할 때는 처음에 하드디스크 용량이 적게 잡혀 있을 수가 있기 때문입니다. 그래서 이번 포스팅은 AWS 서비스 중 EC2를 기준으로 HDD(하드디스크)를 늘리는 방법에 대해서 소개합니다. 자세한 내용은 AWS 공식 문서를 참고해주시면 될 것 같습니다.(https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ebs-describing-volumes.html) 저는 간단하게 사용하는 방법에 대해서 소개합니다. 먼저 AWS 서비스에 들어가서 EC2 인스턴스를 확인합니다. 인스턴스 안에 루트 디바이스라는 것이 있는데요. /dev/sda1 뭐..
얼마전 AWS를 사용할 일이 있었습니다. AWS 서비스 중 EC2라는 서비스를 사용했는데요. 직접 EC2 인스턴스도 생성하고 서버를 셋팅을 했습니다. 그러고 나서 이제 SSH 접속을 하려고 했는데요. 바로 root 계정으로 접속하려고 하니 바로 되지 않았습니다. 보안 때문에 그런 것 같았어요. 그래서 AWS EC2 서비스를 실행시키고 Putty 같은 SSH 프로그램으로 EC2에 접속하는 방법을 정리해보고자 합니다. 자, 먼저 EC2의 인스턴스 정보가 있는 창으로 가야합니다. AWS에서 제공해주죠 여기에서 보면 퍼블릭 IP, 퍼블릭 DNS 등이 보입니다. 저 정보를 가지고 Putty 등을 사용해 SSH 접속을 해야합니다. 먼저 저걸로 바로 접속을 하면요 여기서 접속을 못합니다. 이게 인스턴스를 생성할 때 ..
지난 포스팅까지 머신러닝 앙상블에 대해서 계속 올리고 있습니다. 머신러닝 앙상블(machine learning ensemble)에서는 대표적으로 배깅(bagging)과 부스팅(boosting)이 있습니다. 그 중 앙상블 부스팅(ensemble boosting)에 대해서 지속적으로 보고 있습니다. 머신러닝 부스팅 알고리즘은 틀린 부분에 가중치를 더하면서 진행하는 알고리즘인데요. Gradient Boosting Machine(GBM)은 그 가중치를 경사하강법(gradint boosting)으로 진행하였습니다. 그리고 지난 포스팅에서 소개한 ensemble xgboost는 기존의 gradient boosting 알고리즘의 단점을 조금이라도 보완한 알고리즘이라고 했습니다. 그렇게 강력한 성능을 제공하는 xgbo..
머신러닝에서는 앙상블(ensemble) 모델을 빼놓을 수가 없습니다. 이 앙상블에는 배깅(bagging)과 부스팅(boosting) 그리고 보팅(voting) 방법이 있습니다. 크게 보면 말이죠 이 중 ensemble bagging에 대해서는 지난 포스팅에서 random forest(랜덤 포레스트)로 설명을 했습니다. 그리고 ensemble boosting 또한 지난 포스팅에서 Gradient Boosting Machine와 Adaboost를 예시로 들면서 포스팅을 올렸습니다. 하지만 이런 GBM에는 문제점이 있습니다. Gradient Boosting의 문제점 머신러닝에서 앙상블 모델 중 부스팅(boosting)은 정말 강력합니다. 하지만 단점이 없는 것은 아닙니다. 특히 gradient boosting..
xgboost는 앙상블(ensemble) 부스팅(boosting)에서 많이 사용하는 알고리즘 중 하나입니다. 이 xgboost는 파이썬 사이킷런(python scikit learn)에서 그냥 제공되지는 않는데요. 즉, 따로 설치를 해주어야 합니다. 사이킷런을 설치했다고해서 xgboost가 install되어 있지 않습니다. 그래서 xgboost를 따로 설치해주어야 합니다. 이번 포스팅은 윈도우 10 환경에서 앙상블 xgboost(ensemble xgboost)를 설치해보는 포스팅입니다. 1. 파이썬 아나콘다를 이용한 xgboost 설치 (python anaconda3 xgboost install) 이 방법은 굉장히 간단합니다. anaconda3가 제공해주는 강력한 패키징 기능으로 xgboost를 간단하게 ..