회귀 (Regression) 회귀 분석이란? 둘 이상의 변수가 있을 때 이들 간의 관계를 보여주는 통계적인 방법입니다. 나아가서 데이터를 가장 잘 설명하는 모델을 찾아 입력값에 따른 미래 결과값을 예측하는 알고리즘입니다. 대표적인 예가 TV 프로그램의 시청률 예측입니다. TV 프로그램의 시청률이, 강수량과 선형적인 관계가 있다고 가정을 해볼게요. 그럼 Data 는 강수량, 시청률 2 가지겠네요. 그리고 최종적으로 강수량에 따른 시청률 예측이 목표입니다. 회귀 분석 알고리즘을 사용해 둘 사이의 상관관계를 파악하고 나아가 미래 결과를 예측하는 모델을 만들어야겠네요. 가정에서 선형의 관계를 갖는다고 했으니 위와 같은 1차 방정식을 세워야 합니다. 이때 적절한 'β0(y절편)'와 'β1(기울기)'을 찾는 것이 ..
머신러닝 이번 글에서는 데이터 전 처리의 관점에서만 머신러닝을 이야기하고 머신러닝의 소개는 다음 기회에 하겠습니다. 머신러닝 과정 이해하기 머신러닝의 전체적인 과정을 정리하면 위 그림과 같아요.. 데이터를 수집하고, 이를 분석한 후 머신러닝에 사용하기 적합한 형태로 전 처리를 합니다. 전 처리한 데이터를 이용해 머신러닝을 학습해 모델을 만들고, 이 모델을 평가용 데이터를 활용해 평가하게 됩니다. 모델의 성능이 좋지 않으면 앞의 과정 중 일부를 다시 진행합니다. 데이터 전 처리 데이터의 전 처리에는 pandas, numpy, matplotlib 등의 python 라이브러리 등이 사용됩니다. 라이브러리에 대한 소개는 python 카테고리(링크)에 글이 있으니 읽어 보시면 도움이 되실 거예요. 'Softwar..
Data 최근 가장 핫한 기술인 AI는 Data를 기반으로 해요. 수많은 Data를 모으고, AI의 학습에 적합하게 전 처리하는 과정을 거치죠. 즉, AI를 활용하려면 Data를 다룰 줄 알아야한다는 뜻이죠. 그 시작으로 자료의 형태에 대해 알아볼게요. 자료 형태 구분 자료의 형태는 위와 같이 구분됩니다. 먼저 수치형 자료와 범주형 자료로 나눌 수 있어요. 수치형 자료에는 연속형 자료와 이산형 자료로 구분하고, 범주형 자료는 순위형 자료와 명목형 자료로 구분되네요. 좀 더 자세히 알아볼게요. 수치형 자료는 수치로 측정이 가능한 자료를 의미합니다. (키, 몸무게, 시험 점수, 나이 등) 반대로 범주형 자료는 수치로 측정이 불가능한 자료를 의미하죠. (성별, 지역, 혈액형 등) 여기서 주의할 점이 있어요. ..
주피터 노트북(Jupyter Notebook)소개 주피터 노트북(Jupyter Notebook) 이란? 주피터 노트북은 Open Source 기반의 웹 플랫폼으로, 파이썬을 비롯한 다양한 프로그램이 언어로 코드 작성과 실행이 가능한 개발환경입니다. 독특한 점은 웹기반이라는 것! 주피터 노트북은 AI (머신러닝, 딥러닝) 등에 많이 사용되고 있어요. 구글 코랩을 다뤄보셨다면 아주 익숙할 겁니다. 구글 코랩에 대해 궁금하시면 아래 링크를 확인하세요. [AI 환경설정] 구글 코랩 소개하기! (Ft. 사용법, Google Colab, Markdown) 인공지능, 머신러닝, 딥러닝에 대해 검색하다 보면 구글 코랩에 대해 자주 접하실 겁니다. 그래서 오늘은 구글 코랩이 뭔지, 어떻게 사용하는지 알아보겠습니다. 구글..
사전 확인 AI 환경 설정의 가장 중요한 점은 구축할 기술 스택을 확인하는 점입니다. 모르겠다면 최소한 GPU 는 확인해야 합니다. GPU는 일반적으로 NVIDA 제품을 사용하고 추천합니다. (AMD, Intel 등도 가능하지만 복잡해요.) 그리고 GPU 가 CUDA Tool Kit 을 사용할 수 있는지 확인하는 것도 필요해요.(링크) 아나콘다(Anaconda) 소개 아나콘다(Anaconda)란? 아나콘다는 데이터 과학, 빅데이터 처리, 머신러닝 분석등을 위한 파이썬 및 R의 Open-Source 배포판입니다. Conda 라는 패키지 관리 시스템으로 관리합니다. 또한 Windows, Linux, macOS 에 적합한 데이터 분석 패키지를 포함하고 있어요. 더욱이 TensorFlow는 공식적으로 Windo..
Matplotlib Matplotlib 란? Matplotlib는 데이터 시각화와 그래프 플롯에 사용되는 Python 라이브러리입니다. Matplotlib을 이용하면 다양한 유형의 그래프를 간단하게 만들 수 있습니다. Matplotlib를 사용하려면 먼저 불러와야겠죠. pyplot이라는 모듈을 사용해야 합니다. 이 모듈은 MATLAB과 비슷하게 명령어 스타일로 동작하는 함수의 모음입니다. (matplotllib.pyplot 은 별칭으로 plt를 사용해요.) import matplotlib.pyplot as plt Line Line plot 그리기 먼저 line plot을 그려볼게요. .plot( ) - line plot을 그리는 함수 import numpy as np import matplotlib.py..
Pandas Pandas란? Pandas는 구조화된 데이터를 효과적으로 처리하고 저장하는 Python 라이브러리 중 하나입니다. Panal Data System의 약자이며, Panal Data란 행과 열로된 엑셀과 유사한 Data를 의미해요. 자료 정제 및 분석을 빠르고 쉽게 할 수 있는 자료구조와 관리 도구들을 가지고 있어요. 또한 Array 계산에 특화된 Numpy, for 문없이 계산하는 벡터화 계산을 기반으로 설계되었어요. 수치해석 도구인 SciPy, 자료분석 라이브러리인 statsmodels, scikit-learn, 시각화 도구인 matplotlib 등과 같이 사용해요. 배열을 다루는 Numpy 와 Pandas 에는 큰 차이점이 있어요. Numpy는 같은 자료형에 대한 배열을 주로 다루고, P..
Numpy Numpy (Numerical Python)란? Numpy 는 행렬이나 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬의 라이브러리입니다. 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공해요. 파이썬에는 행렬을 표현하는 기본적인 자료형이 존재하지 않아요. 그래서 벡터 행렬 계산을 효율적으로 처리하기 위해 Numpy 라이브러리를 이용하죠. Numpy 라이브러리는 Numeric 라이브러리와 NumArray 라이브러리가 합쳐져 높은 수준의 다차원 배열 계산을 고속으로, 효율적으로 처리할 수 있어요. 또한 위에서 언급한 것처럼 N차원 배열 객체를 이용한 선형 대수학이나 푸리에 변환 등의 수치계산 기능을 지원해요. 그렇다면 AI 와는 어떤 관련이 있을까요? AI 에서 말..