Data Traveler
Tantum videmus quantum scimus

2021-11-30

Author: 98hyun

Published: 2021-12-12

Tags: 머신러닝 시각화 데이터분석 개발

Share :


  샘플링

통계에서 샘플링이란, 최대한 모집단과 유사한 일부 데이터를 추출하는 과정이다.

광진구 교통사고 주의 서비스라는 프로젝트를 진행하면서 모델링 과정에서 발생했던 데이터 부족 이슈를 극복하기 위해서 오버샘플링 기법을 적용했고, 코드와 함께 설명하려고 한다.

code


## imblearn
## imbalance 한 데이터 즉, 모델 훈련 중 데이터의 라벨의 존재에 차이가 클 때, 사용하는 scikit-learn api를 참고한 라이브러리로 oversampling 방법과 undersampling 방법이 있다. 

from imblearn.over_sampling import RandomOverSampler
rand_over_sample = RandomOverSampler(sampling_strategy='auto', random_state=41)
x_over, y_over = rand_over_sample.fit_resample(traindata, target)

## 여기서 traindata, target은 각각 독립변수, 종속변수를 의미한다.
## 위에 sampling_strategy 즉, 샘플링방법이 있는데 auto로 해놓았다.
## 본인 코드는 3개의 레이블을 각각 같은 수준으로 올려놓기 위함이었는데 가장 작은 수의 레이블의 수를 가장 큰 수에 맞추기 위해서는 minority로는 안됐기 때문이다. 

## undersampling 방법도 위와 같으므로 참고링크만 올려놓겠다.
## https://imbalanced-learn.org/stable/references/generated/imblearn.under_sampling.RandomUnderSampler.html


  streamlit

streamlit은 저번 포스트에서도 사용했었다. 간단하게 설명하면 머신러닝 모델을 위한 web framework다.

왜냐하면 만든 모델을 홈페이지에 쉽게 embed 할 수 있고, 그 외 graph 및 데이터프레임 등을 간편한 코드로 만들 수 있다.

이번 프로젝트를 보여주기 위해 위의 프레임워크를 사용했다.


  라즈베리파이와 윈도우

이번 프로젝트는 블록체인 did와 지문을 활용한 신원인증 서비스다. 그 중 지문리더기가 라즈베리파이를 사용하므로 라즈베리파이에 관한 정보를 정리하고자한다.
그래서 사실들을 짚고 가면서 설명하고자 한다.

  1. 라즈베리파이는 컴퓨터다.

말 그대로다. 라즈베리파이는 소형컴퓨터다.

  1. 컴퓨터의 os는 윈도우다다 라즈베리파이의 os는 라즈베리파이os다.

그리고 sd카드에 os를 다운받아 집어넣고 사용한다.

  1. 라즈베리파이에서 편집 및 프로그래밍을 위해선 스크린이 필요한데 이를 윈도우에서 구현할 수 있다.

  2. 밑에 code에서 설명할 것은 라즈베리파이를 윈도우에서 쉽게 편집하고 스크린을 틀어 놓을 수 있는 방법을 소개한다.

code


## 한국 유튜버 분도 소개를 해주시니 따라하면서 해본다.  
## https://youtu.be/OcM9WRDaTOk

## 1. 필요한 프로그램
## NMap - GenMap GUI, VNC Viewer

## 2. 실행 방법
## 유튜브를 따라 ssh 파일과 wpa_supplicant.conf 파일을 만들었으면 sd 카드를 잘 라즈베리파이에 넣는다. 그 후, 전원선을 연결하여 30초 정도 이후 NMap 을 통해 ip를 검색한다. 
## ip를 검색하려면 cmd에 'ipconfig'라고 치면 된다. 맨 밑 게이트웨이 번호다. 예를 들어, 192.168.0.1 같은

## 그 후, NMap에 검색할 때는 'nmap -sn 192.168.0.*' 의 형태로 command 칸에 넣는다. - 더 자세한 설명이 필요할 시 댓글 혹은 이메일을 통해 연락해주시면 됩니다.

## 그리고 scan 했을 때 raspberry pi 가 뜨면 그 위에 host가 컴퓨터가 사용하는 ip다.

## 그리고 VNC Viewer에서 위 ip를 넣어주면 윈도우에서 편집하고 할 수 있다.

## 팁 1. 192.168.0.* 이므로 *에 0~256 때려 맞추면 될 수도 있다. - 안될때만 사용한다. 
## 팁 2. 딜레이시간이 있을 수 있으므로 라즈베리파이의 전원을 항상 잘 유지한다.


Contact Form