728x90

머신러닝&딥러닝 26

[혼자공부하는머신러닝+딥러닝] 1. 마켓과 머신러닝

아래 내용은 "혼자 공부하는 머신러닝+딥러닝" 을 공부하며 간략하게 정리한 내용입니다. 쉬운 사례로 어려운 수식 없이 설명하므로 입문자에게 강추하는 책입니다! 1. 시작하기 전에 한빛 마켓 김팀장은 점점 많아지는 물건을 파악하기에 역부족이라 요즘 한창 인가가 많은 머신러닝을 이용해 문제를 해결하고자 하였습니다. 앱마켓 최초로 살아 있는 생선을 판매하기 시작했고 가장 빠른 물류센터에서 곧바로 배송하기로 했습니다. 하지만 물류 센터 직원이 생선 이름을 외우지 못하는 문제가 발생하기 시작했고 김팀장은 담당자에게 자동으로 알려주는 머신러닝을 만들라고 지시하였습니다. 2. 도미 데이터 준비하기 한빛 마켓은 '도미', '곤들매기', '농어' '강꼬치고기', '로치', '빙어', '송어' 물고기를 판매하나 우선 '도..

[R과 Python 비교] 데이터 프레임 병합하는 다양한 방법

데이터 분석 혹은 지도학습 모델을 학습하기 위해서는 반드시 하나의 통합된 데이터셋이 필요합니다. 많은 경우 데이터는 두 개 이상으로 나뉘어져 있고 이들을 병합해야하는 전처리를 수행해야합니다. 센서, 로그, 거래 데이터 등과 같이 크기가 매우 큰 데이터는 시간과 ID 등에 따라 분할되어 저장되어 있습니다. 통합해야하는 데이터가 많은 경우 빈 데이터 프레임을 생성하는데 반복문을 사용하여 불러온 데이터를 함수를 이용하면 효율적으로 통합할 수 있습니다. 오늘은 데이터를 병합하는 방법에 대해서 R과 python 명령어를 비교해보도록 하겠습니다. 1. R코드 예제로 사용할 데이터프레임을 생성해보겠습니다. CLASS

[scikit-learn] PCA 기능

PCA(Principal Component Aanalysis)를 공부하면서 machine learning 페이지를 참고하여 정리한 내용입니다. 주성분 분석(PCA)은 데이터의 여러 feature를 주성분(PC)이라고 하는 대표적인 feature로 차원을 축소하는 알고리즘입니다. 이 방법은 데이터의 많은 정보를 축약하여 효과적으로 높은 차원의 데이터값의 변화를 설명할 수 있습니다. 이 튜토리얼에서는 먼저 Scikit-learn을 사용하여 PCA를 구현한 다음 코드를 사용하여 단계별 구현과 PCA 알고리즘 이면의 완전한 개념을 이해하기 쉬운 방법으로 설명하고 있습니다. 1. scikit-learn을 사용하여 PCA 구축 scikit-learn 패키지의 decomposition 모듈은 데이터를 principa..

[XAI 설명가능한 인공지능] 3. 모델 튜닝하기-Xgboost

아래 내용은 XAI를 공부하며 'XAI 설명 가능한 인공지능, 인공지능을 해부하다' 서적을 요약 정리한 내용입니다. 실습을 통해 본 컴퓨터 세팅에 따라 코드 부분이 다를 수 있습니다. 연관게시글 더보기 1. 설명가능한 인공지능 'XAI'과 개발 준비 2. 모델 생성 및 해석 실습-Xgboost 3. 모델 튜닝하기 앞서 실습한 예제는 XGBClassifier()의 기본 파라미터를 사용하였습니다. 이제 모델 파라미터를 튜닝하면서 최적의 정확도를 찾아보겠습니다. 1. 기본 모델 결과 위 모델은 Glucose와 Age, BMI 피처만 사용해 당뇨를 진단하고 있습니다. 학습에 사용한 피처는 총 6개인데 의사 결정 트리에서 나온 분기는 3가지뿐입니다. 물론 해당 모델은 81.17%의 높은 테스트 정확도를 보이고 있..

[XAI 설명가능한 인공지능] 2. 모델 생성 및 해석 실습-Xgboost

아래 내용은 XAI를 공부하며 'XAI 설명 가능한 인공지능, 인공지능을 해부하다' 서적을 요약 정리한 내용입니다. 실습을 통해 본 컴퓨터 세팅에 따라 코드 부분이 다를 수 있습니다. 연관게시글 더보기 1. 설명가능한 인공지능 'XAI'과 개발 준비 2. 모델 생성 및 해석 실습-Xgboost 3. 모델 튜닝하기 실습1 : 피마 인디언 당뇨병 결정 모델 이번 장은 실습 데이터를 가지고 간단한 실험을 해보겠습니다. 데이터 이름은 '피마 인디언 당뇨병 진단'으로 세계에서 당뇨병 발병 비율이 가장 높은 애리조나 주의 피마 인디언을 대상으로 조사한 자료입니다. 자료 속정은 8가지로 다음과 같습니다. 1. 임신 횟수 2. 경구 포도당 내성 검사에서 혈장 포도당 농도(2시간 이후 측정) 3. 확장기 혈압(mmHg)..

[XAI 설명가능한 인공지능] 1. 'XAI' 개념 및 개발 준비

아래 내용은 XAI를 공부하며 'XAI 설명 가능한 인공지능, 인공지능을 해부하다' 서적을 요약 정리한 내용입니다. 실습을 통해 본 컴퓨터 세팅에 따라 코드 부분이 다를 수 있습니다. 연관게시글 더보기 1. 설명가능한 인공지능 'XAI'과 개발 준비 2. 모델 생성 및 해석 실습-Xgboost 3. 모델 튜닝하기 XAI(2016-2021) XAI는 '설명 가능한 의사 결정 체계'라는 용어로 1975년 처음 등장합니다. 이 논문을 쓴 뷰캐넌(Buchanan)과 쇼트리프(Shortliffe)는 의학도들의 행동을 관찰하던 중 그들의 의사 결정에 의심을 가졌습니다. 당시 의사들은 매우 적은 수의 환자들을 보고 병명을 판단했기 때문입니다. 통계를 연구하던 둘은 의사들의 부정확한 추론 과정을 확률적으로 모델링하는 ..

Pytorch를 활용한 Timeseries 예측 모델(1) - LSTM

이 장에서는 Multiple column을 갖는 Timeseries 형태의 데이터를 예측하는 모델을 만들며 LSTM을 사용한 모델링 과정을 서술한다. 직전 데이터 N개의 정보를 활용하여 이후 1개 시점을 예측하는 Many to one 방법을 사용하였다. 예시로 사용하는 데이터는 구글 주식 데이터로 1주 전(1~7) 데이터를 가지고 8일째 가격을 예측하는 모델을 만들 것이다. Data 주식을 예측하기 위해 사용할 수 있는 데이터는 시가, 종가 등 5개의 컬럼이며 이를 Input dimension이라고 부른다. 이전 7일의 정보를 활용하여 그 다음 종가를 예측하므로 Sequence = 7, Output dimension = 1이다. LSTM 바닐라 RNN은 비교적 짧은 시퀀스에 대해서만 효과를 보이는 단점이..

[Jupyter notebook] 아나콘다 가상 환경 생성 및 활용

파이썬을 사용하면서 여러 패키지들을 설치하다보면 어느 순간 에러가 뜨는 경우가 생기게 됩니다. 또 다양한 프로젝트들을 진행함에 따라 사용하는 패키지들의 버전이 달라지게 되는데 이때 서로 의존하는 버전이 달라지면서 충돌하는 경우가 종종 발생합니다. 그런 경우 패키지를 삭제하고 재설치하는 경우가 생기게 되는데 이런 버전 문제를 막기 위해 가상환경을 사용하게 됩니다. python과 anaconda를 설치하고 Anaconda Prompt를 키면 아래와 같은 첫 화면을 보시게 될겁니다. 가장 기본은 base로 가상환경을 설정해서 attach하게 되면 해당 부분이 변경되게 됩니다. 1. 아나콘다 가상 환경 생성 conda create -n XAI python=3.6 anaconda 설치하고자 하는 python 버전..

[CNN Network] 4. GoogLeNet

아래 내용은 CNN Network를 공부하며 onlybox.log 를 참고하여 작성된 내용입니다. 연관게시글 더보기 1. LeNet-5 2. AlexNet 3. VGGNet 4. GoogLeNet GoogLeNet? GoogLeNet은 ILSVRC-2014에서 우승한 CNN Network이며, GoogLeNet의 개발자들은 2014년 당시 딥러닝 모델의 수치적인 성능 향상이라는 수치적인 점 보다는 Convolution을 이용한 딥러닝 네트워크 구조의 혁신에 고무되었고, 더 깊으면서 더 효과적인 네트워크 구조 설계를 위해 노력했습니다. 그 결과 Inception module이라는 구조의 네트워크 구조를 설계했고, 이 Inception module을 활용해 AlexNet보다 더 깊지만 파라미터 수는 121​..

[CNN Network] 3. VGGNet

아래 내용은 CNN Network를 공부하며 onlybox.log 를 참고하여 작성된 내용입니다. 연관게시글 더보기 1. LeNet-5 2. AlexNet 3. VGGNet 4. GoogLeNet VGGNet? VGGNet은 OxFord대학교의 Visual Geometry Group이 개발한 CNN Network입니다. 비록 2014년 ILSVRC에서 2위에 그쳤지만 이해하기 쉬운 간단한 구조로 되어있고 변형이 용이하기 때문에 같은 대회에서 1위를 차지한 GoogleNet보다 더 많이 활용되고 있습니다. CNN Network의 성능을 향상시키는 가장 기본적인 방법은 망의 깊이를 늘리는 것 입니다. VGGNet은 이러한 망 깊이(depth)가 따른 네트워크의 성능변화를 확인하기 위해 개발된 네트워크 입니다..

728x90
loading