산점도(Scatter)는 공간 데이터에서 분포를 알아야 할 때 유용하게 사용될 수 있다. 대표적으로 지리적 데이터인 부동산 데이터로 전국에 있는 인구 분포나 지역별 집값 등을 알기에도 유용하다. 본 포스팅은 미국의 지리 데이터세트인 캘리포니아 주택 가격 Data Set을 사용하여 산점도를 구하는 시각화(Visualization) 기법을 알아보도록 한다. 데이터 준비 Housing 데이터 로드 import os import tarfile import urllib.request as urllib import pandas as pd data_url = "https://raw.githubusercontent.com/ageron/handson-ml2/master/datasets/housing/housing.tgz..
파이썬은 datetime과 time이라는 라이브러리를 제공하며, 이 값을 활용하여 날짜의 값을 분리하거나 N일을 기준으로 이후 이전, 이후 등을 구할 수 있다. import 라이브러리 import datetime as dt import time as tm datetime과 time 라이브러리를 호출한다. time과 dateime 사용 print(tm.time()) # 1647013868.527883 tm객체의 time 펑션을 호출하면, 시스템 타임(컴퓨터가 인식하는 시간, timestamp)이 찍힌다. 이 값을 이제 날짜 포맷으로 세팅한다. now = dt.datetime.fromtimestamp(tm.time()) print(now) # 2022-03-12 00:51:08.527909 datetime에..
데이터 분석을 해야 하거나 할 줄 아는 사람이라면 처음에 데이터의 형태를 파악해야 할텐데 히스토그램(Histogram)은 데이터의 분포도를 볼 때 매우 유용한 통계 시각화 기법이다. 원래 통계 기법은 R이 상징적인 언어였으나 최근에는 데이터 분석을 하는 사람들이 굳이 R로 하지 않고 파이썬에서 하는 경우가 많아졌다. 히스토그램용 데이터 가져오기 (housing dataset) import os import tarfile import urllib.request as urllib import pandas as pd data_url = "https://raw.githubusercontent.com/ageron/handson-ml2/master/datasets/housing/housing.tgz" data_pa..
파이썬은 데이터 분석에 매우 강력한 기능을 제공하고 있고, 나이브베이즈와 같은 머신러닝은 sklearn(sk런 혹은 사이킷 런이라고 말함)에서 다양한 라이브러리를 제공한다. 나이브베이즈에 대해서 제대로 모르는 분들이 계시다면, 우선 필자가 작성했던 나이브베이즈 포스팅을 보면 이해가 될 것이다. 쉽고 강력한 머신러닝, 나이브 베이즈 분류 (Naive Bayes Classification) 쉽고 강력한 머신러닝, 나이브 베이즈 분류 (Naive Bayes Classification) ※ 베이즈 정리를 모르는 분들은 나이브 베이즈를 알기에 앞서 베이즈 정리에 대해서 먼저 이해해야 한다. 확률의 함정을 간파, 베이즈 정리(Bayes' Theorem) 확률의 함정을 간파, 베이즈 정리(Bayes' T needja..
파이썬을 하는 사람들이라면 필수적인 라이브러리인 판다스(Pandas)는 다양한 데이터의 핸들링이 가능한데 자바 개발자라면 기겁을 할만큼(대다수 파이썬 라이브러리들이 대개 그렇지만) 사용방법이 매우 쉽다. 각자 엑셀 데이터가 있겠지만, 혹시나 원활한 실습을 원하는 분들도 있을테니 그런 분들은 아래의 엑셀 파일을 다운로드 하면 된다. 키움증권과 카카오뱅크 FAQ 위 파일은 아래와 같이 2개의 시트(Sheet)로 구성되어 있고, 첫번째 시트는 4개의 키움증권 FAQ 데이터, 두번째 시트는 2개의 카카오뱅크 FAQ 데이터이다. 데이터구조 엑셀 읽기 코드 import pandas as pd excel_data = pd.read_excel('c:/project/faq.xlsx') # print를 하면, sheet ..
카프카(Kafka)에서는 다양한 언어로 데이터를 주고 받는 기능을 제공하는데 본 포스팅은 파이썬(Python)으로 구현하는 프로듀서(producer)/컨슈머(consumer) 즉 데이터를 보내고 받는 방법을 설명한다. 파이썬으로 카프카를 호출하는 방법이 대표적으로 2가지 방법이 존재하는 것 같다. 하나는 카프카를 만든 제이 크렙스(Jay Kreps)가 만든 회사인 confluent가 제공하는 라이브러리이고, 다른 하나는 kafka-python이라는 라이브러리를 사용하는 방법이다. 후자인 kafka-python을 범용적으로 많이 사용하는데 성능은 컨플루언트의 라이브러리가 더 좋다. 후자를 사용하는 이유는 단하나 confluent는 c로 만든 라이브러리를 호출하여 사용하는 방식이라 별도의 설치과정이 존재하기..
기존에 작성했던 아나콘다 설치 방법이 변경돼서 빠르게 재포스팅을 하고자 한다. 변경된 아나콘다 내 기억이 정확한지는 모르겠지만, 기존에 아나콘다는 선택하는 것이 많지 않았다. 마치 완벽한 오픈소스처럼 보였고 상업 라이센스가 존재하지 않는 것마냥 보였던 것으로 기억한다. 그러나 엘라스틱도 그렇고 아나콘다 역시나 최근 들어서 라이센스가 다양화 되었기 때문에 함부로 설치하면 안될 것으로 보인다. https://www.anaconda.com/products/individual 아나콘다의 제품은 현재, 개인, 팀에디션, 엔터프라이즈 에디션, 프로페셔널 서비스로 나뉘며 무료로 쓰는 제품은 individual(개인) 제품을 선택하면 된다. 위 링크는 개인 제품 링크이니 들어가서 다운로드 받으면 된다. 본인의 OS와 ..
케라스(Keras)와 텐서플로우(Tensorflow)로 구현한 시퀀스투시퀀스(Seq2Seq) 모델로 챗봇을 구현하고 있는데 예전 tensorflow에서는 Java에서 tensorflow를 지원해서 호출하였지만 현재 tensorflow 2.0은 Java에서 호출이 지원되지 않는다. 이를 해결하기 위해 자바에서 모델을 호출하는 방식이 아닌 python에서 자체적으로 웹서버를 띄우기로 하였고, Flask 라이브러리를 사용하였다. 라이브러리설치와 선언 > pip install flask-restful (python) E:\Project\universe\source-python>pip install flask-restful Collecting flask-restful Downloading Flask_RESTful..
프로그램을 짜게 되면, 참(True) 혹은 거짓(False)과 같은 값을 자주 활용하게 됩니다. 이러한 값 혹은 형태를 불리언(Boolean) 혹은 불(Bool)이라고 합니다. 참과 거짓 값을 IF 조건절에 활용하게 되면, 프로그램을 분기처리할 수 있습니다. IF조건은 For 반복문과 함께 가장 많이 활용이 되며, 이 2가지만 알아도 간단한 프로그래밍은 문제없이 만들 수 있습니다. 사실 프로그램이라 하면, IF조건과 For문의 심화과정(?)이라고 생각해도 제 개인적인 생각으로는 크게 다르지 않는 것 같네요. Bool 형 예제 12345678910111213141516171819202122>>> apple = True; # 사과가 있다>>> orange = False; # 오렌지는 없다>>> orangeF..
본 포스팅은 개발자가 아닌 비개발자분들도 포함하여 진행되는 강의입니다. 그러다보니 개발자분들은 너무 쉬운것을 왜 저렇게 많이 설명하지?라는 생각을 가질 수 있는 점 미리 양해 바랍니다. 현재 파이썬을 다루는 사람들을 보면 개발자분들도 물론 많지만 데이터 분석이나 통계 등을 하기 위해서 다루는 분들 그리고 최근에는 텐서플로우같은 머신러닝, 딥러닝등을 다루기 위해서 배우는 분들도 있기 때문에 최대한 자세히 쉽게 다루고자 노력하겠습니다. For 문을 이용한 반복문 처리 왠만한 프로그램 언어(C, C++, Java, Python 등등)에는 대부분 For라는 반복문을 제공합니다. 우리가 흔히 프로그램은 2가지만 알아도 왠만큼 다 만들 수 있다라고 합니다. 그 중에 하나는 제어문(If ~ else)이고, 그리고 오..
다른 컴퓨터에서는 에러가 발생하지 않았지만, 회사에 있는 컴퓨터에서 파이썬에 konlpy(파이썬 한국어 형태소 분석기)를 호출하기 위해 필요한 jpype라는 라이브러리를 설치하는 도중에 "Microsoft Visual C++ 14.0 is required" 에러가 발생했습니다. 해결 방법이 다양하게 있는 것으로 보이나(stackoverflow나 주변에 있는 사람들이 말한 내용들을 토대로 하면..) 제 경우에는 별도의 추가 설치를 하는 것으로 해결이 됐습니다. 문제를 쉽게 해결하려는 노력보다 이럴땐 정공법을 택해서 가는 것이 더 나아 보입니다. maven 하나로 모든 것이 끝나버리는 자바 개발자로서 파이썬의 이런 자질구레한 상황들로 개발이 지연될 때는 좀 짜증나긴 합니다. 물론 자바 개발도 세팅하면 농담으..
텐서플로우라는 언어만 존재해서, 해당 언어만 딱 사용하면 좋겠지만, 이전에 텐서플로우 포스팅에 적은 것처럼 텐서플로우는 다른 언어에 낑겨서 사용되는 라이브러리(Library) 정도로 이해하면 된다. 독자적인 텐서플로우 언어가 있는 것이 아니라 다른 언어에서 텐서플로우 라이브러리를 호출하는 기능을 제공하는데 모델을 만들기 위해서는 파이썬이 있어야 한다. 사용은 파이썬과 자바 둘다 제공되지만 모델 생성은 파이썬이 필수이다(나중에 자바에서 모델 생성도 제공할지는 모르겠지만) 파이썬(Python) 설치 텐서플로우(Tensorflow)를 사용하기 위해서는 당연히 파이썬이 우선적으로 설치되어 있어야 한다. 파이썬만 설치 해도 되지만, 이왕이면 다량의 패키지를 가지고 있는 아나콘다를 설치하는 것을 권유드린다. 아직 ..