목록분류 전체보기 (82)
데이터로그😎
SQL ALCHEMY python에서 사요하는 대표적인 ORM ORM: Object Relational Mapping SQL 데이터베이스와 파이썬의 상호작용을 지원하는 강력한 라이브러리! 데이터베이스를 객체화시켜 데이터베이스에 있는 데이터를 CRUD 사용하는 DBSMS가 변경되면 엔진만 바꿔주면 된다. 쿼리 대신 함수 형태(메소드) CRUD를 할 수 있다. 설치 pip install --upgrade 'sqlalchemy
테이블 A와 B를 엮을 때에는 관계성을 가지고 엮는다. (PK-FK) 주로 대표값으로. PK(Primary Key): 유일하다. 중복노노 대표값 다른 데이터를 찾기위한 키 역할 인덱스로 설정_(니가 아는 그 인덱스가 아님) = 색인 UK (Unique Key) 유일하다. 단, 참조는 불가하다. FK 가 될 수 없음 FK 중복 가능 테이블 간 관계(ERD) *집합레벨: 동시에 가질 수 있는 데이터의 개수 유저 테이블: 쇼핑몰 유저 정보. 집합레벨 1 (유저는 중복될 수 없으니까) 오더 테이블: 쇼핑몰 주문내역. 집합레벨 N (유저 여러명 있을 수 있응께) 유저 - 오더 테이블 관계 = 1:N (유저 한 명당 주문 여러 건일 수 있다.) 프로덕트 테이블: 쇼핑몰에서 판매하는 상품 내역. 집합레벨 1(상품번호..
IF문 IF(조건, 참 expr, 거짓 expr) → where에 의해 걸러짐 # 도시 인구가 100만이 넘으면 'Big City'. 안 넘으면 'Small City' SELECT name, Population, IF (Population >= 1000000,'Big City','Small City') FROM city; # 도시의 인구가 100만이 넘으면 'Big City', 50만이 넘으면 'Medium City', 안넘으면 'Small City' SELECT name, Population, IF (Population >=1000000,'Big City', IF(Population >=500000, 'Medium City','Small City')) FROM city; NULL *IFNULL(컬럼, ..
SQL (Structured Query Language) 관계형 데이터베이스 관리 시스템 (RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어 Query DB에 명령하는 것(명령어) query DML DDL DCL TCL 의미 Data Manipulation Language 데이터 조작 Data Definition Language 데이터 정의 Data Control Language 데이터 제어 Transaction Control Language 트랜잭션 제어 명령어 SELECT, INSERT, DELETE,UPDATE CREATE, ALTER, DROP, RENAME, TRUNCATE GRANT(권한부여), REVOKE(권한 회수, 제거) COMMIT ROLLBACK SAVEPOIN..
군집화를 실행한 후 군집화가 얼마나 효율적으로 됐는지 어떻게 평가할까? 군집화의 성능을 평가하는 대표적인 방법 : 실루엣 분석 실루엣 분석 (silhouette analysis) 각 군집 간의 거리가 얼마나 *효율적으로 분리*돼 있는지를 나타냄 효율적으로 분리되어 있다 = 다른 군집과의 거리는 멀고 동일 군집끼리의 데이터는 가깝게 뭉쳐있다. 실루엣 분석은 실루엣 계수를 기반으로 한다. 실루엣 계수: 개별 데이터가 가지는 군집화 지표. 같은 군집 내의 데이터와 얼마나 가깝게 군집화돼 있고, 다른 군집에 있는 데이터와는 얼마나 멀리 분리돼 있는지를 나타내는 지표. 사이킷런 메소드 sklearn.metircs.silhouette_samples(X, labels, metric='euclidean', **kwds..
비모수 추정 방법 (Non-parametric Clustering) Meanshift DBSCAN 군집 개수 사전 설정 X 기반 밀도 기반 언제 사용? 데이터가 밀도가 높은 영역에 모여있는 경우 높은 차원 데이터에 대해 특징 군집의 중심을 찾기 위해 데이터가 밀집한 영역으로 이동하는 알고리즘. ( 좀비가 이동하면서 영역을 확장하는 느낌) 데이터 분포도(밀도)를 계산하여 높은 쪽으로 군집 중심점이 이동 데이터 분포가 기하학적일 때 사용 데이터 군집의 반경 & 최소 데이터 개수를 설정하여 군집화 진행 이상치 제거 가능(noise) 파라미터 bandwidth = KDE의 대역폭h = 표준편차 대역폭 크기 설정이 군집화의 품질에 큰 영향 미침 h ↓: 뾰족한 KDE, 변동성이 큰 밀도함수, 과대적합, 중심점 많..
KMeans vs GMM k-means GMM(Gaussian Mixture Model) 군집 개수 군집 개수 parameter 사전 설정 군집 방식 거리 기반 확률 기반 언제 사용? 클러스터 개수를 미리 알고 있을 때 진행 과정 군집 개수를 n_cluster 파라미터에서 설정 → 각 군집에 가까운 데이터들이 각 군집에 소속 → 새로운 군집이 만들어지면 군집의 평균으로 중심점이 이동 → 거기서 다시 가까운 데이터 기준으로 군집 형성 → 더이상 중심점이 이동하지 않을 때까지 진행 (or max_iter로 횟수 제한) 가정: 데이터가 여러개의 가우시안 분포를 가짐 먼저 정규분포 형태 몇가지를 추출해놓고 각 데이터가 이 중 어디에 속할 것인지를 판별하는 것. 파라미터 n_clusters: 군집화할 개수 ini..
군집(clustering) 고객, 마켓, 브랜드 등을 세분화/ 이미지 검출/이상 검출.. 등에 사용됨. 데이터의 특성을 파악해서 유사한 특성을 가진 데이터들끼리 그룹화 하는 것. 데이터의 특성을 이용해 서로 다른 그룹을 구분하는데, 이를 통해 데이터의 구조나 패턴을 파악할 수 있음. 모수 추정 방법 (Parametric Clustering) 비모수 추정 방법 (Non-parametric Clustering) 정의 데이터가 특정 데이터 분포를 따른다는 가정 모수 추정 방법은 군집화할 때 사용하는 모델에 **매개변수(parameter)**를 가정하고, 이 매개변수를 추정해가며 클러스터링을 수행하는 방법입니다. 데이터가 특정분포를 따르지 않는다고 가정 비모수 추정 방법은 모델에 매개변수를 가정하지 않고, 데이..