본문 바로가기
728x90
반응형

전체 글428

[VBA] 엑셀 Raw Data 자동 편집 프로그램 만들기 (업무 효율↑) # 목표 - 매크로를 통해서 Raw Data 자동으로 편집하는 프로그램 구축 (VBA 코드 수정) - 한번 편집된 Sheet의 경우, 다시 실행되지 않도록 VBA 코드 추가 (조건문) - 하나의 문서가 아닌 엑셀의 모든 문서에서 매크로 사용하도록 설정 (Excel 추가 기능) [ Raw Data 자동 편집 프로그램 구현 (예시) ] 1. Raw Data 자동 편집 프로그램 만들기 Excel 내 많은 데이터들을 일정한 규칙으로 편집하는 프로그램을 자동 매크로를 통해 만들고, VBA 코드를 수정 및 보완하면서 완성도를 높여보자. 1-1. 셀 데이터 이동과 행 삭제 매크로 기록 (상대참조) 위의 최종 구현 영상에서 사용된 데이터는 가상의 고객사 정보로, 불규칙하게 흩어져있는 '주소', '우편번호', '담당자'.. Data Analyst/Excel VBA 2022. 7. 19.
[VBA] 많은 표 데이터 중 "보고 싶은 데이터"만 추출하는 방법(매크로) 작업중인 하나의 Sheet에 많은 표 데이터가 있을 경우, 이를 한번에 보기 어려울 뿐더러 아래 있는 데이터를 확인하기 위해 스크롤을 한참 내려야 하는 번거로움이 있을 수 있다. 이를 단순하게 단추 한번 클릭함으로써 필요한 데이터만 골라 볼 수 있도록 구현해보자. (행 숨기기, 매크로 사용) [ 각 사업부별로 보고 싶은 데이터만 출력되는 VBA 작업 ] 1. 매크로를 통해 작동 구현 및 VBA 코드 수정하기 1-1. 매크로 기록 아래 영상에서는 총 5개의 사업부에 대한 생산실적 데이터 중, 수원 사업부의 내용만 보이도록 매크로를 기록한 것이다. 먼저 자동매크로를 통해서 작동을 시키고, 이후 코드 분석을 통해 조금 더 효율적이고 편리하게 수정해보자. → 기초 매크로에 대한 게시물은 아래 링크에서 확인할 수.. Data Analyst/Excel VBA 2022. 7. 18.
[VBA] 엑셀 매크로와 VBA에 꼭 필요한 기초 자동화 (초급) 업무 중 단순, 반복적인 작업을 자동화하거나 함수로 실행할 수 없는 작업들을 쉽게 구현하기 위해 매크로와 VBA를 공부해보자. VBA 기초 문법부터 학습하기보다 실무에 최대한 바로 적용할 수 있도록 자동 매크로로 코드를 생성하고, 그 코드를 해석 및 수정하면서 VBA를 익히는 식으로 학습을 진행하면 효율적!! 1. 자동 매크로와 VBA 편집기 # 매크로(Macro) : 기존 MS 응용프로그램(Word, Excel, Powerpoint 등)에 없는 기능을 사용자가 추가해서 사용할 수 있도록 하는 작업. → 반복적인 업무와 실행방법이 매우 편리하며, 본인이 만든 엑셀 매크로 및 VBA 프로그램을 다른 사용자에게 베포 하더라도 바로 사용할 수 있다는 장점이 있다. → 이 때 구성되는 MS 내장 언어가 Visu.. Data Analyst/Excel VBA 2022. 7. 6.
[Detection] Object detection 기본 용어 정리 및 성능 평가 지표 이번 포스팅을 통해 객체 탐지를 할 때 기본 용어와 성능 평가지표에 대해 알아보자. 1. Region Proposals Region Proposal이란, 주어진 이미지에서 물체가 있을법한 위치(영역)를 찾는 모듈을 의미한다. ex) R-CNN에서는 'Selective Search' 알고리즘을 적용하여 2천개의 물체가 있을법한 박스를 찾는다. → 물체가 있을법한 박스 = RoI (=Region Of Interest) → Selective Search는 주변 픽셀 간의 유사도를 기준으로 Segmentation을 만들고, 이를 기준으로 물체가 있을법한 박스를 추론한다. → R-CNN 이후, Region Proposal도 Neural network가 수행할 수 있도록 발전됨. → 위 사진을 보면, 해당 영역에 .. AI |Computer Vision/Object Detection 2022. 6. 28.
[Classification] CNN으로 MNIST data 분류하기 # 딥러닝 학습 단계 (code 기준) 1) 라이브러리 불러오기 (torch, torchvision, matplotlib 등등) 2) GPU 사용 설정하고 randon value를 위한 seed 설정 3) 학습에 사용되는 hyper-parameter 설정 (learning rate, training epochs, batch size 등) 4) Dataset download & 학습에 사용되기 편하게 DataLoader 생성 5) 학습 모델 만들기 (CNN, DNN 등) 6) Loss function(=Criterion) 정의하고 Optimizer 선언 7) 모델 학습 및 Loss check (=Criterion의 output) 8) 학습된 모델의 성능 Test MNIST 데이터를 CNN을 적용하여 분류해.. AI |Computer Vision/Image Classification 2022. 6. 5.
[Detection] Concept of Object Detection & 2-Stage Detector 1. Concept Image Classification은 하나의 주요 대상을 식별하고 이미지 분류작업에 초점을 맞추었지만, 더 나아가 "물체의 위치를 탐지"하고 분류하는 모델을 객체 탐지(Object Detection)이라고 한다. ex) 자율주행 자동차, 보안 분야에서의 효율적인 자원 관리 등 2. Bounding box 객체 탐지 모델을 만들기 위해서는 물체를 사각형으로 표현하는 'Bounding box'를 생성해야 한다. 이는 (x, y) 좌표와 box의 너비, 높이를 이용해서 표현되며 박스를 통해서 객체를 올바르게 탐지하고, 학습 대상은 박스 영역에만 해당하기 때문에 효율적으로 수행이 가능하다. - 바운딩 박스값은 (Xmin, Ymin, Xmax, Ymax)로 영역을 잡지만, 효율적인 연산을 위.. AI |Computer Vision/Object Detection 2022. 6. 4.
[Classification] Convolution Neural Network(CNN, 합성곱 신경망) Convolution Neural Network(CNN)은 인간의 시신경을 모방한 딥러닝 구조 중 하나이다. 이미지 분류 작업에 매우 높은 성능을 보이며, 이전의 MLP 방식의 이미지 처리와는 다르게 공간적인 구조 정보(Spatial structure)를 유지하면서 학습시키는 방식으로, 이를 위해 사용하는 것이 "CNN" - 공간적인 구조 정보란, 가까운 거리 내 픽셀들끼리의 연관성을 의미한다. - 이번 글에서 간단한 용어와 원리부터 연산하는 실습까지 공부해보자! 1. 기본 용어 정리 1-1. Convolution(합성곱)? Convolution 연산은 공간 영역 필터링을 위한 핵심 연산 방법으로, 입력된 이미지 위에서 stride 값만큼 filter(=kernel)을 이동시키면서 겹쳐지는 부분의 각 원.. AI |Computer Vision/Image Classification 2022. 6. 4.
[Project] Fashion MNIST Classifier (패션 아이템 분류기) ※ 학습 프로젝트 목표 : Fashion MNIST Dataset을 활용하여 분류기(classifier) 학습하고, 성능 검사! → 28 x 28 픽셀 70,000개의 흑백 이미지로, 신발, 드레스 등 10개의 카테고리(class)가 존재한다. → 패션 이미지 데이터를 입력으로 주면 어떤 이미지인지 예측하여 반환되는 모델 설계 # 개요 → Multi layer perceptron, Batch normalization, ReLU를 사용하여 Neural Network 설계 → 성능도(Accuracy) 개선 - Augmentation, Dropout 등 적용 1. Package Load (import 및 환경 설정) import torch import torch.nn as nn import torchvisio.. AI |Computer Vision/Project 2022. 6. 4.
[Pytorch] Gradient Vanishing & Exploding 막는 방법 많은 layers를 가진 Neural Network을 학습할 때, Backpropagation 과정에서 input층으로 갈수록 Gradient가 점점 소멸되는 현상을 Gradient Vanishing. → Weight가 업데이트가 잘 이루어지지 않아서 최적의 모델을 만들어낼 수 없다. → 이번엔 Gradient Vanishing과 그 반대인 Exploding 현상 방지법에 대해 공부! 1. ReLU function 앞서 공부한 내용이므로 조금 복습하면, Sigmoid 함수를 Activation function으로 사용할 경우, 양끝단(입력의 절대값이 큰 경우)에 output이 0 혹은 1에 수렴하면서 기울기(Gradient)가 0에 가까워지는 현상이 발생한다. - 이 때, input측으로 갈수록 제대로 .. AI |Computer Vision/Basic Pytorch 2022. 6. 4.
[Pytorch] Overfitting(과적합) 방지하는 방법 1. Feature 줄이기 (모델의 복잡도 줄이기) - Overfitting을 방지하기 위한 첫번째 방법은 모델의 "Feature를 줄이는 방법"이다. 보통 Neural Network의 복잡도는 hidden layer(은닉층)의 수, parameter의 수로 결정되는데, 모델의 복잡도가 수준 이상으로 높아도 Overfitting(과적합)이 일어날 수 있다. ex) 3개 층의 hidden layer를 2개로 줄이는 등 2. Data Augmentation (데이터 증식) 적은 양의 Training data로 학습시킨 모델의 경우, 해당 데이터만의 패턴을 모두 학습하여 Overfitting이 발생할 확률이 높다. 이를 방지하기 위해 의도적으로 기존의 데이터를 조금씩 변형하여 데이터의 총량을 늘리는 데, 이 .. AI |Computer Vision/Basic Pytorch 2022. 5. 15.
반응형