레이블이 BIGDATA_COMPUTING인 게시물을 표시합니다. 모든 게시물 표시
레이블이 BIGDATA_COMPUTING인 게시물을 표시합니다. 모든 게시물 표시

2021년 12월 1일 수요일

Day_15. 기말고사 – Final Exam

기말고사

Day_14. 탐색적 data 분석 예제 – 4

실습 과정으로 code를 남기지 않음, 파일로 소유

Day_13. 탐색적 data 분석 예제 – 3

실습 과정으로 code를 남기지 않음, 파일로 소유

Day_12. 탐색적 data 분석 예제 – 2

실습 과정으로 code를 남기지 않음, 파일로 소유

Day_11. 탐색적 data 분석 예제 – 1

실습 과정으로 code를 남기지 않음, 파일로 소유

Day_10. Pandas를 이용한 data 분석- 2

Dataframe 의 특징
=Dataframe 의 column 이름을 list로 받아서 지정이 가능함
=특정 column에 바로 접근
=dataframe에도 masking 이 가능
=dataframe 의 전치(transpose 가능)
=dataframe 의 column 끼리 연산도 가능


Dataframe의 기본 통계치
=df.describe() – 기본적 통계치 보여주기


Pandas를 이용한 data분석 예제
=위키피디아 data를 읽어서 excel에 저장하기
=pandas.read_html 등을 이용해서 데이터를 읽을 수 있다

Day_09. Pandas/Numpy를 활용한 데이터 분석

1.데이터 분석의 과정
=관심있는 데이터 찾기
=살펴보며 질문하기
=질문을 정의하기
=알고리즘 설계
=코드 표현


2.pandas를 사용한 data 분석
=numpy를 확장한 느낌의 pandas
=panel datas의 약자
=indexing, 연산함수, 전처리 함수 제공


pandas특징
=1차원 array
=2차원 data frame
=3차원 panel
==형식으로 data structure를 제공


Series 의 특징
=index가 존재
=index를 지정하지 않으면 0 부터 시작되는 index가 생성


Dataframe의 특징
=index의 값은 불변한다

Day_08. Numpy 를 활용한 데이터 분석

Array 생성


Numpy의 choice 함수


Numpy가 빠른 이유
=벡터화 연산을 지원하기 때문
=서로 다른 array의 연산 처리도 가능함


Array booliean indexing
=홀수 짝수에 대한 indexing/ fintering 가능



서로 위치가 다른 100개의 점찍기
=scatter 그래프의 활용으로 random 함수로 임의의 data를 만든뒤 plot 를 생성

2021년 11월 30일 화요일

Day_07. 지역인구 자료분석 & 시각화 - 2

1.막대그래프로의 묘사


2.Numpy package의 사용


3.얕은복사 & 깊은 복사

Day_06. 지역인구 자료분석 & 가시화

인구 공공데이터 download
=행정안전부 주민등록 통계 선택 & 다운로드
=전체 읍,면,동 전연행 자료 download
=지역의 인구에 대한 graph 작성


인구구조 시각화 절치
=file 읽기 – 읽은뒤 꼭 close 수행
=한줄씩 반복
=시각화


막대 그래프
=카테고리별 수준(level)에 대한 숫자값을 막대(bar)로 표시하는 것
==기준선과 축 눈금 간격을 동일하게 유지시켜야 졸은 해석이 가능
=막대는 정확히 사각형으로 (둥글게 round 처리하면 안됨)
=막대는 긴 순서부터 낮아지게 배치하는 것이 보기 좋음
=색상은 특정 의도에 따라 실시



항아리 모양 그래프
=boxplot의 파생
=한쪽은 음수로 만들어서 양쪽에 표시


파이chart
=카테고리별 변수들의 레벨이 차지하는 비율을 방사형 슬라이스로 표현
=카테고리의 합이 100을 넘어가는 경우 사용하면 안됨
=부분->전체가 성립하지 않고 가공된 값은 사용하면 안됨
=파이 그래프간의 비교는 의미가 없음
==파이 그래프는 각 그룹이 전체에 미치는 기여도를 보여주기 때문이다

Day_05. Matplotlib 기초 & 활용

순서만 기술해서 작성


1.기본 graph 작성


2.매년 내 생일의 기본 변화 graph 작성


3.기온 data 다양하게 시각화 하기

Day_04. 기온데이터의 분석 & 가시화

실습환경 구성
=Python anaconda 설치
=jupyter nodebook 환경 구성


기온데이터 분석 & 가시화
=기상 자료 수집 = 기상 자료 개방 포털- 통계분석 – 기온 분석 부분을 활용


CSV 파일 importing
import CSV
f=open(‘seoul.csv’,encoding=’cp949’)
data=csv.reader(f,delimiter=’,’)
print(data)
f.close()


읽어온 csv file 의 내용을 print 하도록 수정
import CSV
f=open(‘seoul.csv’,encoding=’cp949’)
data=csv.reader(f)
for row in data:
print(row)
f.close()


Next 함수를 사용한 헤더의 지정
import CSV
f=open(‘seoul.csv’,encoding=’cp949’)
data=csv.reader(f)
header=next(data)
print(data)
f.close()


header 안찍고 넘어가기
=next 함수를 먼저 호출하기


위의 질문을 해결하기 위해서 밟는 순서
=데이터를 읽어온다
=순차적으로 최고 기온을 확인한다
=최고기온이 가장 높았던 날짜의 데이터를 저장한다
=최종 data를 출력


Python index
=시작은 0부터
=positive index
=마지막부터 확인하려면 -1 입력
=Negative index – positive index – len(list)
==ex)[2,3,4,5]에서 2의 negative index = 0-4 = -4


데이터 분석의 시작은 어떻게 하는가
==내가 관심있는 데이터에 대한 호기심에서 출발
===가장 더운날은?
===일교차가 가장 큰 시기는?
===겨울엔 언제가 가장 추운가?
===대구보다 더 더웟던 날은?
====**질문을 명확히 설정 하는게 가장 중요하다**

Day_03. Bigdata Computing

Mapping phase
=hadoop의 동작 형태
=data에서 key – value 를 지정한다(grouping
=shuffle & sort – key를 기준으로 정렬
=key의 value 에서 value의 length 를 산정해서 count


Map-reduce 예제 – 1 – 연도별 최고 기온의 검색
=key부분에서 연도를 value에 온도를 지정


Map-reduce 예제 – 2
=card id가 짝수의 valance를 셋째 자리에서 올린다
=1000단위로 grouping 하고 각 group별 valance평균값 구하기


Pig-scrioting VS hive sql query
=sql이 편한 사람과 아닌 사람의 취향 차이라고 보면 쉬움


복잡한 map reduce를 대체할 pig lapin 이라는 언어를 제공한다
=map reduce api를 sql 과 비슷하게 깐다
=map reduce의 상위에서 동작하는 tool


Ambary
=시스템의 리소스를 관리하는 운영 프레임워크


Hadoop의 장/단점
=대표적으로 12개 정도가 장점이 있음
=fault tolerant 성능은 리포 시스템도 성능이 좋아야 한다


Hadoop의 단점
=작은 file 에 대한 저성능
==작은 파일을 쪼개서 다시 합쳐야 하기 때문에 성능이 느임
=security
==인증서 h/w등의 문제
=interactive processing
==hadoop은 batch process 만 지원한다
=process over head


Spark
=hadoop의 개선판
=데이터의 이동이 디스크에 부담을 줄이고 네트워킹을 이용함


MAP REDUCE의 분산 처리
=USER가 map reduce 데이터 처리를 위한 mapper와 reducer를 개발한다
=master node에 제출


YARN – Yet Another Resource Negotiator
=Hadoop 1.0 에서는 batch app
=Hadoop 2.0은 batch online streaming 등 다양한 방식이 등장해서 resource management module을 분리 시킨다


Task tracker – YARN 으로 변경


FLUME
=분산된 서버에서 들어오는 조각난 데이터를 STREAMING 모아서 batch를 동려준다


Sqoop
=RDBMS 시스템 통째로 HADOOP으로 부어주는 CONNECTOR


HBASE
=HDFS 위에서 실행되는 COLUMN ORIENTED non- relation DBMS
=SQL과 같은 구조화된 QUERY는 지원하지 않는다


Oozie
=hadoop작업을 관리하는 workflow scheduler system
=JOB의 시작과 종결 분기 조절을 자동화, 스케줄링 지원


ZOO – keeper
=분산 환경에서 서버간의 상호 조정이 필요시 distributed coordination service
=분산환경에서 자원을 배정한다
=데이터의 안전성 보장

Day_02. Bigdata Computing

고전적 데이터 처리 vs 빅데이터 처리

Traditional data processing

Bigdata processing

Query language

Machine learning

OLTP , OLAP

Natural language processing

Data warehouse

 

Decision support tool

 

RDB

 

Transaction base system

Massively distribution



Hadoop 의 특징
=scalable – 장비의 증가는 장비의 성능을 선형적으로 향상시킴
=data locality – 데이터가 있는곳에 소스를 보내서 로직을 수행
=fault tolerant – 데이터 복사본을 중복 저장하고 유지시킴
=simple – 분산된 컴퓨터에서 병렬적으로 처리되는 프로그램을 쉽게 개발할 수 있다
=open source – 라이선스 부담이 적음


Hadoop distributed file system – HDFS
=대용량 파일 읽기 쓰기 작업에 최적화된 파일 시스템
=모든 파일을 128MB Block 으로 split 하고 각 block에 대한 2개의 copy를 복제해서 node에 분산 저장


Map reduce
=대용량의 데이터를 분산 처리하기 위한 framework
=Map – 분산되어있는 데이터를 연고나성 있는 데이터로 분류
=Reduce – 원하는 데이터를 추출한다


Hadoop ecosystem
=HDFS , MAP REDUCE , YARN 이 핵심 module


Why Hadoop invented
=storage for large dataset value
=handing datain different formats
= data getting generated with high speed


Hadoop as solution
=큰 데이터를 저렴한 비용으로 저장할 수 있어야 하며 빠르게 처리할 수 있어야 한다
=분산 파일 시스템 – Hadoop distributed file system
=분산 처리 시스템 – hap reduce – 여러 시스템에 나누어서 처리
=미국 newyorktimes 에서 130년 분량의 신문기사를 pdf로 변환 , 1일 200만원 소요
==hadoop의 저비용 고효율 사례


Hadoop echo system
=hadoop의 기능을 보완하는 다양한 서브 프로젝트의 모임
=빅데이터 수집 저장 처리 분석 시각화에 필요한 기술의 모임
=vendor마다 서로 다른 요구에 따라 echo system 구축


Components of hdfs
=data node – 실제 데이터를 저장하는 node
=name(master) node = 파일 시스템의 namespace를 관리, client가 file에 접근하는 것을 제어 ==naming file 과 dictionary 를 열고 닫는 task를 수행하는 node

2021년 3월 20일 토요일

Day_01. Bigdata Analytics Life Cycle

Differences among terms Diagram
원으로 들어갈 때 --> Narrowed Problem
=좁아지는 도메인 지식
=넓어지는 프로그래밍(코딩) 능력
원 밖으로 나올 때 <-- Widen insight
=넓어지는 도메인 지식
=좁아지는 프로그래밍 능력


상세 특징
Data Science가장 포괄적 개념
수학, 통계, 프로그래밍, 문제해결의 맥락
일반화 가능한 특징을 나타내는 방법론
데이터를 조금 다르게 바라보는 것
=중요기술
==data cleansing, preparing , aligning

Analysis

휴리스틱(heuristic) activity = 데이터가 같지만 작업자에 따라 결과가 다르다
<->systematic – 같은 데이터로 누가 작업해도 결과가 같은것
Data science 는 분석 결과가 같아야 한다는 보장이 없기 때문이다
=단계의 목적
**어떠한 특징을 얻어내는 것(작업자에 의해 결과는 달라질 수 있다)
Analytics일반화된 model 을 생성 하는 것
결정을 내리는데 필요한 back data 를 생성하는 것
Systematic 한 특성 – model을 기반으로 하기 때문
요구되는 지식
=컴퓨터 사이언스, 수학, 통계, domain knowledge
**output of data analytics is a verified hyphothesis insight into the data
--analytics 의 결과는 데이터에서 검증된 가설을 뽑아내는 것
Mining큰 dataset 에서 특정 pattern 을 추출하는 것
기계학습, 통계 database의 지식이 필요
==프로그래밍 능력이 매우 중요하다
Pattern 을 찾아내는 단계
e-commerce 에서 특정 상품 구매자가 또 구매한 패턴 추출등


Data analytics life cycle
==데이터 분석의 요구사항 해결을 위한 activity는 어떤 것이 있을까?
궁금증의 근거
=기존 traditional data와는 다르게 volume, velocity, variety 특성이 있다

분석 단계
=어떻게 data를 획득 할수 있는가? – 이 데이터를 어떻게 processing 하는가? – processing 의 결과를 어떻게 분석하는가? – 분석된 data를 어떻게 사용할 것인가

단계별 특징
=단계별로 새로운 결과가 나올 수 있음

Data 분석시 필요한 사람들
Customer Layer Business user Domain의 지식이 있는 사람
Project sponser 요구사항을 제공하는 사람(발주처)
Producer layer

Project manager

Project leader
Business intelligence analyst Business domain expertise
DBA DB environment expert
Data engineer Support analytic sandbox developer – 구현
Data scientist Provide analytic techniques & modeling


구성 단계 diagram
단계 이름 설명
1 Business case evaluation =분석의 결과가 무엇인지 명확하게 한다
=Project onject의 이해, 문제를 data mining으로 어떻게 매핑(design)시킬 것인가 논의
=Business problem 의 defined Ekfk 필요한 data들이 다르다, 이를 명확히 하는 단계
2 Data identification =Data의 출처를 명확히 한다
=데이터를 받아온다면 신뢰도를 확인(N/A값이나 맞지 않는 DATA는 있는지)
=다양한 Data source 에서 받아온다면 숨겨진 pattern 과 correlation 은 얼마나 되는지 확인
3 Data acquisition =Data gathering, filtering out of corrupt data, merge
==데이터의 필터링과 머징
=대부분 상황에서 중요한 작업을 시행
==corrupt data – n/a값, 비상식적 데이터
===발생하는 문제 = 모든 n/a와 비상식적 데이터를 삭제 해야 하는가
=meta data 파악
==meta data란? – data의 크기, 구조 mac time 등의 정보가 적혀있는 데이터의 명세서 같은 것
4 Data extraction =몇몇 data tool 에서 추출되지 않는 데이터를 수동 추출
=분석에 사용 하기 위해 알맞은 크기 & 형식으로 추출
==ex)JSON, XML 등에서 DATA 추출
5 Data validation
& cleansing
=데이터의 값, n/a, 형식 검증
=data redundant 검증
6 Data aggregation &
Representation
=data가 여러 곳에 퍼져 있으면 통합
=table A, B에 동일 데이터가 있으면 Merge 한다, view로 대처 하기도 한다
7 Data analysis =코드와 알고리즘을 사용해 실제 결과 호출
=실제 가치를 생성하는 단계, 패턴, 통계적 기술 사용
=2개의 타입 존재
==confirmatory = 가설 확인/분석
==exploratory = inductive approach(귀납적 접근) 데이터 mining
8 Data visualization =방대한 양의 data를 차트, 그래프로 표현함
9 Utilization of analysis result =프로젝트의 결과를 어디에 사용할지 생각
==기존 설계된 business model 이 아닌 “다른” 곳에 사용할 수 있는지 확인 하는 단계



2021년 3월 18일 목요일

Day_00. What is Bigdata

Bigdata를 어떻게 정의 내릴 것인가
=단순히 데이터의 크기가 크다고 bigdata가 아님
=명확한 크기의 기준이 정해져 있는 것이 아니기 때문
===&& bigdata가 가져야 하는 특징은? 이라는 질문으로 귀결된다
===기존의 RDBMS 시스템에서 활용하기 쉽지 않은 형태가 많다


영국 Gartner에서 바라보는 bigdata 정의
=향상된 의사결정을 위해 필요한 3가지 특징
==High Volume , velocity , variety 3V의 특징을 가지는 정보 자산


O reilly media(출판사) 정의
=기존 conventional database system 의 처리 능력으로는 처리가 힘든 데이터
=데이터 증가 속도가 큰 것
=기존 structure database의 구조에는 맞지 않는 것
=데이터로부터 가치를 뽑기 위해서 기존 방식을 사용할 수 없는 것


IBM의 정의
=speed , complexity , volume (용어의 차이가 있고 gartner와 같음)


현재의 상황
=3V 에서 5V로 증가함
Volume 방대한 데이터 – zetta byte 데이터의 크기, 1byte=쌀1톨 일 때 태평양을 채울 크기
Variety 다양한 소스에서 다양한 형식으로 존재한다
Velocity 1분마다 발생되는 데이터의 양이 엄청남
Value 대량의 data에서 가치인 insight를 추출해낸다
Velocity 진실성, 불확실(unkonown) inconsistent(일관성 부재) 데이터가 있기 때문에 가공함


Bigdata의 dimension diagram



=가치 (각각의 V)별 변화하는 추이를 살펴봐야 한다


데이터의 생성/소비 모델
Old (구 시대) 소수의 미디어에서 생성후 다른 모두가 소비
New/Current (현재) 모두가 생산자이며 소비자가 된다


데이터 분석의 여러 예제
Target Marketing 1000만명의 인구에서 1%인 10만명이 관심 사사용자 할 때 다양한 분류와 군집화를 통해 전체의 10%를 솎아내 마케팅을 한다
Sport 올랜도 매직 구단의 “scout” 인공지능 system의 선수 line-up 추천
Goldcorp challenge 광맥 data를 공개해 핵심 광맥을 찾는 대회로 금광 회사의 가치가 100M$ ~ 9B$로 급성장
Netflix House of cards 드라마 구상중 고객의 선호도가 david fincher 감독과 케빈 스페이시 주연을 바라는 것 파악함