전체 글
-
[plotly, Matplotlib] 파이썬으로 3차원 산점도 (3D Scatter Plot) 그려보기Python/시각화 2023. 8. 8. 09:54
파이썬으로 3차원 산점도 (3D Scatter Plot) 그려보기 다변량 분석 (Multivariate analysis)를 하다보면 고차원 데이터를 표현해야 할 경우가 생깁니다. 고차원이라고 해 봤자, 우리가 볼 수 있는 차원은 3차원이 한계이므로 시각화를 할 때는 필연적으로 3차원 이하의 세계에서 표현할 수 있어야 한다는 제약이 생깁니다. 게다가, 컴퓨터 모니터나 인쇄물은 2차원이므로 실질적으로 표현 가능한 차원의 한계는 2차원이라고 해도 좋습니다. 시각화 분야에서는 2차원 이상의 고차원 데이터를 보여주는 방법으로는 아래 기술을 이용합니다. 2차원 데이터: x, y축을 가진 좌표계 위에 표시한다. 3차원 데이터: 3차원 좌표계를 2차원에 투사해 표시한다. 4차원 데이터: 3차원 데이터 시각화에 더해, ..
-
[Python] 파이썬 랜덤 추첨 프로그램 만들어보기Python/파이썬 기초 2023. 8. 4. 08:28
파이썬에서 랜덤 추첨 프로그램 만들어보기 어떤 데이터가 무더기가 있고, 이중에서 무작위로 데이터를 추출하는 방식의 작업은 아주 낮은 난이도의 자동화 작업입니다. 파이썬(Python)에서는 흔히 로또 번호 추첨 프로그램 만들기 실습 등으로 구현하는데요, 이번에는 파이썬을 이용해서 몇 가지 랜덤 추첨 프로그램을 만들어보는 작업을 해 보도록 하겠습니다. 이번에 만들 프로그램은 아래와 같습니다. 특정한 범위 안에서 무작위 당첨 번호를 하나 추첨하는 프로그램. 1의 프로그램에서 중복은 제외하고 여러 숫자를 뽑는 프로그램. 로또 번호 추첨 프로그램과 같은 형식이지요. 사람이 숫자를 추첨할 때는 두 행동의 차이가 거의 없지만, 프로그램으로 구현할 때는 편의상 다른 코드를 사용합니다. 만약에 학교를 다닐 때 조합(co..
-
[Matplotlib] 파이썬으로 방사형 차트(Radar chart) 그리는 방법Python/시각화 2023. 7. 31. 10:40
파이썬으로 방사형 차트(Radar chart) 그리는 방법 알아보기 방사형 차트(Radar chart)라는 이름은 생소한 분들이 많겠지만, 의외로 차트의 생김새를 본다면 익숙하게 느껴질 수 있습니다. 방사형 차트는 셋 이상의 항목을 둥글게 배치한 다음, 각 항목별로 어느 정도 수준인지 보여주는 다변량 데이터 시각화 방법입니다. 이 때, 방향이나 각도는 별다른 정보를 포함하지 않지만, 방사형 차트가 보여주는 면적의 경우 특정 항목과 다른 항목간의 상관관계 등을 표현할 수 있다는 장점이 있답니다. 백문이 불여일견이라고 방사형 차트를 한번 그려보도록 하겠습니다. 이번에는 임의의 다섯 가지 요소와 값을 설정한 뒤, 파이썬(Python)의 맷플롯립(Matplotlib) 패키지를 이용해 시각화를 해 보겠습니다. #..
-
[Pandas] 데이터프레임에서 값 검색 후 항목 위치 찾아보는법Python/Pandas, Numpy 2023. 7. 21. 15:22
판다스 데이터프레임에서 특정 값과 일치하는 항목의 위치 찾아보는법 파이썬(Python)의 대표적인 표 형태의 데이터를 편집할 수 있는 패키지 판다스(Pandas)에서는 엑셀에서 가능한 거의 모든 작업을 할 수 있습니다. 그중에서는 강력한 색인 기능도 빼놓을 수 없는데요, 특정한 조건을 만족하는 값들을 찾는것부터 시작해, 어떤 표의 정보를 이용해서 다른 표를 색인할 수 있는 정도의 인덱싱과 데이터베이스(Database) 뺨치는 병햡 기능까지도 있습니다. 그런데, 판다스에서는 유독 특정 값을 기준으로 위치를 검색하는 기능은 찾아보기 어려운데요, 이번에는 판다스 데이터프레임에서 특정한 값을 기준으로 이와 일치하는 열(또는 행)이 어디있는지 위치를 찾아보는 방법을 살펴보도록 하겠습니다. 이 작업에 사용된 데이터..
-
[Pandas] 파이썬 판다스에서 apply 함수 써보기Python/Pandas, Numpy 2023. 7. 6. 17:09
판다스 데이터프레임에서 apply 함수 써보기 파이썬(Python)을 이용한 데이터 분석, 그중에서도 특히 판다스(Pandas)를 이용한 데이터프레임(DataFrame) 자료 처리에서는 데이터의 일괄 변환을 할 일이 많습니다. 붓꽃 데이터(Iris dataset)을 예로 들어보자면, 이파리 길이가 평균보다 클 경우 '크다', 아니면 '작다' 로 입력하는 간단한 작업부터 시작해서, 몇 가지 조건을 복합적으로 고려하는 분류 등이 있습니다. 이 때, 파이썬에서 제공하는 람다(lambda) 함수와 판다스에서 지원하는 apply 함수를 적절하게 이용하면 일괄 변환 등의 작업이 편리하게 이루어질 수 있습니다. 판다스의 apply 함수 판다스에서는 데이터프레임 객체에 대해서 apply 라는 함수를 제공하고 있습니다...
-
[SentenceTransformers] 파이썬으로 자연어 문장 코사인 유사성 분석하기Python/HuggingFace 2023. 7. 3. 11:07
SentenceTransformers를 이용한 문장 유사도 분석 최근 자연어 처리(NLP, Natural Language Processing) 모델을 사용하면서 다양한 활용 예시를 살펴보고 있습니다. 이번에는 그중에서 파이썬(Python)의 SentenceTransformers 프레임워크를 사용해 보았는데요, 이 프레임워크는 문장 단위로 입력을 할 수 있어서 이번에 작업할 문장 유사도 분석을 수행하는데 있어서 편리한 요소를 보여줍니다. 그리고, 다른 자연어 모델 프레임워크인 Huggingface Transformers를 기반으로 해서 만들어졌다고 하는데, 덕분에 추상화가 잘 되어 있어서 NLP를 잘 모르는 분들도 편리하게 사용할 수 있습니다. 저는 이번에 SentenceTransformers에서 제공하는..
-
[Transformers] Document Question Answering 자연어 모델로 파이썬 영수증 인식 프로그램 만들기Python/HuggingFace 2023. 6. 27. 10:15
Document Question Answering 모델을 이용한 영수증 인식 프로그램 만들어보기 컴퓨터는 디지털 데이터는 제대로 읽을 수 있지만, 사람이 손으로 적거나 인쇄한 아날로그 데이터는 읽지 못합니다. 그래서, 아날로그 데이터는 카메라로 찍거나 스캔을 한 뒤 OCR(Optical Character Recognition, 광학 문자 인식) 기술을 이용해 문자를 디지털화한 다음 데이터 분석 또는 정리에 이용합니다. 하지만, OCR은 글자를 인식한다뿐이지 이미지 안에 있는 위치에 따른 데이터의 관계를 파악할 수 없기 때문에 별도의 정리를 해야 유의미한 데이터로 써먹을 수 있습니다. 만약, 자동차 번호판 인식이나 종이책을 스캔한 뒤, 인식한 글자를 출력하는 것과 같은 프로세스는 구현이 간단합니다. 글자의..
-
[Jupyter] 주피터 노트북에서 파이썬 셀 실행 결과를 지우는 방법 (clear output)Python/개발환경 2023. 6. 26. 11:23
주피터 노트북에서 셀 실행 결과를 지우는 방법 파이썬(Python)의 대표적인 통합 개발 환경(IDE)으로는 주피터 노트북(Jupyter Notebook)을 꼽을 수 있습니다. 다른 IDE와 달리, 셀(cell) 단위로 코드를 실행할 수 있다는 장점이 있어서 완성된 프로그램을 만들지 않고도 중간 산물을 확인하고자 하는 분들에게 크게 어필하고 있답니다. 그런데, 주피터 노트북을 사용하다보면 코드와 실행 결과가 이리저리 섞여 있어서 간혹 복잡해 보일 수 있습니다. 이 때는 코드와 출력을 정리하는게 우선이지만, 급한대로 중간중간 셀 실행 결과를 삭제해가면서 코드를 실행할 수 있다면 좋지 않을까요? 이번에는 주피터 노트북에서 셀 실행 결과를 지우는 두 가지 방법을 알아보겠습니다. 예를 들어, 셀 하나의 실행 결..