빅데이터 분석 생태계란 무엇인가?빅데이터 분석 생태계는 데이터를 수집하고 저장한 후, 이를 처리하고 분석해 유의미한 인사이트를 도출하는 일련의 기술, 도구, 플랫폼, 프로세스를 아우르는 개념입니다. 오늘날 다양한 산업 분야에서 빅데이터는 경쟁 우위를 창출하는 중요한 자산으로 자리 잡고 있으며, 이를 효과적으로 활용하기 위한 생태계도 빠르게 발전하고 있습니다.빅데이터 분석 생태계의 주요 구성 요소빅데이터 분석 생태계는 크게 5가지 핵심 요소로 나눌 수 있습니다. 데이터 수집, 데이터 저장, 데이터 처리, 데이터 분석 및 시각화, 데이터 관리 및 보안. 각 요소는 빅데이터 분석 과정에서 중요한 역할을 합니다. 자신이 빅데이터 분석을 다루고 있다면 프로젝트시 지금 어떤 역할을 하는지 아는 것이 중요합니다.1...
빅데이터 분석의 흐름빅데이터 분석은 방대한 양의 데이터를 처리하고 이를 기반으로 유용한 인사이트를 도출하는 과정을 의미합니다. 이러한 빅데이터 분석의 흐름은 데이터를 수집하고 처리한 뒤 분석하여 의사결정에 활용하는 일련의 단계로 나눌 수 있습니다. 이번 포스팅에서는 빅데이터 분석의 주요 단계와 각 과정에서의 핵심 요소들을 살펴보겠습니다.업무 이해먼저 업무목적에 대해 파악을 해야합니다. 데이터를 이용해 얻고자 하는 게 무엇인지 명확하게 결정할수록 분석 작업에서 효율적으로 일을 진척시킬 수 있습니다.핵심포인트 : 업무이해, 업무목적파악, 상황파악, 데이터마이닝 목표 설정, 프로젝트 계획수립데이터 수집데이터 수집은 다양한 소스에서 데이터를 모으는 과정입니다. 여기에는 웹 로그, 소셜 미디어, 센서 데이터, 트..
이진분류 모델 종류머신 러닝에서 가장 쉬운 문제인 이진 분류를 할 때 사용하는 모델을 정리해봤습니다. 이진 분류를 수행할 수 있는 모델은 다양합니다. 각 모델은 데이터와 문제의 특성에 따라 장단점이 있으며, 성능은 데이터의 분포와 특성에 따라 달라질 수 있습니다. 다음은 이진 분류에 사용될 수 있는 주요 머신러닝 모델과 기법들입니다.1. 서포트 벡터 머신 (Support Vector Machine, SVM)설명: SVM은 데이터 포인트를 고차원 공간으로 매핑하여 클래스 간의 최대 마진을 찾는 모델입니다. 비선형 분류를 위해 커널 함수를 사용할 수 있습니다.장점: 강력한 이진 분류 성능, 고차원 데이터에 잘 작동.단점: 큰 데이터셋에 대해 훈련이 느릴 수 있음.from sklearn.svm import S..
범주형 데이터 인코딩하기 머신러닝 모델은 글자를 인식하지 못합니다. 이 사실만으로도 인코딩을 반드시 해야한다는 걸 이해하실 수 있을겁니다. 컴퓨터는 사람처럼 소통하는 게 아니기 때문에 이것이 범주형 데이터라는 것을 알려주어야 합니다. 그런 의미에서 판다스에서 타입이 object로 분류되는 데이터는 인코딩을 해주어야 합니다. 인코딩 방법 데이터 인코딩하는 방법은 굉장히 많습니다. 그 중에서 주요한 방법인 레이블 인코딩, 원핫인코딩, 더미 변수, 빈도 인코딩, 순서 인코딩에 대해 간단히 정리합니다. 레이블 인코딩 (Label Encoding) 개념: 각 범주에 고유한 정수를 할당하는 방식입니다. 카테고리가 확실할 때 사용합니다. 문자를 정수로 반환하는 역할만 합니다. 원 데이터의 손실이 없습니다. 예시: f..
숫자형 데이터 스케일링하기 머신러닝이나 딥러닝으로 빅데이터 분석을 하기전에 필수로 해야하는 것이 데이터값 맞추는 작업입니다. 숫자형 데이터인 경우 숫자가 중구난방이 되면 안되기 모델 정확도가 많이 떨어지기 때문에 컬러마다 범위가 같게 숫자로 맞춰주어야 합니다. 모두 비율로서 맞춰서 모델 예측력을 높입니다. 스케일링 방법 스케일링 방법에는 Min-Max Scaling, Standard Scaling, Robust Scaling이 주요한 방법입니다. Min-Max Scaling 개념: 데이터의 범위를 최솟값을 0, 최댓값을 1로 변환하여 모든 데이터값이 0~1사이의 값으로 바꿔줍니다. 수식: $$X_{\text{scaled}} = \frac{X - X_{\text{min}}}{X_{\text{max}} - ..
파이썬으로 선형회귀 모델 만들기 이전 포스팅에서 선형회귀에 대한 이론적인 내용을 했었는데 파이썬으로 구현할 때 본의아니게 많이 어렵게 코딩을 한 것 같습니다. 그래서 scikit-learn 과 statsmodel을 이용해 선형회귀를 구현하는 방법을 포스팅합니다. 이미 되어있는 걸 가져다 쓰면 되기 때문에 간단합니다. scikit-learn 을 이용한 방법 numpy와 scikit-learn을 이용한 방법입니다. 선형회귀 모델에 데이터를 훈련해서 회귀계수를 찾아냅니다. 먼저 데이터를 가져옵니다. 예제이므로 간단하게 만들었습니다. 실제 데이터를 가져온다면 입력데이터와 타킷데이터를 구분합니다. import numpy as np from sklearn.linear_model import LinearRegress..
인공지능은 현대 사회에서 가장 빠르게 발전하는 기술 중 하나로, 우리의 생활과 업무에 혁명적인 변화를 가져오고 있습니다. 그리고 그 핵심적인 역할을 맡고 있는 것이 바로 "머신러닝(Machine Learning)"입니다. 머신러닝은 알고리즘을 구축하는 컴퓨터 과학의 하위 분야로 최근에는 인공지능의 핵심기술로 자리잡고 있습니다. 요즘은 머신러닝으로 할 수 없는 것들도 많아지고 있는 추세지만 기본적인 베이스가 되고 있는건 변함 없습니다. 컴퓨터가 패턴을 학습하여 스스로 데이터분석과 문제를 해결하는 능력을 갖추게 된다면 얼마나 편해질까요? 데이터를 컴퓨터에게 던져주면 알아서 분석도 해주고 ppt도 만들어주고 문서도 만들어줄겁니다. 여태까지 컴퓨터로 했던 모든 것들은 이제 말이나 타이핑을 통해서 해달라고 요청하..
요즘은 어떤지 모르겠지만 저는 개인적으로 자연어 맨처음 시작할 때 공부용으로 쓰던 NLTK입니다. 한글지원은 약하고 주로 영어를 사용합니다. 이미 생성AI가 나오는 판국에 이제와서 무슨 자연어 처리일까 싶겠지만 인공지능은 데이터기반으로 하기 때문에 내가 데이터만 잘 가져온다면 어디서든 새로운 걸 만들어낼 수 있습니다. 모두가 구글 될게 아니기 때문에 자신의 주변에서 필요한 부분이 분명 있을테니 영감을 얻는 도구로써 한번 체험해보시길 바랍니다. NLTK 소개 NLTK(Natural Language Toolkit)은 파이썬에서 자연어 처리를 수행하기 위한 라이브러리입니다. 텍스트 데이터 분석, 토큰화, 형태소 분석, 품사 태깅, 문장 구문 분석 등 다양한 자연어 처리 작업을 지원하며, 학술 연구부터 실제 응..
분류 문제 실습용으로 가장 좋은 iris dataset 가져오는 방법입니다. 여러 방법이 있지만 머신러닝에서 가장 선호하는 건 sklearn을 이용한 방법이 아닐까 싶습니다. 주요 데이터셋은 sklearn에 내장되어있기 때문에 손쉽게 데이터를 받을 수 있습니다. Iris 데이터셋 가져오기 다음과 같이 합니다. from sklearn.datasets import load_iris import numpy as np import pandas as pd Iris = load_iris() Iris Iris를 불러보면 다음과 같이 딕셔너리로 구성되어있습니다. 밑에 가보면 데이터 정보도 같이 줍니다. 딕셔너리 그대로 머신러닝을 돌리기에는 무리가 있습니다. 데이터 정보를 토대로 데이터프레임에 옮겨보겠습니다. 'data..
머신러닝은 지도학습, 비지도 학습, 강화학습 등 다양한 모델이 있습니다. 학습방법에 따라 성능에 대한 고찰도 약간씩 달라집니다. 이번 포스팅에서는 지도학습 모델에서 자주 쓰는 평가방식에 대해 정리하려 합니다.범주형 모델 평가범주형 모델은 분류를 목적으로 만든 모델입니다. 성능 또한 잘 분류했는지를 확인합니다. 평가를 위해서 혼동행렬(Confusion Matrix)를 이용하고 주로 F1_score나 ROC 곡선 점수로 평가를 합니다.혼동행렬, ROC 곡선에 대한 개념에 대한 자세한 내용은 아래 포스팅에서 확인하시기 바랍니다.[머신러닝] 혼동행렬(Confusion matrix) [머신러닝] 혼동행렬(Confusion matrix)이전 포스팅에서 MNIST에서 이진 분류기를 만들어 보았는데 글이 길어지다 보..
파이토치 설치하는 방법입니다. 딥러닝을 구현하려면 텐서플로우랑 파이토치가 필요한데 텐서플로우는 이미 conda나 pip으로 간단하게 설치가 가능한데 파이토치는 그렇지 않습니다. 파이토치 홈페이지에서 설치파일을 받아야 합니다. 설치파일 받기 파이토치는 홈페이지에 가서 개발환경 버전에 맞는 설치파일을 가져와야 합니다. 기존에 있던 www.pytorch.org 는 보안과 안정성 때문에 좀 찝찝한 부분이 있어서 추천드리지 않고 파이토치 한국 사용자 모임 홈페이지에서 pytorch 설치를 진행하는 것을 추천합니다.아래 홈페이지로 가면 됩니다. https://pytorch.kr/get-started/locally/ 파이토치 한국 사용자 모임 (PyTorch Korea User Group) 파이토치 한국 사용자 모임..
일차식으로 이루어진 선형회귀에 대한 내용입니다. 선형회귀는 간단한 상관관계에 대해 사용할 수 있습니다. 예를 들면, 키와 몸무게의 관계나 공부량과 성적의 관계와 같이 상관되는 특성이 단순한 경우입니다. 그래프로는 증가함수를 보여주거나 감소함수를 보여주는 경우를 의미합니다. 회귀는 과학실험을 통해 팩터를 찾고 공식을 만들어가던 것과 같이 주어진 데이터를 해석해 적당한 그래프 모양을 수학식으로써 표현해나가는 과정이라고 볼 수 있는데 그 중에서 선형 회귀는 일차식으로 이루어진 식으로 결정짓는 것을 말합니다. 이전 포스팅(회귀)는 일반화된 경우였고 기저를 정하는 것부터 시작했다면 선형회귀는 기저가 {1,x} 로만 이루어진 식으로 볼 수 있습니다. 변수(특성)의 개수가 여러개로 나타날 수 있는데 이건 스스로 판단..
MNIST를 이용한 다중분류기 구현 방법입니다. 다중분류기는 여러 개의 클래스로 구별하기 위해서 만드는데 SGD, 랜덤 포레스트 ,나이브 베이즈 같은 분류기로 직접 처리가 가능합니다.다중 분류기를 사용해 직접 사용하기 전에 이진 분류기인 서포트 벡터 머신 분류기를 이용해 다중 클래스로 분류하는 방법을 소개할까 합니다. 원리를 설명하기에 좋고 전략을 세워가는 재미(?)를 아시게 되지 않을까 싶습니다. One-versus-the-rest(OvR)OvR은 숫자 하나 대 나머지를 비교하는 전략입니다. One-versus-all(OvA)라고도 합니다.숫자별로 숫자 하나만 구별하는 이진 분류기를 만들어서 점수를 매깁니다. 그럼 10개의 점수가 나오는데 이중에서 가장 높은 점수가 나오는 것을 선택하는 방식입니다. M..
이전 포스팅에서 MNIST에서 이진 분류기를 만들어 보았는데 글이 길어지다 보니 검증에 대한 개념을 위한 포스팅을 따로 합니다. 이진 분류기를 만드는 과정과 검증방법은 이전 포스팅에서 확인해주시기 바랍니다. 2021.11.28 - [데이터 사이언스/머신러닝 딮러닝] - [분류문제] MNIST로 이진분류기 만들기 [분류문제] MNIST로 이진분류기 만들기 머신러닝의 가장 기초중의 기초 머신러닝의 'Hello World' MNIST입니다. 머신러닝은 기본적으로 주어진 데이터를 가지고 컴퓨터를 훈련을 시키기 때문에 훈련,검증의 두단계를 거칩니다. 주어진 데 seong6496.tistory.com 혼동행렬은 약간 복잡합니다. 교차 검증을 통한 정확도를 하면 좋겠지만 분류기의 예측값과 정답과의 차이를 반영했는지와..
머신러닝의 가장 기초중의 기초 머신러닝의 'Hello World' MNIST입니다. 머신러닝은 기본적으로 주어진 데이터를 가지고 컴퓨터를 훈련을 시키기 때문에 훈련,검증의 두단계를 거칩니다. 주어진 데이터는 유한하니 데이터를 분리시켜 하나는 훈련을 시키고 다른 하나로는 검증을 시행합니다. 여기서 주의할 점은 훈련데이터와 검증데이터가 겹치면 안됩니다. 이미 훈련을 한 문제로 검증을 하면 당연히 100점이 나오기 때문에 의미가 없습니다. 적당한 훈련 끝에 데이터를 아무거나 가져와도 내가 원하는 답을 해주는지를 기대하기 때문에 주어진 환경안에서 잘 훈련되어 정확한 답을 끌어내게끔 만들어내는게 목적이라고 볼 수 있습니다. MNIST는 손으로 쓴 숫자이미지로 이를 이용해 컴퓨터를 학습시켜 컴퓨터가 아무 숫자를 보..