728x90

머신러닝(Machine Learning) 22

ML로 해결할 수 있을 것 같은 문제들 1편

제가 일하는 도메인에 ML을 이용해서 해결할 수 있는 문제가 무엇이 있을지 생각해봤습니다. ML을 이용하는 이유는 다음과 같습니다. 1. 자동화 사람의 손이 필요한 일을 자동화할 수 있습니다. 가장 흔한 예를 들면 이미지 분류, 번역등이 있습니다. 2. 문제 해결 방법이 복잡하거나 모르는 경우 일반적으로 프로그래밍을 통해서 문제를 해결하기 위해서는 사람이 문제 해결을 위한 로직을 프로그램으로 구현을 해야합니다. 예를 들어 2와 3을 입력 값으로 넣었을 때 6, 4와 4를 입력 값으로 넣었을 때 16이라는 값이 나오기 위해서 y = a * b라는 계산식을 프로그램을 통해서 만들어야 합니다. ML을 사용한다면, 2와 3을 넣으면 6, 4와 4를 넣으면 16이 나온다는 입력값과 결과값을 알려주면 y = a *..

AutoML을 사용하는 이유

현재 가지고 비즈니스 문제를 AutoML을 이용해서 해결하려고 합니다. 일반적으로 온프레미스 환경에서 ML로 문제를 해결할 때에는 scikit-learn,Tensorflow, Pytorch, Spark ML 등을 이용하는 경우가 많은데 AutoML을 선택한 이유를 생각해봤습니다. AutoML이란? 먼제 AutoML이 무엇인지 정의해보겠습니다. MS 사이트에 정리된 내용을 발췌했습니다. 자동화된 Machine Learning(자동화된 ML 또는 AutoML이라고도 함)은 시간 소모적이고 반복적인 기계 학습 모델 개발 작업을 자동화하는 프로세스입니다. 데이터 과학자, 분석가 및 개발자는 모델 품질을 유지하면서 확장성, 효율성 및 생산성이 높은 ML 모델을 빌드할 수 있습니다. Azure Machine Lea..

google Colaboratory 에서 구글 드라이브에 있는 파일 쉽게 이용하기

google Colaboratory(이하 Colab) 를 이용하면 별도의 서버를 준비하지 않아도 머신러닝 개발을 할 수 있는 파이썬 환경을 이용할 수 있습니다. 머신러닝 모델 개발을 만들기 위해서는 학습에 이용할 데이터셋이 필요합니다. 별도의 서버나 개인 PC에서 파이썬 환경을 구축 했다면 PC나 서버에 있는 파일을 이용하면 됩니다. 하지만 Google Colaboratory를 이용하면 데이터셋 파일을 어떻게 이용할 수 있을까요? 가장 간단한 방법은.... Colab 파일이 있는 구글 드라이브에 학습에 이용할 파일을 올린 후 Colab에서 사용하는 방법입니다. 예전에도 이 방법이 있었지만, 조금 복합하고 어려웠습니다. 예전에 이용하던 방법은 아래와 같습니다. 1단계 !apt-get install -y -..

keras에서 AttributeError: module 'pandas.core.computation' has no attribute 'expressions' 에러 발생 시 해결 방법.

keras에서 backend를 tensorflow로 하고 아래과 같은 코드를 실행 시 에러가 발생 합니다. tb_hist = keras.callbacks.TensorBoard(log_dir='./graph', histogram_freq=0, write_graph=True, write_images=True) 에러는 아래와 같습니다. AttributeError: module 'pandas.core.computation' has no attribute 'expressions' 다양한 해결 방법이 있는데 저는 dask 패키지를 업데이트 하니까 해결되었습니다. 해결 전 : dask-0.15.3해결 후 : dask-0.16.0 해결 방법은 아래와 같은 코드를 실행하여 dask 패키지를 업그레이드 하면 됩니다. pi..

추천 시스템 관점에서 대체재와 보완재에 대한 일반적인 생각

예전에 학교에서 추천 시스템 관련 수업을 들을 때 대체재와 보완재에 대한 개념을 배웠습니다. 그래서 회사에서 추천 시스템을 구축할 때도 이 컨셉으로 적용 했습니다. 그런데 실제 고객의 장바구니, 구매 데이터를 분석 하다보니 대체재와 보완재에 대해서 다른 측면으로 볼 수 있겠다고 생각이 들어서 시스템에 적용하기 전에 정리해볼 겸 적어 보려고 합니다. 우선 일반적으로 알고 있는 대체재와 보완재에 대해 이야기 해보겠습니다. 사전적 정의는 아래와 같습니다. 대체재 : 서로 대신 쓸 수 있는 관계에 있는 두 가지의 재화. 쌀과 밀가루, 만년필과 연필, 버터와 마가린 따위이다. 보완재 : 서로 보완 관계에 있는 재화. (출처 : 네이버 국어 사전) 예를 들자면 아이폰에게 갤럭시S는 대체재이고, 아이폰 케이스는 보완..

SVD를 이용한 추천 시스템 구현하기

차원 축소 기법 중 하나인 SVD(Singular value Decomposition, 특이값 분해)을 추천 시스템에 어떻게 적용하는지 예제를 통해서 알아 보도록 하겠습니다. 차원 축소 알고리듬은 대표적으로 3가지가 있습니다. 1. PCA(Principal component analysis, 주성분 분석) 2. SVD(Singular Value Decomposition, 특이값 분해) 3. NMF(Non-negative Matrix Factorization,비음수 행렬 인수분해) 이 중에 SVD에 대해 최대한 수학적인 내용들을 제외하고 추천 시스템에 SVD를 적용하기 위한 예제 위주로 설명을 드리겠습니다. 이론적, 수학적으로 설명된 자료는 많으나 실제로 코드를 이용해서 어떻게 구현하는지 나와 있는 자료가..

추천시스템 개발을 위한 SVD(특이 값 분해, Singular-value decomposition) 이해

책이나 인터넷을 찾아보면 SVD 이론에 대한 내용은 많이 있지만, 추천 시스템을 개발 관점에서 SVD을 사용해야 되는 이유와 코드를 이용한 설명이 부족한 것 같습니다. 그래서 이번 기회에 정리해 보려고 합니다. 수학적으로는 선형대수학을 알아야 하지만 개발자 입장에서는 수식보다 코드를 보고 다양한 데이터를 대입해보면서 이해하는 것이 훨씬 빠를것 같습니다. 그래서 코드를 통해 쉽게 이해할수 있도록 정리해보겠습니다. 정리 순서는 아래와 같습니다. 차원 축소 정의SVD 정의SVD를 사용한 차원 축소SVD 계산R을 이용한 SVD 이해R을 이용한 추천 시스템에서 SVD 사용하기R을 이용한 비어있는 값이 많은 고객 데이터에서 SVD를 이용한 고객 예상 점수 예측하기 위의 내용은 아래 링크를 보시면 확인할 수 있습니다..

Association Analysis / Association Rule / Apriori 알고리즘 - 3 of 3

연관글 보기Association Analysis / Association Rule / Apriori 알고리즘 - 1 of 3Association Analysis / Association Rule / Apriori 알고리즘 - 2 of 3Association Analysis / Association Rule / Apriori 알고리즘 - 3 of 3 시각화를 이용하면 수 많은 데이터에서는 보이지 않는 특징이 쉽게 눈에 띈다는 장점이 있다. 그래프를 그리기 위해 상관관계를 보여주는 행렬을 구해서SNA(social Network Analysis) 라이브러리의 gplot 함수를 이용해 weighted graph를 그려보도록 하자.상관관계를 그리기 위해서는 데이터타입이 matrix여야 한다. 하지만 아래과 같이 ..

Association Analysis / Association Rule / Apriori 알고리즘 - 2 of 3

연관글 보기Association Analysis / Association Rule / Apriori 알고리즘 - 1 of 3Association Analysis / Association Rule / Apriori 알고리즘 - 2 of 3Association Analysis / Association Rule / Apriori 알고리즘 - 3 of 3 이번에는 직접 코딩을 하면서 association rule에 대해서 보고자 한다. 아래 데이터는 20개의 건물에 입주한 상점 유형을 보여주는 데이터이다. 이 데이터를 사용하여 association rule을 이용한다면, 건물을 기준으로 연관성이 있는 상점이 무엇인지 알아볼 수 있다. 이러한 사례를 응용한다면 온라인 쇼핑몰 장바구니에 담긴 상품을 기준으로 고객이..

728x90