• Hive Basic Commands

    1. Create Database, Table 하이브에서 데이터베이스를 만든다는 것은 실제 데이터를 저장하는 것이 아니라 테이블의 스키마를 설정하는 것이다. 해당 정보는 metastore에 저장된다. CREATE DATABASE, CREATE DATABASE IF NOT EXISTS를 활용하여 데이터베이스를 만들 수 있다. create database d1; # ignored create database if not exists d1; # error create database d1; 또는...


  • Imbalanced Data Classification

    이번 포스팅에서는 Imbalanced data classification을 위한 여러 방법들을 알아볼 것이다. 예시로는 bankruptcy detection, fraud detection 등이 있다. 이러한 경우에는 Positive 비율이 1%도 안되고, 대부분의 머신러닝 모델은 Negative로 예측해버린다. 그렇게 예측해도 정확도 99%가 보장되기 때문이다. 이 문제를 해결하기 위한 여러 방법들을 소개하고자 한다. Machine Learning Techniques Deep Learning Techniques References


  • Hive Basic

    0. Introduction to Hive What Hive is? 하이브란 HDFS에 저장된 데이터를 SQL과 비슷한 쿼리를 통해 처리할 수 있게 하는 쿼리 툴이다. SQL은 DBMS에 저장된 데이터를 다루고, 하이브는 HDFS에 저장된 데이터를 다룬다. 테이블로 저장된 구조화된 데이터를 처리한다. Batch processing에 적합하다. MapReduce와 HDFS를 연결하는 렌즈에 해당한다. 하이브 쿼리는 내부적으로 MapReduce 프로그램으로 변환된다....


  • Graph Theory with Python

    서로소 집합 시간복잡도: $O(V + M \log_{2}{V})$ # 원소가 속한 집합 찾기 def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] # 두 원소가 속한 집합 merge def union(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a...


  • Shortest Path with Python

    오늘은 파이썬을 이용해 weighted graph(가중치가 있는 그래프)에서 최단 경로를 찾는 방법을 알아보겠습니다. 가중치가 없는 그래프라면 BFS를 통해 최단 경로를 손쉽게 구할 수 있습니다. 다익스트라 알고리즘 다익스트라 알고리즘은 한 노드에서 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘입니다. 다익스트라는 기본적으로 그리디 알고리즘의 한 종류로, 방문하지 않은 노드 중 가장 가까운 노드를...