본문 바로가기

Theory/MachineLearning

(7)
전처리와 학습 과정을 하나의 과정으로 실행하는 sklearn의 pipeline 2020. 4. 6. 08:00 아마 Python으로 머신러닝을 공부하시는 분들은 scikit-learn을 많이들 사용하실텐데요. 보통 결정나무를 제외하면 대부분 전처리를 꼭 하게 됩니다. 하다못해 Scaler라도 적용을 하겠죠. 이 때 이런 과정 - Scaler와 모델의 fit 과정이라도 한 번에 진행하면 편할 수도 있습니다. 여러 방법이 있겠지만, 그 중 하나는 pipeline입니다.일단, 이번에는 wine 데이터를 사용해 보도록 하겠습니다. 이 데이터는 그렇게 중요하지 않구요. 그냥, pipeline 예제만 보일려고 하는 것입니다. 간단하게 red / white 와인을 분류해보려는 시도이지요^^간단하게 특성 X과 라벨 y을 잡았구요~pipeline을 StandardScaler를 통과하고 DecisionTreeClassifier를 ..
머신러닝을 이용한 Human Activity Recognition 실습 2019. 10. 29. 08:00 사람의 몸에 스마트폰(에 있는 자이로, 가속도센서 데이터)을 붙여서 데이터를 얻어서 그로부터 사람의 행동을 센서데이터 확인하려는 연구가 있습니다. 이 연구는 대부분 (딥러닝을 포함한) 머신러닝 분야에서 활발한듯 합니다. 그런 데이터를 이번에 하나 가지고 살짝 실습해 보려고 합니다.UCI에서 방금이야기한 Human Activity Recognition (HAR) 데이터를 배포하고 있습니다. 읽어보면 2012년 데이터이고 이때 사용한 기기는 삼성 갤럭시2라고 되어 있습니다. 이 데이터가 zip으로 되어 있어서 이를 제 github 계정에 압축을 풀어서 다시 올려놓았습니다.왜냐면 오늘 글은 구글 Colab으로 읽을거여서 그냥 편하게 데이터를 url로 읽기 위해서 입니다.이 데이터는 위의 특징을 가집니다^^데이..
Scikit Learn을 이용한 라벨인코딩 - LabelEncode 2019. 9. 30. 08:00 라벨인코딩은 데이터사이언스, 머신러닝 과정에서 많이 사용하는 기능입니다. Scikit Learn에서는 간단한 라벨인코딩 기능을 제공하는데요. 오늘은 그 간단한 기능을 살짝 설명하려고 합니다.오늘은 아이리스 데이터를 대상으로 하겠습니다.아이리스 데이터를 불러와서 데이터는 value 위치에, feature_names는 컬럼이름으로 잡고, 아이리스의 품종을 의미하는 target 데이터도 컬럼으로 포함시켰습니다.target_names의 경우는 setosa, versicolor, virginica로 세 가지입니다. 라벨인코딩이라는 것은 이름으로 되어있는 것을 숫자로 혹은 그 반대로 변환하는 것입니다.그렇게 해주는 기능을 손쉽게 sklearn이 제공하는 것이지요.라벨인코딩 기능을 사용하기 위해서 sklearn의 p..
Scikit Learn (sklearn) SGDRegressor 사용할 떄 Loss 그래프 확인하는 방법 2019. 9. 23. 08:00 요즘 저는 한양대에서 본교와 에리카를 합쳐서 수업하는 머신러닝 수업을 교양으로 공동 수업 중이고, 한양대 에리카에서 로봇공학과 학생들을 대상으로 기계학습론이라는 과목도 공동 진행 중인데요. 그래서 수업용으로 자료를 만들다가, 한 가지 발견한 것이 있네요. 바로 scikit learn의 linear_model에 SGDRegressor에서 케라스나 텐서플로우 처럼 iteration마다 loss를 history로 저장해서 그래프로 확인하는 기능을 찾을 수 가 없더라구요ㅠㅠ. 그래서 역시 구글을 뒤졌죠^^ 이제 없던 옵션을 만들러 갑니다.^^ (아 근데 혹시 이것보다 더 간단한 방법이 있을 수 있죠.ㅠㅠ. 제가 들 찾아봤을 수 있으니까요ㅠㅠ) import numpy as np import matplotlib.p..
결정트리를 이용한 타이타닉 생존자 예측 2018. 7. 2. 08:00 타이타닉 생존자 예측이라는 주재를 가지고 신경망으로 분류를 했던 적이 있습니다. 당시엔 Keras를 사용했는데요. 이번에는 결정트리 Decision Tree 기법을 이용하려고 합니다. 그리고 사이킷런 Scikit Learn을 이용할 거구요^^ 먼저 데이터는 이전에 했던 [Keras] 타이타닉 생존자 예측에서 사용한 엑셀로된 데이터 입니다. import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline raw_data = pd.read_excel('titanic.xls') raw_data.info() 필요한 모듈과 데이터를 읽었습니다.데이터가 1300개 정도로 보이지만, 중요 데이터인 age가 null이 있어..
연습삼아 해보는 비트코인(bitcoin) 시세 예측하기 - 그런데 비트코인이랑 목요일이 뭔 관계가 있나??? 2018. 1. 8. 08:00 요즘 비트코인의 열풍이 대단합니다. 전 뭐 인형 뽑기조차 무서워하는 소심한 캐릭터라 별관심이 없었는데, 그래도 주변에서 많이들 하시고, 또 많이들 수익을 얻었다고 하니 살짝 뉴스를 좀 찾아 읽어보는 수준이었죠^^. 그러다가 문득 요즘 제가 관심있어하는 데이터 사이언스 관련해서 연습용으로 한 번 다뤄볼까하는 생각을 하게 되었습니다. 그래도 명색이 데이터 사이언스 관련 책인 파이썬으로 데이터 주무르기[바로가기]도 쓴 데이터 사이언스 저자인데 말이죠^^. 그래서 책에서도 소개했지만, Selenium[바로가기]과 fbprophet[바로가기]을 이용해서 비트코인 시세 예측을 한 번 시도해 보았습니다. 두 모듈 모두 제가 블로그에서 다루기도 헀지요^^.먼저 비트코인의 시세 데이터는 위 Bitcoincharts라는 ..
주가 예측? 나도 해보자~ Forecast 수행에 적합한 Prophet 2017. 8. 3. 08:00 제목은 좀 자극적(^^)이지만, 오늘은 시계열(Time Series) 데이터를 대상으로 예측(forecast)한 결과를 손쉽게 보여주는 prophet이라는 아이를 소개할까합니다. 개발된지 반년쯤 된 따끈따끈한 아이입니다. 그리고 페이스북의 Core Data Science 팀에 의해 개발되고 공개된 아이입니다. 벌써 신뢰가 팍팍 가죠?^^ 그들 홈페이지[바로가기]에 있는 소개 내용을 가져오면 Prophet is a procedure for forecasting time series data. It is based on an additive model where non-linear trends are fit with yearly and weekly seasonality, plus holidays. It wo..

반응형