본문 바로가기

& 프로그래밍/& 머신러닝

(9)
최고의 AI 온라인 교육 프로그램 [엘리스 코딩] 나는 올 초부터 머신러닝, 딥러닝을 배우면서 수많은 온·오프라인 교육 콘텐츠를 접했다 첫 시작은 네이버에서 제공하는 '부스트 캠프'였다 각 분야에서 유명한 강사들의 강연을 무료로 볼 수 있다는 장점과 강의자료를 보고 따라할 수 있다는 점에서 나름 좋은 컨텐츠였다 하지만, 오프라인으로 촬영한 강의를 각 주제별로 편집에서 제공하다보니 매끄럽게 연결되는 느낌은 부족했었다 더구나 강연을 따라하면서 '내가 코드를 제대로 작성하고 있는지, 순서가 맞는지' 실시간으로 체크하는게 어려웠다... 프로젝트에 대한 피드백을 받으려면 유료로 진행해야 하는 부분도 있어서 교재 살 돈도 빠듯한 학생신분으로선, 일회성 피드백에 비용을 투자하기가 쉽지 않았다 ㅠㅠ 그밖에 패스트캠퍼스, 정부연계 무료 강의 등 수많은 강의를 들었지만 ..
AWS Machine Learning Summit 개최 아마존 AWS에서 머신러닝 서밋을 개최한다고 한다 아시아(SGT)시간으로 6월 3일 오전에 개최되고, AI 및 머신러닝에 대한 정보를 공유하려는 목적으로 보인다 오늘날 머신러닝기술(이하 ML)은 단순히 기계, 기술적 개발을 위한 시스템을 넘어, 예술, 과학, 운동 등 다양한 분야에서 사용되는 기술이며, ML을 통해 각 분야에서 예상하지 못했던 새로운 아이디어가 만들어지기도 하면서 무한한 확장성과 성장력을 보여주고 있다. AWS에서는 이번 Summit을 통해 ML이 비즈니스에 미치는 영향, ML 구축 모범사례 등을 공개하고, 30개 이상의 ML 교육세션을 제공하여 누구나 ML, AI 기술을 학습할 수 있도록 제공할 예정이다. 홈페이지에서 예고한 세션 리스트를 훑어보았는데, 내 기준에서 가장 흥미로운 세션이..
Pandas(판다스) 이해하기 파이썬을 점차 응용하고 활용하면서 numpy를 써보곤 '이건 신세계다' 하면서 점점 재미를 붙였다 그런데 그 재미를 맛본지 일주일도 채 안됐는데.... Pandas를 만났다 엄청 쉽고, 편하고, 심플 그 자체......... Pandas의 장점 - 기본적인 통계데이터를 제공하여 일단 보기 편하다 - NaN values를 쉽게 조작할 수 있다 - 숫자, 문자열을 알아서 로드하고 이것도 쉽게 조작할 수 있다 - 여러 dataset을 쉽게 merge(합병)할 수 있다 - Numpy와 Matplotlib를 통합한다 # 라이브러리 임포트 import pandas as pd # 판다스 시리즈 데이터 생성하기 my_data = [30, 6, 'Yes', 'No'] #리스트형식으로 넣어주어야 한다 my_index = ..
자주 사용하는 파이썬 라이브러리 모음 파이썬 코드를 작성함에 있어 자주 사용하는 라이브러리와 틈틈히 외우고, 알아두면 좋은 내용을 끄적여본다 import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt #차트관련 # 차트 사이즈 손보기 plt.figure(figsize = (12,6)) # 원하는 사이즈 튜플형식으로 넣을 것 # 개수 세는 차트 sns.countplot(data = x, y = ) #y값은 알아서 정하는거죠 벡터라이징 from sklearn.feature_extraction.text import CountVectorizer vectorizer = CountVectorizer vectorizer.fit_transform(s..
Facebook이 개발한 오픈소스 Prophet 라이브러리 사용하기 https://facebook.github.io/prophet/docs/quick_start.html#python-api Quick Start Prophet is a forecasting procedure implemented in R and Python. It is fast and provides completely automated forecasts that can be tuned by hand by data scientists and analysts. facebook.github.io 페이스북이 Prophet(프로펫)이라는 오픈소스 라이브러리를 개발했다 물론~ 내가 코딩공부를 하기 훨씬 오래전에 개발해놓은 라이브러리겠지 날짜별 데이터 예측에 가장 유용한 라이브러리로서, 과거 데이터를 바탕으로 미래 ..
ImageDataGenerator [이미지 전처리] ImageDataGenerator란, 모델안에 이미지를 학습시킬 때, 그 학습량이 적을 경우 가지고 있는 학습데이터를 조금씩 변형시켜서 학습데이터를 늘려가는 방식이다 쉽게말해 '이미지 증강(증식)'이라고 생각하면 되겠다 예를들어 아래와 같은 강아지 사진이 있다 머신러닝 학습을 위해선 학습량에 따라 예측값이 달라지는데 위 사진 한장만 달랑 가지고 있으면 컴퓨터가 학습할 데이터가 턱없이 부족하지 않은가 이렇게 부족한 데이터 학습을 컴퓨터가 스스로 변형시켜서 학습량을 늘려가도록 해주는 것이다 위처럼 기존에 가지고 있던 사진을 반전시키거나, 크롭, 회전 등 다양하게 변형시켜 학습데이터를 스스로 만들어내도록 코드를 입력해주는 것이다 from tensorflow.keras.preprocessing.image imp..
Callback 함수 활용하기 Callback 함수는 머신러닝 학습을 진행중일때 자주 사용하는 함수이다 예를들어, 내가 epochs값을 임의로 15이라 할당하고 모델 학습을 진행시켰다 내가 예측한 accuracy값은 95%라서 그 이상 굳이 학습시킬 필요가 없다고 생각한다 history = model.fit(train_generator, steps_per_epoch= 8, epochs= 15, verbose = 1, callbacks=callbacks) 자, 모델을 학습시키는데 epochs값이 15로 지정되어 있기 때문에, 5번째 학습때 이미 내가 원하는 95%를 넘겼음에도 계속해서 학습을 진행시키는 모습을 볼 수 있다 학습에 일정한 패턴이 예상되거나, 내가 원하는 예측수준에 도달하면 학습을 종료시킬 수 있도록 하는 기능이 바로 오늘..
Categorical Data Encoding(데이터 전처리 작업) 머신러닝 알고리즘은 문자열 값을 그대로 인식하지 못한다 컴퓨터는 숫자로 구성되어 있는 프로그램이기 때문에 문자를 숫자로 변환시켜줘야 하는 것이다 이를 '데이터 전처리 작업'이라고 부른다 머신러닝 학습에 최적화된 수를 제공하기 위해 대개 많이 사용하는 2가지 인코딩 방법을 소개한다 1. Label Encoding(레이블 인코딩) - 문자열 값을 일괄적인 숫자 값으로 변환시켜준다 - 다만 학습데이터로 사용하기에는 예측성능이 떨어지기 때문에 추천하진 않는다 # 변환시킬 값 : X의 ['Gender'] from sklearn.preprocessing import LabelEncoder # sklearn 모듈에서 레이블인코더를 불러온다 labelencoder_Gender = LabelEncoder() # 불러온 ..