본문 바로가기

Theory

(227)
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차 저역통과필터가 필..
ROS move_base를 이용한 주행 - python 편 - 2021. 3. 9. 08:00 최근에 저는 국민대학교에서 주행로봇을 이용해서 겨울방학 특강을 진행했었는데요. 그리고 그 강의가 원격으로 진행되다 보니 수강하는 학생들에게 부족한 부분을 보완하기 위해 영상을 유투브에 공개하기로 결정을 했죠. www.youtube.com/playlist?list=PL83j7f4UkozHPUshNQfPpogJBE0gSnCYH OMO R1mini로 진행하는 AI Robot 수업 www.youtube.com 그 강의 목록이 위의 링크입니다. 강의 당시 강의에서는 틈틈이 이야기를 했는데 강의를 다시 유투브에 올리는 과정에서 빼먹은 내용이 몇 가지 있습니다. 오늘은 그 중 하나를 이야기를 하려고 합니다. youtu.be/8r6x4sKu4EM 강의를 진행하던 중 저는 Jupyter Notebook으로 로봇을 다루는..
AI Robot 수업 - Jetson nano에 YOLOv3 tiny ROS pkg 설치 - 2021. 2. 28. 09:00 이 강좌는 국민대학교에서 2021년 1월 부터 6주간 진행되는 강좌입니다. 국민대의 강좌는 여기서 마치며 그 후 단계는 경진대회를 진행하는 것입니다. 그래서 실제 수업은 5주의 기간인데, 일주일에 4시간 한 번 만나서 실습형으로 진행되다 보니, 많이 짧아서 아쉬움이 있습니다. 그래도 계속 제 블로그에서는 보다 많은 내용을 추가할 예정입니다. 이번 수업에 대한 유투브 영상 : Jetson nano에 ROS YOLOv3 tiny 패키지 설치하기 지금까지의 동영상 강의 : 유튜부 재생 목록 바로가기 OMO R1mini로 진행하는 AI Robot 수업 www.youtube.com 오늘의 수업 교재 위에 공유된 이번 수업자료 영상에는 한 가지 내용이 더 뒤쪽에 첨부되어 있습니다. 위 사이트가 YOLO ROS pk..
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에 맞춰 다운로드를 하면 됩니다. 그리고 설치하면 ..
네이버 검색 결과를 API를 이용해서 쉽게 받아보자 2020. 10. 13. 08:00 이번에는 네이버에서 데이터를 얻는 방법 중에서 네이버가 제공하는 API를 사용하는 방법을 정리해두려고 합니다. 데이터를 웹페이지에서 직접 얻을 수도 있지만, 만약 해당 사이트가 API 등의 도구로 필요한 데이터를 배포하고 있다면 크게 어렵지 않게 접근할 수 있습니다~먼저 전국민이 아는 Naver의 홈페이지에서~네이버 개발자 센터를 검색합니다.~이렇게 뜨는데요. 일단 로그인을 하고Products에서 서비스 API를 선택하고 어떤 메뉴든 상관없지만, 검색을 선택해서 들어갑니다~그리고 나타는 글의 하단에 있는 오픈 API 이용신청을 눌러줍니다~이제 사용 API를 선택하고 서비스 환경을 지정하면 되는데, 서비스 환경은 우리가 아직 서비스가 없으니 아무거나~^^그리고 내 어플리케이션에서 아까 지정한 이름을 찾아보..

반응형