데이터 분석 part 33

LSTM 이해와 마케팅 데이터를 활용한 실습, LSTM 모델 성능평가

LSTM(Long Short-Term Memory)의 개념LSTM은 RNN(Recurrent Neural Network)의 한 종류로, 장기 의존성(Long-term dependency) 문제를 해결하기 위해 개발된 모델이다.기본 RNN은 시간이 지남에 따라 기울기 소실(Vanishing Gradient) 문제가 발생하는데, LSTM은 셀 상태(Cell State)와 게이트 구조(Gates)를 활용하여 이를 해결한다. (w가 지워지지 않도록) LSTM의 주요 구성 요소셀 상태(Cell State): 네트워크의 장기 기억을 유지하는 경로입력 게이트(Input Gate): 새로운 정보를 셀 상태에 추가할지 여부 결정망각 게이트(Forget Gate): 불필요한 정보를 제거출력 게이트(Output Gate):..

계절성을 고려한 회귀분석 / 인공신경망의 기본 구조 & 역전파와 딥러닝 모델 학습 설명

계절성을 고려한 회귀 분석 (Seasonal Regression Analysis) 기본 개념회귀 분석은 종속 변수와 독립 변수 간의 관계를 분석하는 통계 기법이다. 그러나 많은 데이터는 시간에 따라 반복되는 계절적 패턴을 가지고 있다. 계절성을 고려하지 않으면 모델이 데이터의 패턴을 제대로 학습하지 못할 수 있다. (증감 영역을 잘 모르기 때문에)( 예 : 아이스크림 판매량은 여름에 많고 겨울에 적음 / 난방기 판매량은 겨울에 많고 여름에 적음 / 월별 실업률, 주식 가격 등도 특정 시기에 따라 변할 수 있음 (경기 순환 등) )계절성을 고려한 회귀 분석은 시간 요소(예: 월, 분기, 연도 등)를 독립 변수로 추가하여 계절적 변동을 반영하는 방법이다. 일반적으로 다음과 같은 방법을 사용한다. 1. 더미 ..

차원축소, 계층적 군집 분석, 시계열데이터 예측 (회귀분석, 이동평균(MA), 지수 가중 이동 평균 (EMA)) / 마케팅 보고서 작성 연습

※ 데이터에서의 '차원' 표현데이터에서의 차원은 데이터를 표현하거나 구조화하는 방식과 관련이 있다. 스칼라(0D): 하나의 숫자 값(단일 데이터 포인트)으로 차원이 없다. (예 : 3)1차원(1D): 값들이 한 줄로 나열된 형태 (예 : [3, 4, 5])2차원(2D): 값들이 행과 열 형태로 정렬된 구조. (예 : 행렬(Matrix), 표(Table, DataFrame), 흑백이미지) 이때, 변수의 개수에 따라 차원이 결정됨. 행과 열이 있는 데이터 구조는 2차원으로 이해하고, 이때 열(변수)의 개수에 따라 차원이 달라진다. - 데이터 분석 관점에서 볼 때 배열로 표현하면 : 3차원(3D): 여러 개의 2D 행렬이 쌓인 형태로, 더 높은 차원 데이터 구조를 형성. (예 : 컬러 이미지 데이터)  4차원..

인공신경망(ANN), 다층신경망(MLP), 심층신경망(DNN) / ( 결정트리, 랜덤포레스트, K-평균군집화 복습 )

인공신경망(ANN)├── 단층신경망(SLP) (은닉층 없음)├── 다층신경망(MLP) (은닉층 1개 이상)│ ├── 심층신경망(DNN) (은닉층 3개 이상) 인공신경망(ANN)은 다층신경망(MLP)과 심층신경망(DNN)을 모두 포함하는 상위 개념ANN ⊃ MLP ⊃ DNN  ANN(Artificial Neural Network)인공신경망(Artificial Neural Network, ANN)은 인간의 뇌 구조를 모방한 기계 학습 모델로, 주로 패턴 인식, 분류, 예측 등의 문제 해결에 사용된다. 생물학적 뉴런인공 뉴런수상돌기(Dendrite) → 다른 뉴런으로부터 신호(입력)를 받음입력(Inputs, x₀, x₁, ...) → 데이터를 입력받음세포체(Cell Body) → 신호를 처리가중치(Weight..

k-NN 알고리즘, 서포트 벡터 머신(SVM), flask 웹실습

k-NN 알고리즘k-NN은 새로운 데이터가 들어왔을 때, 그 주변에 있는 가까운 데이터(k개)를 참고하여 값을 예측하는 방법.'비슷한 데이터는 서로 가까이 모여 있다'는 개념을 이용하는 알고리즘. 작동 방식1. 거리 측정새로운 데이터가 들어오면, 기존에 있던 모든 데이터와의 거리를 계산.보통 유클리드 거리(Euclidean Distance) 를 많이 쓰는데, 쉽게 말하면 '두 점 사이의 직선 거리'이다. 맨해튼 거리(Manhattan Distance) 같은 다른 방식도 사용가능.(맨해튼 거리는 '직선이 아닌 격자형 길을 따라 이동하는 거리'라고 생각하면 됨.)2. 이웃 선택모든 데이터와의 거리를 구한 뒤, 가장 가까운 k개의 데이터를 선택.여기서 k는 미리 정한 숫자. (예: k=3이면, 가장 가까운 3..

모델 성능 평가와 다중 분류 / 결정 트리의 기본 개념 / 랜덤 포레스트 개념과 구현

로지스틱 회귀 모델을 활용하여 고객 재구매를 예측하는 보고서 쓰기  import pandas as pdimport matplotlib.pyplot as pltimport koreanize_matplotlibimport seaborn as snsfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegressionfrom sklearn.metrics import accuracy_score, classification_report, confusion_matrix# 데이터 로드df = pd.read_csv("customer_repurchase.csv")# 할인쿠폰사용여부 재구매여부 관계 시각화pl..

데이터 전처리, 특징 엔지니어링, 선형회귀, 로지스틱회귀

- 데이터를 머신러닝 모델에 적합한 형태로 변환1) 데이터 정리 및 탐색데이터 로드: pandas, NumPy 등을 활용하여 데이터를 불러옴기초 통계 확인: df.describe(), df.info() 등을 이용하여 데이터 타입과 분포 확인데이터 시각화: matplotlib, seaborn을 사용해 변수 간 관계 파악2) 결측값(Missing Values) 처리(1) 결측값 확인import pandas as pddf.isnull().sum() # 결측값 개수 확인 (2) 결측값 처리 방법 # 삭제(Dropping): 결측값이 적은 경우 해당 행 또는 열 제거df.dropna(inplace=True) # 대체(Imputation): 평균, 중앙값, 최빈값 또는 예측값으로 결측값을 채움df.fillna(d..

머신러닝의 기본 개념 이해

머신러닝은 전통적인 프로그래밍 방식과는 달리 명시적인 규칙을 프로그래머가 지정하는 것이 아니라, 알고리즘(계산방식)이 데이터를 분석하여 스스로 규칙을 찾아내는 방식으로 동작한다. 머신러닝의 정의- 데이터에서 패턴을 찾아 학습하고, 새로운 데이터에 대해 예측을 수행하는 시스템 # 회귀식으로 머신러닝의 기본 개념 이해하기1) Y = W * XY → 라벨, 예측하려는 값, 출력(Output, 종속변수)X → 입력 데이터, 학습데이터 (Input, 독립변수)W → 가중치(Weight) 또는 계수(Coefficient), 모델, 패턴, 모델이 학습해야 할 값☞ '입력 데이터(X)'에 어떤 '가중치(W)'를 곱해서 '출력(Y)'을 예측하는 것!즉, 머신러닝 모델은 적절한 W(가중치)를 찾는 과정. 머신러닝 목표:=..

웹서버로 보고서 구현(flask) / 루커 스튜디오 실습 및 데이터 소스 연결

웹서버(flask)로 보고서 구현하기 연습1) HTML은 문서의 구조(뼈대) 부분이며 CSS는 문서의 디자인 요소, 자바스크립트는 동적특성부여. (클릭, 입력 등 사용자의 행동에 따라 변화하거나 반응하는 기능) 위 파일에서 analysis.html 파일은 자바스크립트 코드도 포함되어 있다. (analysis.html은 index.html과 마찬가지로 templates 폴더에 넣으면 된다. 위 그림의 플라스크 기본 규격은 만든사람이 정해놓은 규칙과도 같다. 터미널을 열고 MariaDB를 실행하여 플라스크의 기본 규격에 맞게 폴더를 만들고 폴더권한을 부여한 다음, 해당폴더에 파일질라로 파일을 옮겨놓고 python3 app.py를 입력하면 웹에서 확인이 가능하다. (주소는 http://vm외부ip주소:포트번호..

* 태블로 실습 / Chart.js를 이용한 웹페이지 실습

태블로 그래프 그리기 연습  시간대 별 매출 금액 변화  남녀 매출 비교  상권 유형별 매출 차이  업종별 평균 거래 건수 비교  서울 내 특정 상권의 요일별 매출 변화  업종 시간대별 매출 패턴 분석  업종별 시간대별 매출 금액 분석  업종별로 주중과 주말 매출 비율 분석   상권 유형별 연령대 매출 비중 비교   매출 건수와 매출 금액 간 관계 분석   매출이 높은 업종 상위 10 시각화   상권별 연령대별 주요 고객층 분석   Chart.js를 이용한 웹페이지 실습