-
추천시스템 이해데이터 분석 2024.03.17 18:07
기본적인 추천시스템은 어떤 행렬(데이터)을 사용했는지와 어떻게 분석했는지로 구분할 수 있다. ex) 영화 추천 시스템 콘텐츠 기반 추천시스템(Content-based Filtering, CB): 행에는 영화제목이, 열에는 영화 속성이 있는 행렬을 사용한다. (==각 영화를 설명하는 행렬) → A와 비슷한 영화는 A’입니다. 비슷한 영화를 계산하는 대표적인 방법으로 코사인 유사도가 있다. 협업 필터링 추천시스템(Collaborative Filtering, CF): 행에는 영화제목이, 열에는 사용자 개개인이 기록된 행렬을 사용한다. (==각 영화에 대한 평점을 기록한 희소행렬) → 아직 관람하지 않은 영화 B의 예측 평점은 5점입니다. 이와 반대로 행에는 사용자, 열에는 영화제목이 있는 행렬도 사용가능하다...
-
유용한 파이썬 코드 모음 (데이터 분석)데이터 분석 2023.02.24 18:26
데이터를 분석할 때 자주 생각나는 코드들을 하나씩 모으고 있습니다. 최종목표는 데이터 분석 템플릿 수준으로 확장하기 입니다. 계속 업데이트 하겠습니다. Seed 고정 import numpy as np import random import os def seed_everything(seed: int = 24): random.seed(seed) np.random.seed(seed) os.environ["PYTHONHASHSEED"] = str(seed) seed_everything(24) 기본 모듈 import import numpy as np import pandas as pd import datetime import holidays import matplotlib.pyplot as plt import se..
-
데이터 전처리, 무엇부터 해야할까?질문과 답변 2023.02.28 17:40
데이터 전처리는 데이터분석에 지대한 영향을 미치는 요인입니다. 모델과, 데이터의 종류에 따라 처리해야할 것들이 다양합니다. 무엇부터 해야할까요? 일반적으로 데이터를 로드 했을 때, 어떤 순서로 데이터에 접근하면 좋을 지 표로 정리해보았습니다. 데이터 전처리 순서, 1번 부터 14번 까지 : ------- Drop 결측치 이상치 Scaling 자료형 변환 인코딩 타겟 (y) 1번 2번 3번 4번 피처(x) 실수형 피처 5번 7번 8번 9번 10번 범주형 피처 6번 11번 12번 13번 14번 각 처리에서 유의할 점 Drop. 같은 변수인데 중복되었을 경우 삭제합니다. 분석에 전혀 상관없는 변수를 삭제합니다. (ex. x3 = x1+x2) 이 단계에서 변수간에 상관관계를 의심하고 데이터가 저장된 자료형을 확..
-
데이터베이스의 구조가 중요할까?질문과 답변 2023.02.24 18:05
데이터베이스의 가장 큰 특징은 "함수가 아니다." 라는 것입니다 데이터베이스는 수학처럼 참과 거짓을 반환하지 않습니다. 데이터베이스는 통계처럼 확률과 오류의 가능성을 반환하지 않습니다. 데이터베이스는 One to Many의 릴레이션을 지향합니다. DB사용자가 '영화를 보여줘'라는 쿼리를 입력하면 DB는 셀 수 없는 경우의 수로 답을 내놓을 수 있습니다. 무한한 가능성의 도구를 적절히 사용하기 위해선 그에 걸맞는 제약조건(constraint)이 필요할 것입니다. 그 제약조건들을 구현하면서, 동시에 필요한 테이블을 모두 보유하는 - 가장 간단한 구조가 이상적인 데이터베이스 디자인이라고 할 수 있습니다. 데이터베이스 구조를 디자인했던 저의 예시를 통해 더 자세히 알려드리겠습니다. 제 데이터베이스의 목표는 카카..
-
시계열 데이터에 대한 ARIMA 모델 with R데이터 분석 2023.02.22 19:10
총 두 가지의 데이터에 대하여 ARIMA모델을 적합해보았다. 화학반응의 결과물에 대한 시간 별 데이터 (n=197) 미국의 실업자에 관한 월 별 데이터 (n=500) 분석목적: 시간에 따라 측정된 두 종류의 시계열 데이터에 대하여 자주 사용되는 ARIMA(p,d,q)모델을 적합하고 자귀회귀계수(p), 차분계수(d), 이동평균계수(q)를 추정한다. 경우에 따라 계절성이 관측되면, seasonal ARIMA(p,d,q)(P,D,Q)[m] 모델을 사용하기로 한다. 첫 번째 데이터 : Chemical process concentration readings: Every two hours (n = 197) - ACF가 천천히 감소한다고 판단된다.(-> 비정상성) 차분을 적용한다. ACF는 cut off after ..
-
수리통계학에 대해서통계학을 여행하는 이를 위한 안내서 2023.02.20 21:50
이 글은 기초통계 또는 통계학개론을 공부한 분들께 수리통계를 소개하고자 작성되었습니다. 이를 위해 수리통계의 중요개념을 담고 있는 후반부의 문제를 풀어보겠습니다. 문제 $ X_{1},X_{2},...,X_{n} $이 $poisson( \theta )$ 로부터의 랜덤샘플일 때 $\theta e^{-2 \theta } $의 최소분산비편향추정량 (best unbiased estimator)을 구하여라 문제 설명 문제의 목적은 데이터(샘플)와 추정할 대상이 있을 때, 추정량 중 한 종류인 "최소분산비편향추정량"을 구할 수 있는지를 물어보는 것입니다. 우리가 알고 있는 데이터는 $poi( \theta )$ 분포를 따르는 랜덤샘플 $ X_{1},X_{2},...,X_{n} $ 입니다. 우리가 추정할 대상은 $\th..
-
이미지에 대한 PCA와 클러스터링, LDA데이터 분석 2023.02.21 15:34
Handwritten digit image data에 대한 다변량 분석 데이터 소개: 업로드된 train.7.txt, train.9.txt는 미국 우체국에서 손으로 쓰여진 우편번호 중 digit “7”과 “9”를 스캔한 이미지를 각각 645, 644개씩 포함하며, 각 이미지는 16 × 16 grayscale matrix로 표현되어 있다. 분석 목적: (i) 주성분 분석을 통한 저차원에서의 이미지 표현 (ii) 군집분석 (iii) 판별분석을 통한 각 digit 분류 rm(list=ls()) #객체 제거 options(digits=4) library(MASS) data.7 = read.csv("train.7.txt", header = F) #데이터를 불러와라 data.7 = as.matrix(data.7) ..
-
통계학에 대해서통계학을 여행하는 이를 위한 안내서 2022.08.30 20:29
우리는 모른다, 다만 결정한다 통계학은 모형과 표본을 가지고 모수를 추론하는 학문입니다. (또는 예측하는 학문입니다.) (추론한 결과물은 통계량(statistics)이라고 합니다.) 유사한 의미로 쓰이는 단어는 다음과 같습니다.모형표본모수통계량모델머신러닝, 딥러닝분포통계적 가정데이터샘플자료관측치파라미터ex) 모평균,모분산 모델해추정량(estimator)ex) 표본평균, 표본분산 추론과 예측의 차이 : 추론은 모형이 표본을 잘 설명하는지에 집중하는 방법이고 (확률변수의 성질이 무엇인가?)예측은 모형이 미래를 잘 맞추는지에 집중하는 방법입니다. (확률변수의 값이 무엇일까?) 특정한 모형들은 그 구조를 파악할 수 없음에도 (해석이 힘들다) 일단 미래는 잘 맞추는 경우가 있습니다. 가장 대표적으로는 ..
-
ROC곡선은 왜 그렇게 생겼을까? (정밀도와 정확도의 차이)질문과 답변 2023.02.27 17:47
※ 주관적인 상상력이 개입된 설명을 포함하고 있습니다. 이 문서를 읽기전에, 오분류표의 의미가 기억나지 않는 분들은 위키백과를 참조해주세요. https://ko.wikipedia.org/wiki/%EC%A0%95%EB%B0%80%EB%8F%84%EC%99%80_%EC%9E%AC%ED%98%84%EC%9C%A8 오분류표와 ROC곡선은 다음과 같이 생겼습니다. 이것들은 모두 "분류(classification)" 모델의 성능을 평가하는 도구입니다. (분류 모델은 예를들어 어떤 동물 사진을 입력하면 개 or 고양이로 동물을 맞춘다거나 어떤 사람의 특성을 바탕으로 시험 합격 or 불합격을 예측하는 등의 일을 수행합니다.) 즉, 이것들은 반응(종속)변수가 범주형인 모델의 성능을 평가하는 지표입니다. 결론부터 말하자..
-
딥러닝(CNN)을 이용한 음성분류데이터 분석 2023.02.21 16:28
데이터 소개 : 텐서플로우에서 발행한 음성탐지 모델용 데이터. 30개의 영어 단어(yes, no, up, down 등)에 대해 1초 분량으로 기록한 65,000개의 데이터 세트 출처 : https://www.kaggle.com/c/tensorflow-speech-recognition-challenge 분석 목적 : 캐글 competition 에 사용되는 test 단어 10가지에 대하여 CNN을 이용한 분류모델 학습과 예측성능 평가. 10가지 단어의 데이터 샘플 수는 21312개. 의의: 음성 데이터 전처리의 중요성을 실감함 (검색 추천 키워드: "MFCC" ) 딥러닝을 활용한 엔지니어링 프로세스와, 기본적인 모델 구조에 대한 이해 모델 요약 : In [1]: import os for dirname, _,..
-
머신러닝(분류): 신용카드 사기 검출 분석데이터 분석 2023.02.28 15:42
데이터 소개 : European Card의 사용 내역으로 생성된 데이터.총 거래내역 284,807건 중에서 사기 당한 표본은 492건. (0.172%로 매우 희박함)변수 V1~V28은 거래내역의 개인정보 문제로 PCA된 변수. 출처: https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud Credit Card Fraud DetectionAnonymized credit card transactions labeled as fraudulent or genuinewww.kaggle.com 분석 목적: 신용카드 사기를 예측하는 분류 모델 구축모든 거래가 정상이라고 예측하는 모델도 정확도는 99.828.따라서 실제 사기를 사기라고 판단한 "재현율" 지표가 중요함라..
-
다변량 자료와 정규분포데이터 분석 2022.08.30 21:07
목적: 다변량 정규분포와 정규성 검정을 위한 R의 함수들을 실습합니다. setwd("D:/Find in data/Findindata 블로그/데이터사이언스/데이터 분석") getwd() ## [1] "D:/Find in data/Findindata 블로그/데이터사이언스/데이터 분석" rm(list=ls()) #모든 정의된 변수 초기화 1. 평균벡터와 분산-공분산행렬 다음은 2001년에 집계된 네 개의 주요 자원들로부터의 에너지 소비량 x1: petroleum(석유), x2: natural gas(천연가스), x3: hydroelectric power(수력 발전), x4: nuclear electric power(원자력 발전) in quadrillions (1015) of BTUs 을 포함한 자료를 이용하여..
자투리 모음
-
『 릴케의 실존적 사랑 』자투리 2023.02.20 15:04
이 포스팅은 "릴케의 실존적 사랑"이라는 개념에 대하여 고찰하는 글입니다. 릴케의 ‘실존적 사랑’이라는 개념은 사랑에 대해 내가 평소에 가지고 있던 가치관과 충돌하는 부분이 많았다. 사람들은 보통 사랑에 대하여 1. 살아있는 대상을 사랑한다. 2. 남자와 여자가 각자의 특성을 발현하며 사랑한다. 3. 연인은 상대의 일부분을 소유하며 간섭할 수 있다. 4. 몸이 떨어지면 마음도 떨어진다. - 다음과 같이 믿는다. 그러나 릴케의 실존적 사랑은 위의 진술들은 종합적인 개념들로써 반박한다. 실존적 사랑을 알기 위해 우리가 주목해야할 부분은 “사랑의 대상과 목적은 무엇인가?”, “사랑에서 우리가 소유할 수 있는 부분이 존재하는가?”, “소유할 수 있는 부분이 있다면 그것을 소유하고자 해야 하는가?”, “사랑과 고..
-
책 『정체성』에 관하여Review 2022.08.30 21:24
실존하는 것으로부터의 위험이 사라진 시대. 우리는 더 이상 우정이라는 이름으로 칼과 총을 뽑아들지 않는다. (적대자에게) 우리는 연대하지 않는다. 똑같이 보이지 않는 것-시스템-에서 도움을 찾는다. 중립의 예절계약 같은 우정. - 밀란 쿤데라 전쟁터에서 적군을 마주치면 동료에게 의지하지만 여행을 가다가 차량이 파괴되면 보험사에 의지한다. 요즘 사람들은 재미있는 친구를 가장 좋아하는 것 같다. 나도 그렇다. 그렇지만 사람이 친구가 될 때는 어쩔 수 없이 믿음이 먼저고 재미는 다음이 아닐까 생각해본다. 우리가 감추고자 하는 비밀은 가장 특별하고 신비스럽고 개인적이며 소중한 것이 아니다. 비개인적이고 반복적이며 보편적인 것이 비밀이다. - 밀란 쿤데라 남들이 얻기 힘든 소중한 사진은 인스타그램에 게시하고 자신..
-
영화 『다크나이트』에 관하여Review 2022.09.01 19:35
※ 영화의 스포일러를 포함하고 있습니다. 유의미한 다크나이트의 도입부 첫 번째 장면은 조커와 그 일당의 은행 강도 scene이다. 이 강도 장면의 특별한 부분이라면 5명의 강도가 한 명 한 명을 배신하고 결국 마지막에 최후의 1인이 모든 돈을 챙긴다는 점을 들 수 있다. (그리고 그는 조커였다.) 이것을 제압당한 채로 지켜보던 은행장은 조커에게 “이곳 범죄자들에게는 신조가 있었다. 명예, 존중... 너에겐 무엇이 있냐? 너는 무얼 믿냐!”라고 소리친다. 그러자 조커는 “죽을 만큼 고난을 겪으면 사람이 이상해진다.(What ever does not kill me, simply makes me STRANGER)”라고 답한다. (이 대사는 니체의 명언 What does not destroy me, makes ..