Immersion In Data

전체 글 196

VirtualBox에 Ubuntu Linux 설치

1. VirtualBox 설치 https://www.virtualbox.org/ Oracle VM VirtualBox Welcome to VirtualBox.org! News Flash New September 2nd, 2022VirtualBox 6.1.38 released! Oracle today released a 6.1 maintenance release which improves stability and fixes regressions. See the Changelog for details. Important August 30th, 2022We're hiring! www.virtualbox.org 1) 위 링크로 들어가면 아래 화면이 나오게 된다. 해당하는 운영체제에 맞게 설치파일을 다운 받아 설..

Linux 2022.09.23

맵리듀스(MapReduce)

맵리듀스(MapReduce) 대용량 데이터 처리를 위한 분산 프로그래밍 모델 맵리듀스 프레임워크를 이용하면 대규모 분산 컴퓨팅 환경에서 대량의 데이터를 병렬로 분석 가능하다. 프로그래머가 직접 작성하는 맵과 리듀스라는 두 개의 메소드로 구성된다. 흩어져 있는 데이터를 수직화하여, 그 데이터를 각각의 종류별로 모으고(Map) → 필터링과 sorting을 거쳐 데이터를 뽑아내는(Reduce) 분산처리 기술과 관련 프레임워크를 의미한다. 맵(Map) 흩어져 있는 데이터를 연관성 있는 데이터들로 분류하는 작업(key, value의 형태) 리듀스(Reduce) Map에서 출력된 데이터에서 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업 맵리듀스 잡(MapReduce Job) : Client 수행 작업 단위 ..

Hadoop 2022.09.21

하둡 분산형 파일 시스템(Hadoop Distributed File System, HDFS)

하둡 분산형 파일 시스템(Hadoop Distributed File System, HDFS) 하둡 네트워크에 연결된 기기에 데이터를 저장하는 분산형 파일 시스템 하둡 분산 파일 시스템은 하둡 프레임워크를 위해 자바 언어로 작성된 분산 확장 파일 시스템이다. HDFS는 여러 기계에 대용량 파일을 나눠서 저장한다. 데이터들을 여러 서버에 중복해서 저장하므로써 데이터 안정성을 얻는다. 특징 1. HDFS는 데이터를 저장하면, 다수의 노드에 복제 데이터도 함께 저장해서 데이터 유실을 방지 2. HDFS에 파일을 저장하거나, 저장된 파일을 조회하려면 스트리밍 방식으로 데이터에 접근 3. 한번 저장한 데이터는 수정할 수 없고, 읽기만 가능해서 데이터 무결성을 유지 4. 데이터 수정은 불가능하지만 파일 이동, 삭제,..

Hadoop 2022.09.21

하둡 에코시스템(Hadoop Ecosystem)

하둡 에코시스템(Hadoop Ecosystem) 하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈소스 프레임워크이다. 간단한 프로그래밍 모델을 사용하여 여러대의 컴퓨터 클러스터에 대규모 데이터 세트를 분산 처리할 수 있게 해주는 프레임워크라고 할 수 있다. 일반적으로 HDFS와 MapReduce 프레임워크로 시작되었으나, 여러 데이터 저장, 실행 엔진, 프로그래밍 및 데이터 처리와 같은 하둡 생태계(Hadoop Ecosystem) 전반을 포함하는 의미로 확장되었다. 하둡 에코시스템은 그 프레임워크를 이루고 있는 다양한 서브 프로젝트들의 모임이다. - 하둡의 코어 프로젝트 : HDFS(분산 데이터 저장), MapReduce(분산 처리) - 하둡의 서브 프로젝트 : 나머지 프로젝트 → 워크플로우..

Hadoop 2022.09.21

CodeUp 100제 : #6001 ~ #6098

https://codeup.kr/problemsetsol.php 문제집 codeup.kr [기초-출력] / [기초-입출력] / [기초-값변환] #6001 [기초-출력] 출력하기 01 print("Hello") #6002 [기초-출력] 출력하기 02 print("Hello World") #6003 [기초-출력] 출력하기 03 print("Hello\nWorld") #6004 [기초-출력] 출력하기 04 print("'Hello'") #6005 [기초-출력] 출력하기 05 print('"Hello World"') #6006 [기초-출력] 출력하기 06 print("\"!@#$%^&*()'") #6007 [기초-출력] 출력하기 07 print("\"C:\\Download\\'hello'.py\"") #6008..

Python/CodeUp 2022.09.06

[AI] Association Mining

1. Association Mining 주어진 트랜잭션 집합으로부터, 어떤 아이템들이 나타날지를 다른 아이템들의 발생으로부터 예측하는 규칙을 찾는 작업이다. 위의 그림은 장바구니 분석의 예시인데, {Diaper} → {Beer}, {Milk, Bread} → {Eggs, Coke}, {Beer, Bread} → {Milk} 기저귀를 사는 사람이 맥주를 산다, 우유와 빵을 사는 사람이 계란과 콜라를 산다, 맥주와 빵을 사는 사람이 우유를 산다 처럼 분석하는 것이다. 1) 항목 집합(Itemset) - 한 개 이상의 항목(들)의 집합 ex. {Eggs}, {Milk, Bread, Diaper} - k-항목집합(k-itemset) : k개 항목을 가지는 항목 집합 2) 지지도 카운트(Support Count)..

AI 2022.09.01

[AI] Random Forest

1. Random Forest 의사결정나무(Decision Tree) 모델을 여러 개 훈련시켜 그 결과를 종합해 예측하는 앙상블(Ansible) 알고리즘이다. 각 의사결정나무 모델을 훈련시킬 때 배깅(Bagging) 방식을 사용한다. 배깅은 전체 Tranin dataset에서 중복을 허용해 샘플링한 Dataset으로 개별 의사결정나무 모델을 훈련하는 방식이다. 이렇게 여러 모델을 통해 예측한 값은 평균을 취하여 최정적인 예측 값을 산출한다. 이러한 배깅 방식은 예측 모델의 일반화 성능을 향상하는 데에 도움이 된다. - 랜덤 포레스트의 장점 1. 일반화 및 성능 우수 2. 파라미터 조정 용이 3. 데이터 scale 변환 불필요 4. Overfitting이 잘 되지 않음 - 랜덤 포레스트의 단점 1. 개별 ..

AI 2022.08.19

[AI] Decision Tree

1. Decision Tree 의사결정나무(Decision Tree)는 설명변수(X) 간의 관계나 척도에 따라 목표변수(Y)를 예측하거나 분류하는 문제에 활용되는 나무 구조의 모델이다. 설명변수의 관측값을 모델에 입력해 목표변수를 분류하거나 예측하는 지도학습 기반의 방법론이다. 의사결정나무 모델을 사용하는 주된 이유는 목표변수(Y)를 예측하거나 분류 문제를 해결함에 있어서 어떤 설명변수가 가장 중요한 영향인자인지 확인할 수 있고, 각 설명변수별로 어떤 척도에 따라 예측 또는 분류했는지 상세한 기준을 알 수 있다. - Decision Tree의 장점 1. 결과 해석에 용이 : 직관적인 해석 가능, 주요 변수와 분리기준 제시 2. 비모수적 모델 : 통계모델에 요구되는 가정에 자유로움 3. 변수 간 상호작용 ..

AI 2022.08.18

[AI] K-NN(K-Nearest Neighbor)

1. K-NN K-최근접 이웃(K-Nearest Neighbor) 알고리즘은 분류 알고리즘입니다. 비슷한 특성을 가진 데이터는 비슷한 범주에 속하는 경향이 있다는 가정하에 사용한다. 위의 그림을 봤을 때, 세모 모양의 데이터는 주변에 노란색 그룹의 데이터들이 많이 때문에 노란색 그룹에 속한다고 추측할 수 있다. 이처럼 주변의 가장 가까운 K개의 데이터를 보고 데이터가 속할 그룹을 판단하는 알고리즘이 K-NN 알고리즘이다. K-NN 알고리즘은 거리를 측정할 때, 유클리드 거리(Euclidean distance)를 사용한다. K-NN알고리즘의 특징은 K의 값에 따라 분류가 달라질 수 있다는 점이다. 위의 그림을 보면, K의 값이 1일 때는 초록색 그룹에 속한다고 볼 수 있고, K의 값이 3일 때는 노란색 그..

AI 2022.08.18

[AI] Logistic Regression

1. Logistic Regression 회귀 분석 방식의 핵심 기능 중 하나인 로지스틱 회귀는 선형 분석(Linear Regression)과 가장 큰 차이점이 있는데, 값이 아닌 확률로서 분류한다는 점이다. 기존의 선형 회귀 분석에서는 단순히 입력한 값을 그대로 독립변수로 받아서 사용하다 보니 평균보다 차이가 큰 값이 입력되면 값이 크게 달라져 버리는 문제점이 있다. 이를 개선하기 위해 로지스틱 회귀에서는 시그모이드 계산을 사용한다. 입력값을 비율로 변환하여 항상 0과 1사이의 값으로 한정시켜 범위를 벗어나는 경우를 예방하고 정확도가 떨어지는 것을 방지한다. 2. Sigmoid 입력 값을 비율로 변환하는 것이 시그모이드의 가장 큰 기능이다. 입력 값이 어느 숫자든 상관없이 결과 값이 항상 0과 1사이에..

AI 2022.08.17