본문 바로가기

python

(170)
Scikit Learn을 이용한 라벨인코딩 - LabelEncode 2019. 9. 30. 08:00 라벨인코딩은 데이터사이언스, 머신러닝 과정에서 많이 사용하는 기능입니다. Scikit Learn에서는 간단한 라벨인코딩 기능을 제공하는데요. 오늘은 그 간단한 기능을 살짝 설명하려고 합니다.오늘은 아이리스 데이터를 대상으로 하겠습니다.아이리스 데이터를 불러와서 데이터는 value 위치에, feature_names는 컬럼이름으로 잡고, 아이리스의 품종을 의미하는 target 데이터도 컬럼으로 포함시켰습니다.target_names의 경우는 setosa, versicolor, virginica로 세 가지입니다. 라벨인코딩이라는 것은 이름으로 되어있는 것을 숫자로 혹은 그 반대로 변환하는 것입니다.그렇게 해주는 기능을 손쉽게 sklearn이 제공하는 것이지요.라벨인코딩 기능을 사용하기 위해서 sklearn의 p..
numpy의 where 함수 사용법 2019. 8. 5. 08:00 머신러닝이나 딥러닝을 하다보면, numpy 모듈의 다양한 함수를 사용하게 되는 것 같습니다. 오늘은 그 중에서 은근 많이 사용되는 where 함수에 대해 이야기를 해보려고 합니다. 너무 쉽고 간단하면서 괜찮은 함수인 것 같습니다. 간단하게 numpy를 import하구요. 위 코드처럼 데이터를 numpy array로 선언해 두겠습니다. 뭐 min이나 max값을 찾거나, 그 값의 위치를 찾는 것은 argmin, argmax로 됩니다. where함수는 조건문을 사용할때입니다. 출력은 근본적으로는 인덱스입니다. a 배열에서 1보다 적은 것은 6, 7번 데이터라는 것이죠. 그걸 슬라이싱에 사용할 수 있습니다. 그러면 1보다 작은 값을 찾아서 그 값만 반환합니다. 혹은 이렇게, 10보다 크거나 같은 값을 찾아서, ..
Jupyter notebook 매직 커맨드로 모듈 버전, OS 정보 등을 출력하는 watermark 모듈 2019. 7. 29. 08:00 Jupyter notebook에서 % 기호로 시작하는 명령을 매직 커맨드라고 합니다. 폴더 경로, 목록 등을 확인하는 명령이 있는데요. 이번에는 매직 커맨드의 확장으로 설치된 모듈, import한 모듈의 버전 정보, 현재 OS의 버전 등을 출력해 주는 watermark라는 모듈을 소개하려고 합니다.간단하게, pip 명령으로 설치합니다.%load_ext watermark를 수행하고 나면 사용할 수 있습니다. 먼저 설명을 보면다양한 버전 관련 옵션들이 있습니다.그냥 실행하면, 파이썬의 버전, OS(전 맥이라서 Darwin) 버전, 시스템 상황이 나타납니다.그리고, 간단한 시간과 날짜, 혹은 최근 업데이트 날짜 등을 확인할 수 있습니다.또, 원하는 모듈의 버전을 확인하거나,import한 모듈 전체의 버전을 한..
Python으로 조작하는 드론 CoDroneII - 드론 비행해보기 편~ 2019. 7. 26. 08:00 로보링크의 CoDroneII(이하 코드론)를 소개한 하고, Python에서 드론의 센서 값을 읽는 코드를 설명했었습니다. 이제 남은 것은 날리는거죠^^. 코드론은 조종기를 PC와 연결하고 Python 모듈로 접근합니다.이번에 파이썬으로 날릴 아이입니다. 이 각도가 얼짱각도^^ 코드론의 파이썬 API중 실제 이번에 사용할 명령의 매뉴얼도 읽어야 합니다.파이썬의 코드론 모듈을 설치했다면, 위와 같이 필요 모듈을 import하고, drone과 통신을 엽니다.이 명령만으로도 드론이 대략 1미터 높이로 부상을 합니다. 이 명령만으로도 호버링 상태를 유지합니다.그리고, 이 sendControlPosition 명령은 공간상에서 x, y, z축 거리, 혹은 yaw 각도에 대한 명령을 인가할 수 있습니다. 위 명령은 우..
파이썬에서의 복사 얕은 복사와 깊은 복사 2019. 7. 22. 08:00 파이썬은 참 쉬운 언어입니다. 그래서 여러 분야에서 인기를 끌고 있는 거겠죠^^. 그런데 이런 파이썬을 공부하다가 보면 의외의 곳에서 한 번쯤 막히게 됩니다. 바로, 복사(copy)입니다. 무슨 이야기일까요. >>> a = [1, 2, 3] >>> b = a >>> b[1] = 0 >>> b [1, 0, 3] >>> a [1, 0, 3] 위 상황이 혹시 눈에 들어 오시나요? a에 [1, 2, 3]을 저장하고, b에 a를 저장하고 난 후, 난 그냥 b의 두번째 숫자를 2에서 0으로 바꾸었는데, a도 따라 바뀌게 되는 기이한 현상입니다.^^ >>> id(a), id(b) (4431577288, 4431577288) 이유는 메모리상에서 고유한 id를 조회하는 id라는 명령으로 a, b 두 변수를 조회해보면 알..
Python에서 미분(차분)을 한다는 것. 데이터, 혹은 함수 2019. 7. 15. 08:00 어떤 형태든 센서 신호를 만지작 거리고, 모터를 구동하고, 뭐 그러다보면 미분(혹은 차분)을 수행해야할 경우가 생깁니다. 오늘은 파이썬으로 미분(차분)하는 일에 대해 이야기를 해보려고 합니다.^^ import numpy as np import matplotlib.pyplot as plt %matplotlib inline t = np.arange(0, 2*np.pi, 0.1) y1 = np.sin(t) plt.figure(figsize=(12,6)) plt.plot(t, y1); 일단, 시험 신호를 하나 만들어 두겠습니다. 시간축 t는 0부터 2pi까지 0.1 간격을 가지도록 했습니다.이렇게 생긴거죠^^ 먼저, 위 시험신호처럼 우리가 함수를 아는 경우에 대해 접근해 보겠습니다.바로 고등학교때 배운 도함수의..
파이썬(Python)에서 시리얼 통신으로 받은 데이터 실시간으로 그래프 그리기 2019. 7. 3. 08:00 저는 한 3년 전쯤에 Python에서 matplotlib에서 그래프에서 애니메이션 효과로 그래프를 그리는 이야기를 했습니다. 그리고, 마우스 대응등 인터략티브한 그래프 이야기를 추가로 했었네요. 그리고 아주 예전에 Python에서 시리얼 통신하는 법에 대한 이야기도 했었죠. 오늘은 시리얼 통신으로 연결된 데이터를 받아서 간편하게 실시간 그래프를 그리는 것에 대한 이야기를 하려고 합니다. 일단, 그 대상으로 아두이노 보드를 잡았습니다. 아두이노 보드는 그냥 PC와 연결만 시켜 두어서 사진으로 보여드리지는 않겠습니다.^^ void setup() { // put your setup code here, to run once: Serial.begin(115200); } void loop() { // put you..
네이버 검색어 트렌드 API를 사용해 보죠.. 그리고 타다~ 2019. 5. 8. 07:00 아주 가끔은 추억이 생각날 떄가 있습니다. 정말 사소한 인연인데 그게 생각기 선명하게 나고, 또 그래서 그 추억의 고리를 함께한 사람들이 어떻게 지내고 있는지도 궁금해 질때가 있습니다. 나이를 먹어가고 있기 때문일까요^^이 때가 2009년 6월입니다. 이때는 블로거들이 어떤 주제를 정하고 서로에게 질문을 하던 릴레이 놀이가 자주 생겼습니다. 이 때는 편견타파 릴레이였습니다.^^그리고 제 앞에서 릴레이를 하신 주자가 VCNC라는 블로그를 운영하시던 분이었습니다. 많이 들어 보셨나요? 네 맞습니다. 요즘 핫한 타다/쏘카를 서비스하는 그~~~ VCNC입니다.^^.그리고, 이 분이 자신의 다음 릴레이 주자로 저를 지목하신거죠^^ 2009년 6월 25일 오전 11시에~~^^ 전 그 릴레이를 받아 그날 오후 3시쯤..

반응형