본문 바로가기

python

(170)
Python으로 수행하는 주파수 분석 - FFT, STFT 2022. 2. 9. 08:00 아주 예전에 Python으로 수행하는 FFT라는 주제의 글을 작성한 적이 있습니다. 이번에는 이 글에서 조금 더 나가서 STFT라는 개념도 이야기를 해 보려고 합니다. 시간영역에서의 신호를 분석할 때 많이 사용하는 것이 FFT인데요. 여기서 시간 구간에 대한 한계를 만날 수 있기 때문에 STFT Short Time Fourier Transform을 사용합니다. 오늘은 이 이야기를 해 보려고 합니다. https://pinkwink.kr/708 Python에서 수행해 본 간단한 FFT 코드 일요일 아침(이 글은 평일에 예약 발행되겠지만)이네요.. 오늘 아침은 꽤 상쾌하고 약간 몽롱한.. 뭐 아무튼 기분이 좋아지는 아침이네요^^. 요즘은 뭔가를 마무리하는 단계에서 오는 급급하게 pinkwink.kr 시험 데이..
Jetson nano에 Inference 추론기 설치하고 간단히 사용해보 2021. 6. 2. 08:00 Jetson nano 보드는 딥러닝을 동작시킬때 동급의 보드(Raspberry Pi 4)보다 좋은 성능을 보여줍니다. 이번에는 그럴때 사용하는 Jetson nano용 코드를 설치하는 것을 다루고 있습니다. 이번에는 젯슨 나노보드에 직접 HDMI 케이블로 모니터를 연결하고, 키보드와 마우스도 직접 연결했습니다. 일단 당연하지만 여러분들이 Jetson nano 보드를 가지고 있다고 보고, MIPI 카메라 (흔히 라즈베리파이 카메라)도 연결했다고 보겠습니다. 그리고 또한 Jetson Download Center에서 SD 카드 이미지로 된 Jetpack을 받아서 (이글은 Jetpack 4.5가 설치되었다고 보고 있습니다.) 여러분의 Jetson nano 보드에 설치했다고 가정합니다. 위 그림에서 보이는 Jets..
Python scikit learn의 Label Encoder와 MinMax, Standard, Robust Scaler 이해하기 2021. 4. 5. 08:00 얼핏 관계가 없어 보일 수도 있으나, 이번에는 scikit learn의 Label Encoder와 MinMax, Standard, Robust Scaler를 이야기 해보려고 합니다. 이 아이들 모두 데이터를 만지작 거리다 보면 자주 만나게 되는 아이들입니다. Label Encoder 먼저 연습용 데이터를 즉석에서 만들어 보죠. 그냥 A 컬럼은 문자로, B 컬럼은 흔히 보는 숫자로 되어 있습니다. 네 위와 같이 만들어 지죠. 만약 A컬럼의 문자 a, b, c를 각각 번호 0, 1, 2를 매겨서 변환하고 싶다면 LabelEncoder를 사용하면 됩니다. 먼저 LabelEncoder를 불러와서 A컬럼을 기준으로 fit을 시키면, 어떤 아이를 0이라고 할지, 또 어떤아이를 1이라고 할지를 정합니다. 그 내용이 ..
Box Plot의 기초 2021. 3. 24. 08:00 요즘 수업하면서 box plot의 기초에 대해 궁금해 하시는 분들이 많아서 이 부분만 다시 이야기하려고 블로그에 정리합니다. 데이터의 분포를 관찰하는 좋은 도구 중에 하나가 Box Plot입니다. 간단히 예를 보도록 하죠. 임의로 데이터를 만들어 두겠습니다. 그리고 그림을 그리기 위한 y값도 1로만 채워두겠습니다. 그려보면 위 그림처럼 되죠. 100 근처의 값들이 생뚱(^^)맞게 크게 잡혀있네요. 이제 numpy의 median 명령으로 중간값을 찾아보겠습니다. 45라는 값이 딱 중간 값인가 봅니다. numpy의 percentile 명령을 이용하면 4분의1 (25%), 4분의3 (75%) 지점의 값들을 찾아보면 16과 48이라고 합니다. 그 값을 각각 q1, q3라고 하고 가운데 값은 q2라고 하겠습니다...
Python class로 만드는 1차 저역통과필터 Low Pass Filter 2021. 3. 19. 08:00 디지털 필터에 대해서는 예전에 많이 다루었는데요. 당시에 다룰때는 간단히 Python의 함수(def)를 사용해서 많이 다루었습니다. 이번에는 class를 이용해서 조금 사용성을 높인 코드를 보여드리는 것이 어떨까하고 글을 작성합니다. 일단 1차 저역통과필터는 예전에 소개한 글에서 수식을 가져오겠습니다. 저 식을 코드로 단순 변환 시켜보면 out = (tau * pre_out + ts * data) / (tau + ts) 입니다. 수식에서 분모가 같으니 tau + ts는 빼서 보면 저렇게 되죠. 문제는 pre_out입니다. 현재 출력값 out, 수식에서는 yn의 이전 값이거든요. 그래서 저 코드가 실행된 직후 현재 출력을 별도로 저장해야 합니다. 만약 class를 사용하지 않는다면, 1차 저역통과필터가 필..
Ubuntu에서 venv를 이용해서 Python 환경 만들기 2021. 2. 15. 08:00 Python을 가지고 뭘 할때 제일 쉽게 접근할 수 있는 방법중에는 아나콘다가 있습니다. 아나콘다를 설치하고 conda 환경을 만들면 쉽게 다양한 파이썬 환경을 만들 수 있죠. 그런데 conda를 사용하기 조금 어려울때가 있습니다. 안되는건 아닌데 약간 어려울때가 있죠. 저한테는 ROS를 사용할 때입니다. ROS를 사용할때 약간의 어려움이 있거든요. 그 때 선택할 수 있는 또 하나의 방법은 venv입니다. 본 글의 동영상입니다. 일단 먼저 pip를 항상 최신버전으로 유지하세요. pip3 install --upgrade pip 하시면 됩니다. 아래 그림에서 python3의 버전이 3.6인건 ubuntu 18.04여서 그렇구요. Ubuntu 20.04여도 괜찮습니다. 위 그림처럼 python3 -m venv..
Colab에서 KoNLPy와 WordCloud 설정하기 2021. 1. 15. 07:00 Colab은 무료에 GPU등을 사용할 수 있어서 아마 많이들 사용하실 텐데요. Colab의 사용에서 자연어, 특히 한글 자연어 처리를 해보려는 분들이 처음에 겪는 문제는 아마도 그래프에서 한글 표현과 KoNLPy와 WordCloud의 설치일 겁니다. 오늘은 그것을 다뤄 보도록 하겠습니다.먼저 Colab을 시작합니다. 구글 드라이브에서 새로만들기 후에 Google Colaboratory를 선택합니다.일단, matplotlib에서 그림을 그릴때 한글을 적용해봅니다.그러면 에러가 납니다. matplotlib의 기본 폰트가 한글을 지원하지 않기 때문입니다. jupyter notebook에서 matplotlib의 한글문제를 해결하는 방법을 다루기도 했었구요. 또 Colab에서 한글 문제를 다루는 법도 이야기를 했..
한글 형태소 분석기 KoNLPy 사용을 위한 환경 설정 해보기 2020. 12. 23. 08:00 아주 예전에 Lucy Park님의 KoNLPy를 소개했던 적이 있습니다. 이번에는 시간도 많이 흘러고 하니, KoNLPy를 사용하기 위한 작업도 설명할 겸, 이참에 anaconda 설치와 conda 환경설정, JDK의 설치 등도 모두 이야기를 해보겠습니다. 아나콘다 설치 이미 많은 분들이 이미 알고 계시고 사용하고 계시겠지만 Python을 이용한 데이터 사이언스에서 가장 인기있는 Python 개발 환경이라면 아마도 아나콘다(anaconda)일 겁니다. 아나콘다는 손쉽게 구글에서 바로 찾을 수 있습니다. 아나콘다를 검색하고 들어간 사이트에서 Products에서 Individual Edition을 선택합니다. 그리고 Download를 선택합니다. 자신의 OS에 맞춰 다운로드를 하면 됩니다. 그리고 설치하면 ..

반응형