분류 전체보기
-
GraphDB와 Neo4jData & ML & AI/GraphDB(Neo4j) 2022. 6. 8. 19:29
일반적인 관계형 DB는 데이터 간의 관계를 표현할 때 "관계형"임에도 다소 유연하지 못한 모습을 보입니다. 엄격한 스키마를 따라야 하고, 이 entity와 저 entity를 연결하기 위해서는 join에 join을 거듭해야 하기 때문에, 때에 따라서는 불편한 감이 드는 것도 사실입니다. 이러한 관점에서 Graph 형식의 DB는 보다 직관적인 형식으로 데이터를 저장하고 관계를 표현함으로써 유연한 탐색을 가능하게 합니다. Neo4j Neo4j는 수많은 GraphDB 중 하나로, Cypher 쿼리를 이용해 사용할 수 있는 오픈소스 GraphDB입니다. Neo4j는 Native Graph Database이기 때문에, 단순히 기존의 데이터를 그래프화 하여 보여주는 것이 아니라 스토리지 상에 저장되는 데이터까지 Gr..
-
7. scikit-learn을 활용한 간단한 회귀모델(regression with LinearRegression)Data & ML & AI/Pandas & Scikit-Learn 2022. 6. 8. 01:01
지난 글에서는 분류문제를 다루었으므로 이번엔 간단한 회귀문제를 다루어보겠습니다. 이번에도 역시 scikit learn에 내장된 데이터셋 중 하나인 보스턴 주택가격 데이터셋을 사용해... 보고자 하였으나 DEPRECATED: load_boston is deprecated in 1.0 and will be removed in 1.2. The Boston housing prices dataset has an ethical problem. You can refer to the documentation of this function for further details. 윤리적인 이슈로 인해 언젠가 사라질 예정이라고 합니다. (참고) 따라서 그 대안으로 California housing dataset을 사용하겠습니..
-
6. scikit-learn을 활용한 간단한 분류모델 (classification with LogisticRegression)Data & ML & AI/Pandas & Scikit-Learn 2022. 6. 3. 01:11
지난 글 까지는 제가 크롤링한 데이터를 사용했지만, 쉽게 내용을 정리하기 위해서는 역시 많은 사람들이 이미 정리해놓은 데이터를 사용하는 것이 더 편하고 직관적으로 좋기 때문에 지금부터는 sklean에 빌트인 된 데이터셋을 사용하려고 합니다. sklearn에 빌트인 된 대표적인 toy data 목록은 다음과 같습니다. load_boston: 보스톤 집값 데이터 load_breast_cancer: 위스콘신 유방암 환자 데이터 load_diabetes: 당뇨병 환자 데이터 load_digits: 손글씨 데이터 load_iris: 아이리스 붓꽃 데이터 load_linnerud: multi-output regression 용 데이터 load_wine: 와인 데이터 저는 이 중 와인데이터를 활용해 보겠습니다. 1...
-
5. 판다스를 활용한 로그변환Data & ML & AI/Pandas & Scikit-Learn 2022. 5. 30. 21:24
지난 포스트에서는 IQR을 기준으로 이상치를 제거했지만, 250개 데이터 중 173개의 데이터만 살아남는 안타까운 모습을 보였습니다. 단 2개의 칼럼에 대해서만 이상치 제거를 진행했을 뿐인데 말이죠. scale의 문제가 발생한겁니다. 그래서 이번에는 무작정 제거하는 것이 아닌, 데이터의 분포를 변형시켜 scale의 문제를 해결해 이상치 문제를 해결해보도록 하겠습니다. 1. 히스토그램 확인하기 # matplotlib import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm plt.rcParams['axes.unicode_minus'] = False # matplotlib 마이너스기호 표시 plt...
-
주피터 노트북(Jupyter Notebook)에서 가상환경 실행하기Programing/Jupyter Notebook 2022. 5. 29. 17:55
가상환경을 생성하여 돌리는건 VSC나 Pycharm을 사용하는 경우가 대다수이지만, 인수인계문서나 기타 문서를 만들때 Jupyter notebook을 활용하는 경우가 종종 있기 때문에 주피터에서도 가상환경을 돌려야할 때가 아주 가끔씩 있습니다. 주피터 노트북에서 가상환경 커널을 연결하는 방법을 알아보겠습니다. 1. 가상환경 설치하기 test_venv라는 이름의 가상환경을 만들고 가상환경을 실행하겠습니다. > python -m venv test_venv > test_venv\Scripts\activate 2. 가상환경 내에 jupyter notebook 설치하기 > python -m pip install --upgrade pip > pip install jupyter 3. 가상환경과 kernel 연결하기 ..
-
4. 판다스를 활용한 이상치 처리(boxplot, IQR)Data & ML & AI/Pandas & Scikit-Learn 2022. 5. 29. 14:56
데이터 분석과 모델학습에 있어 이상치(outlier)가 단 한개라 하더라도 큰 영향을 미칠 수 있기 때문에 처리해줄 필요가 있습니다. 일반적으로 이상치는 제거하는 방식으로 처리합니다. 이상치를 확인할 수 있는 가장 쉬운 방식 중 하나는 boxplot을 그려보는 것입니다. 1. box plot으로 이상치 확인하기 # matplotlib import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm plt.rcParams['axes.unicode_minus'] = False # matplotlib 마이너스기호 표시 plt.rc('font', family='NanumGothic') # matplotlib ..
-
3. 판다스를 활용한 Null값 대체(특정값, 평균, 특정함수)Data & ML & AI/Pandas & Scikit-Learn 2022. 5. 24. 19:32
지난 포스트에서는 데이터에 존재하는 결측값(Null값)을 일방적으로 제거했습니다. 2. 판다스를 활용한 Null값 제거 (결측행, 결측열 제거) 지난번 다루었던 주식데이터, stock_market.csv의 몇 칼럼에서 결측값(null값, NaN)이 발견되었습니다. 오늘은 결측값(missing value)들을 몇가지 방법으로 처리해 보겠습니다. 결측값를 처리하는 방법은 brain-nim.tistory.com 이번에는 그 대신, 비어있는 자리에 다른 값을 넣어 활용 가능한 형태로 만들어 보겠습니다. stock_market.csv는 칼럼 개수가 많아 한눈에 보기 힘드므로, 지난 포스트에서처럼 몇개의 칼럼만 선택해 사용해보겠습니다. # pandas import pandas as pd # data df = pd...