주제 설정 후에 요구분석을 처음으로 함

데이터 모델링: 데이터베이스를 새롭게 구축하기 위한 준비과정, 요구사항을 듣고 사용자 관점을 분석하여 추상화하여 문서화하는 과정

 

관리: 등록, 수정, 삭제, 조회를 뜻함 > 이를 위해 데이터베이스 설계가 필요

계획 > 분석 > 설계 > 구축

계획: 세부 추진일정 수립, 인터뷰 계획(현업 담당자와 개발자 간에 , 자료수집 계획(요구분석 및 입출력 장표수립), 요구 분석 자료 만들어짐

분석: 정표와 인터뷰 자료 등 수립된 자료를 바탕으로 DATA분석, 개념적 데이터 모델링 및 ERD 작성, 만들어진 사이트의 장점과 단점을 분석하고 벤치마킹

설계: ERD를 기반으로 테이블 설계서 작성, 물리적 구조 설계(필드명 정하기 끝나면 바로 만들어도 O), 화면 설계서 작성

구축: 테이블 설계서를 기반으로 테이블 생성, 화면 설계서를 기반으로 프로그램 코딩(VB,PB, MFC 등)

 

계획

요구사항 분석: 사용자의 요구사항을 간단하게 기술, 필요한 항목, 어떤 내용이 저장되어야만 하는지, 테이블, 완벽할 수는 없지만 전체가 바뀌면 안된다. EX) 우리 사이트에서 저장된 데이터는 5년 동안 저장됩니다, 게시판이면 게시판에 관련된 모든 업무를 맡아야함. 요구분석부터 마지막까지 만들면서 통합 OR 같이 만들자. 온전하게 한 사람이 CRUD가 되어야함.

일정 정리: 오늘은 여기까지 하고 반드시 여기까지 끝내야해

사용자의 요구 등을 정리 및 분석

- 사용자 식별

- 데이터 베이스 용도 식별

- 사용자 요구 사항 수집 및 명세

 

유스케이스 다이어그램

유스케이스: 말 그대로 풀어보면 "사용 사례"로서 시스템이 어떻게 사용될지에 대해 표준화된 규칙에 따라 다이어그램으로 표현한 것이다. 고객과 개발자는 표준화된 규칙만 이해하고 있다면, 유스케이스 다이어그램을 통해 시스템의 기능이나 상호 작용 등을 쉽게 이해할 수 있다.

유스케이스를 이용한 요구사항 분석 방법: 통일된 규칙으로 시스템을 표현하고, 이를 통해 고객 및 사용자, 개발자의 다양한 관점을 찾아내어 그 간격을 조정하는 것. 이러한 유스케이스 기반의 요구사항 분석은 시스템을 가시화시켜 주는 모델링 기법인 UML을 이용.

 

1.UML: 요구사항의 추출부터 분석, 명세를 통하여 생성되는 산출물들을 표준화된 다이어그램으로 연결시킴으로써, 고객 및 사용자, 개발팀의 다양한 관점을 다룰 수 있는 효과적인 도구

정의: 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어로 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적인 표기법

필요성:

1. 시스템의 구조적 문제와 프로젝트 팀내의 의사 소통

2. 대규모 프로젝트 구조의 로드맵을 만들 때 유용하다.

3. 개발할 시스템 구축에 대한 기초를 마련할 수 있다.

4. 유지보수를 위한 설계의 back-end 문서

2.유스케이스 다이어 그램: 사용자 관점에서 시스템의 서비스와 기능 및 그와 관련된 외부 요소를 보여주는 다이어그램이다. 고객과 개발자는 이 다이어그램을 보며 요구사항에 대한 의견을 조율

시스템: 만들고자 하는 시스템의 범위를 뜻한다. 시스템을 표현하기 위해서는 유스케이스를 둘러싼 사각형의 틀, 시스템 명칭을 사각형 안쪽 상단에 기술

액터: 시스템의 외부에 있으면서 시스템과 상호작용하는사람 또는 다른 시스템, 사람모양, 액터명=액터의 역할

유스케이스: 시스템이 액터에게 제공해야하는 기능의 집합. 시스템의 요구사항을 보여줌. 타원. 동사로 표현. 유스케이ㅣ스 하나가 개발될 기능 하나와 연결될 수 있도록한다.

관계: 시스템의 요구사항을 액터와 유스케이스 간에 상호작용이 존재함을 나타냄. 연관관계로 나타낼 때 액터와 유스케이스 사이에 실선을 연결하여 표현 / 유스케이스-유스케이스: 실선X, 점선

 

포함관계: 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성되는 관계. 포함되는 유스케이스는 포함하는 유스케이스를 실행하기 위해서는 "로그인을 한다" 라는 유스케이스가 먼저 실행되어야 하므로 포함관계 표시

포함하는 유스케이스에서 포함되는 유스케이스 방향으로 화살표를 점선으로 연결 표현 <<include>> / 유스케이스 사이의 상호작용

확장관계: 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계. 하나의 유스케이스가 실행될 때 포함 관계에 있는 유스케이스가 특정 상황에서만 실행된다는 뜻. ex) 파일 첨부기능 > 글을 등록한다라는 유스케이스는 확장 대상 유스케이스가 되고 파일을 첨부한다라는 유스케이스는 확장 기능 유스케이스.

확장 기능 유스케이스에서 확장 대상 유스케이스 방향으로 화살표를 점선으로 연결 표현. <<extend>> 표현

일반화 관계; 유사한 유스케이스들 또는 액터들을 모아 그들을 추상화(주어진 문제나 시스템을 중요하고 관계있는 부분만 분리해 내어 간결하고 이해하기 쉽게 만드는 작업.)한 유스케이스 또는 액터와 연결시켜 그룹핑함으로써 이해도를 높이기 위한 관계. 구체적인 유스케이스에서 추상적인 유스케이스 방향으로 끝부분이 비어져 있는 삼각형 테두리로 표현된 화살표를 실선으로 연결하여 표현

 

유스케이스 다이어그램 작성: 개발하고자 하는 시스템을 유스케이스 다이어그램으로 표현하는 것을 유스케이스 모델링

-사용자 식별, 외부 시스템 식별, 표현 대상인지 아닌지.

-액터가 요구하는 서비스 식별, 정보 식별, 액터가 시스템과 상호 작용하는 행위 식별

-액터와 유스케이스 간의 연관관계 정의, 유스케이스 간 포함, 확장 관계 정의, 액터 간, 유스케이스 간의 일반화 정의

회원등록을 할 때에는 반드시(포함관계) 실명확인을 한다.

 

유스케이스 기술서

유스케이스 이름, 액터명, 유스케이스 개요 및 설명, 사전 및 사후 조건, 작업 흐름, 시나리오

작업흐름

-정상흐름: 해당 유스케이스가 정상적으로 수행되는 흐름

-대안 흐름: 유스케이스 내의 작업 흐름이 수행되는 중에 특정 시점에서 여러 가지 선택적인 흐름으로 나뉘어 질 경우에 발생하는 흐름.

- 예외 흐름: 유스케이스 내의 작업 흐름이 수행되는 중에 발생할 수 있는 예외상황이나 오류를 표현하는 흐름.

 

• 유스케이스명: 글을 등록한다.

• 액터명: 사용자

• 유스케이스 개요 및 설명

- 사용자는 원하는 글을 게시판을 등록한다.

• 사전 조건: 로그인한다.

• 작업 흐름

- 정상 흐름(Normal Flow)

1. 사용자는 글쓰기 버튼을 클릭한다

2. 시스템은 글쓰기 화면을 실행한다.

3. 사용자는 글쓰기 화면에서 원하는 글을 작성한다.

4. 사용자는 등록버튼을 클릭한다

5. 시스템은 글을 데이터베이스 게시판 테이블에 저장한다.

- 대안 흐름(Alternative Flow):

1. 정상흐름4에서 등록 취소버튼을 선택할 경우, 시스템을 게시판 목록 조회 화면을 보여준다

- 예외 흐름(Exception Flow)

1. 정상흐름3에서 글쓰기 화면에서 글을 쓰지 않고 등록 버튼을 클릭할 경우, 시스템은 “내용을 입력해 주세요”라는 경고 메시지를 보여준다.

요구사항 정의서

요구사항들의 목록화를 통해 전체적인 요구사항의 리스트를 확인

리스트를 확인하는 문서, 자세한 내용은 명세서를 확인 / 요구사항 ID는 모든 산출물 문서에 표시해야함, 중복되지 않게 작성

 

요구사항 명세서: 요구사항들의 상세 내역

Community Edition다운

들어가자 마자 다운받으면 한달뒤에 자동 결제

https://www.visual-paradigm.com/download/community.jsp

3. 클래스 다이어그램

 

매퍼 XML요소 설명
mapper 루트 엘리먼트
insert 매핑된 INSERT문
update 매핑된 UPDATE문
delete 매핑된 DELETE문
select 매핑된 SELECT문

 

위의 요소에서 사용할 수 있는 공통 속성

속성 설명
id 필수 속성. 반드시 전체 Mapper 파일들 내에서 유일한 값으로 설정
parameterType SQL 실행에 필요한 데이터를 외부로부터 받아야할 때 사용
일반적으로 기본형이나 VO형태의 클래스로 지정
parameterMap 외부 parameterMap을 찾기 위한 접근 방법.
비권장됨. 예전에 파라미터를 매핑하기 위해 사용되었으나 현재는 X
statementType Statement, Prepared, Callable중 선택. 디폴트는 PREPARED

 

1.SELECT

<select id=”구분자” resultType=”반환타입”>

   select 컬럼명1, 컬럼명2 … from 테이블명

</select>

 

SELECT요소에만 사용되는 속성

속성 설명
resultType 검색관련 SQL 구문이 실행되면 ResultSet이 리턴되며, ResultSet에 저장된 검색 결과를 어떤 자바 객체에 매핑할지 지정해야하는데, 이때 사용.
resultMap 외부 resultMap 참조명
fetchSize 지정된 수만큼의 결과를 반환하는 값

 

파라미터: SQL문의 파라미터 값을 받기 위해 #{} 기호로 표기 {}속에 "값"이나 자바빈의 "프로퍼티명"

표기법: #{프로퍼티명}

 

select문

<select id=”구분자” parameterType=”파라메터타입” resultType=”반환타입”>
select 컬럼명1, 컬럼명2 … from 테이블명 where 컬럼명 = #{프로퍼티}
</select>

 

insert문

<insert id=”구분자” parameterType=”파라메터타입”>
insert into 테이블명(컬럼명1, 컬럼명2…) values(#{값1}, #{값2} …)
</insert>

 

update문

<update id=”구분자” parameterType=”파라메터타입”>
update 테이블명 set 컬럼명1 = #{값1}, 컬럼명2 = #{값2} where 컬럼명 = #{값3}  
</update>

 

delete문

<delete id=”구분자” parameterType=”파라메터타입”>
delete from 테이블명 where 컬럼명 = #{값1}
</delete>

 

데이터베이스가 자동 생성키를 생성하지 않은 경우

<insert> 요소 내에 <selectKey>요소로 키 생성에 필요한 SELECT문을 기술 <selectKey>의 속성

속성 설명
keyProperty selectKey 구문의 결과가 할당될 대상 프로퍼티.
resultType 결과 타입
order BEFORE는 insert문 전 실행. AFTER는 insert문 후 실행
statementType Statement, Prepared, Callable 중 선택, 디폴트는 PREPARED
<insert id=”구분자” parameterType=”파라메터타입”>
<selectKey keyProperty=”프로퍼티” resultType=”자료형” order=”BEFORE” statementType=”PREPARED”>
        SELECT문(키 생성 관련)
</selectKey>
insert into 테이블명(컬럼명1, 컬럼명2…) values(#{프로퍼티1}, #{프로퍼티2} …)
</insert>

 

num=3인 passwd=1234가 일치하면 1

불일치하면 0 출력

 

 

승객들의 정보나 생존여부에 대한 데이터를 활용해 생존여부 예측

CSV Reader: 데이터 파일 불러옴 (json, txt, xlsx...)

성별, 생존여부,...

 

feature(특성) = attribute(속성) = column

 

데이터 결측치 확인: 누락된 데이터 확인 (NaN, ?) 0으로 채우거나 이전 로우의 값을 사용하거나,로우 삭제...

EDA(Exploratory Data Analysis)

 

그룹별 데이터, count데이터

 

데이터 시각화: 데이터의 전반적인 특성을 이해하기 위해 시각적인 그래프 형태로 나타낸것

정보 조직화

정보 시각화: 실제 그래프로, 히스토그램

상호작용: 마우스 커서를 가져다대면 수치 (인터랙티브, 대시보드)

성별 생존확률

Bar Chart

Options: Aggregation Method: Average

plot option: x축 y축

Interactive View: Group Bar Chart

성별 탑승 인원

 

Pclass별 생존확률

CSV Reader - Number To String(데이터 타입 변환 정수형을 문자형으로) - Bar Chart

 

성별 및 Pclass별 생존확률

CSV Reader - Number To String - Pivoting - Bar Chart

 

성별 생사인원

CSV Reader - Number To String - Pivoting - Bar Chart

Aggregation Method: sum

 

탑승인원 연령

CSV Reader - Histogram Chart(JFreeChart)

Number of bins: 막대 수

 

 

동등한 자녀/ 배우자 수

CSV Reader - Number To String - Bar Chart

 

티켓 가격 분포

CSV Reader- Histogram Chart

 

Boxplot(상자그림) 개념 : 분포 보기 좋음

데이터 분포 및 이상치를 확인할 수 있는 박스 형태의 그래프

최솟값, 최댓값, 1사분위수(Q1), 2사분위수(Q2, 중앙값), 3사분위수(Q3)의 분포범위를 나타냄

최소값 혹은 최대값 범위에 속하지 않는 데이터는 이상치(동그라미)로 분류

 

티켓가격과 연령 Boxplot

CSV Reader - Number To String - Conditional Box Plot

y축 나이 x축 Pclass 

Pclass별 나이 분포, 1등석 나이분포가 넓음, 3클래스는 어린 사람들이 많음

25%, 중앙값 50%, 75%

 

결측치 처리하기

결측치를 직접 대입

Nominal Histogram Table

 

미사용 속성제거

CSV Reader - Rule Engine- Column Filter(컬럼 제거, Cabin 컬럼 삭제) - Mission Value(결측치일 경우 삭제) - Statistics - Number To String - Colum Filter(이름, 티켓id 등과 같이 의미 없는 컬럼 삭제)

 

데이터 전처리: 예측에 필요없는 데이터 삭제

 

데이터 전처리 및 시각화

 

로지스틱 회귀분석 개념

독립 변수의 선형 결합을 활용하여 사건의 발생 가능성을 예측하는 통계기법

독립 변수(Pclass, Sex, Age)와 종속변수(생존여부)간의 연관성을 분석

범주형 데이터를 종속 변수로 설정하여 분류 분석 수행

0,1을 분류하는 이진 분류 문제에서 활용

모델링 결과의 해석이 편리하다는 점에서 통계분석에서 주로 사용

 

데이터 정규화

ColumnFilter - Normalizer - Partitioning(8:2로 학습데이터와 테스트 데이터로 나눔) - Logistic Regression Learner(학습을 해서) - Logistioc Regression Predictor(예측을 함/생존여부를 예측함) - Scorer(JavaScript) (일반적으로 예측과 결과는 다름/ 생존여부를 얼마나 잘 맞추었는지/ 모델 평가, 검증)

일반적으로 Min-Max 사용

Z-Score은 이상치가 많을 때

 

train, test 데이터 분리

Relative(%) : 학습데이터 비율

Use random seed: 시드설정, 수는 상관이 없음, 재 실행을 보장한다.

First partition: train으로 학습

Second partition: test

 

예측 모델 생성(Logistic Regression Learner)

 

예측 결과 확인(Logistioc Regression Predictor)

Predicted data

Prediction(Survived): 예측값

Survived: 실제값

 

모델 평가

Overall Accuracy보다 F-measure가 정확하다.

 

나이브 베이즈 모델

데이터의 특성들이 독립적이라는 베이즈 정리를 적용한 통계 기반 분류기

독립 변수의 특성에 상호 연관성이 없다고 가정

노이즈 및 결측치가 많은 데이터를 효율적으로 분석할 수 있으며, 학습 시 많은 양의 데이터를 필요로 하지 않음

다른 머신러닝 알고리즘에 비교적 많은 파라미터가 필요하지 않기 때문에 빠른 연산이 가능

수치 데이터가 많은 경우 학습이 어렵고, 데이터의 중요한 특성을 제대로 반영하지 못하는 단점이 존재

 

문자형 속성 숫자형으로 변경

Normalizer - Rule Engine(성별을 male=0, female =1) - Rule Engine(탑승선착장도 변경 CS...숫자로) - Partitioning - Naive Bayes Learner - Navie Bayes Prodictor - Scorer(Javascript)

 

SVM

데이터 집합에서 새로운 데이터가 어떤 클래스에 포함될 지 예측하는 이진 선형 분류 기법

선형 분류 뿐만 아니라 비선형 분류도 커널 트릭(kernel trick)을 통해 수행 가능

커널 트릭은 비선형 분류를 위해 데이터를 고차원 공간에 할당하는 방법론

소프트 마진: 소프트 벡터와의 거리가 클수록 분류를 잘했다

 

의사결정나무 개념(가지 치는 방식)

정형 데이터를 가장 효율적으로 학습할 수 있는 기법 중 하나

데이터의 칼럼을 기준으로 예측 방식 결정

랜덤포레스트, GBM, XGB, LGBM과 같은 모델들이 출현

multilayer perception 진화한것이 딥러닝

Tabnet: 트리기반 효율적인 학습방식을 딥러닝으로 구현

규칙기반, 적응성은 낮다. 정형화된 데이터에 대해서는 효과적이지만 트렌드가 바뀔 수 있는 것들은 일반적으로는 Tabnet과 같은 딥러닝이 더 좋다.

age. sibsp: 독립변수

survived: 종속변수

 

SVM, 딥러닝: 독립 변수들 같은 조건이라고 가정하고 연산

의사결정나무 모델(Decision Tree Learner): 정규화 필요 없음 (상대적 조건으로 가지치기)

train, test 데이터 분리

Column Filter > Partitioning > Dicision Tree Learner > Decision Tree Predictor > Scorer(Java Script)

accuracy 직관적, F score 중요(클래스 불균형)

 

랜덤 포레스트 개념

다수의 의사결정나무를 생성하여 최적의 분류 및 회귀 결과를 도출

여러 개의 의사결정나무를 임의오 생성하여 결과 값을 종합하는 방식

의사결정나무들의 예측 값을 평균하거나(회귀), 가장 많이 선택한 결과를 도출 (분류)

Partitioning > Random Forest Learner > Random Forest Predictor > Scorer(Java Script)

 

GBM(Gradient Boosting Machine)

의사결정나무를 부스팅  기법으로 응용한것

부스팅: 앙상블 학습방식의 일환으로 모델 가중치를 공유하면서 학습

랜덤 포레스트모델에 비해 정밀한 예측은 가능하지만 과적합 문제가 발생할 수 있다.

Partitioning > Gradient Boosted Tree Learner > Gradient Boosted Tree Predictor > Scorer (Java Script)

 

XGB 개념

GBM모델의 병렬 컴퓨팅 학습, 과적합 방지 설계, 확장성 확보 등의 부분에서 개선된 모델

정형 데이터 분석에서 가장 많이 활용되는 알고리즘

LGB

'빅데이터 분석' 카테고리의 다른 글

엑셀 데이터 처리  (0) 2023.07.29
KNIME 이해 및 설치  (0) 2023.07.23
빅데이터 분석 플랫폼(2)  (0) 2023.07.23
빅데이터 분석 플랫폼(1)  (0) 2023.07.23
코딩 분석 도구  (0) 2023.07.23

KNIME: 오픈소스 데이터 분석 소프트웨어, VPL기반으로 별도의 코딩작업 없이도 데이터 분석, 시각화, 머신러닝 등을 수행할 수 있는 노코딩 도구

 

특징 및 장점

로컬 PC에서 사용하는 경우 무료로 이용가능

다양한 데이터 분석 가능 정형, 비정형 데이터 모두 분석 가능

드래그 앤 드롭 방식으로 직관적인 Work-Flow를 생성하여 초보자들도 쉽게 분석 가능

R, Python에서 사용하는 패키지도 사용가능

file reader > column filter > row filter > stacked area chart, pie/donut chart

 

개발환경 구축

파일 확장자 설정

노드: 개별작업이 노드를 통해 이루어짐, 노드는 색상과 모양이 같은 포트끼리만 연결할 수 있음, 노드를 연결하여 분석 워크플로우를 구성

노드 상태

빨간색 - 오류표시 , 노란색 - 설정완료, 초록색 - 실행완료

reader = import

 

workflow코치: 노드 추천

기본적으로 많이 사용되는 노드: KNIME Labs Extensions (음성, 이미지, 텍스트)

 

최대 데이터의 반만 사용

 

'빅데이터 분석' 카테고리의 다른 글

엑셀 데이터 처리  (0) 2023.07.29
KNIME 타이타닉 예측 분석  (0) 2023.07.25
빅데이터 분석 플랫폼(2)  (0) 2023.07.23
빅데이터 분석 플랫폼(1)  (0) 2023.07.23
코딩 분석 도구  (0) 2023.07.23

산업생태계: 기업의 비즈니스적 의사결정에 활용할 정도의 충분한 데이터가 없음, 결과에 대한 과해석 및 의미 없는 데이터간 연관성 부여로 데이터 오남용 발생(과학적 접근에 대한 이해 부족), 자체 분석 인력의 부재, 외부업체 활용은 기업의 보안 및 영업비밀 노출 가능성 증대(외부 네트워크 차단), 빅데이터 도입이 낮은 상황, 인력 부족으로 외부 업체에 분석을 의뢰하는 상황

데이터 바우처, AI 바우처: 정부가 작은 기업들을 위해 일부 자금을 대주는 사업

정책, 제도: 통찰력 있는 인사이트를 도출할 수 있는 빅데이터 전문가 부족, 인력의 수요가 증가함에도, 공급은 수요를 충족하지 못함, 개인 데이터에 대한 수집, 분석 및 활용이 증가하면서 정보 유출로 인한 사생활 침해 우려가 커짐, 빅데이터는 근본적으로 개인정보 침해의 가능성 내포, 개인정보보호와 데이터 활용간 충돌을 줄이고 정책개발 필요, 공공 데이터가 부족, 필요한 데이터가 없음, 기관마다 제공되는 공공데이터가 표준화 되어있지 않음, 수요자의 데이터 활용에 제약, 확보 방법을 모르는 비중이 클수록 활용률이 낮은것으로 나타남(농수산업, 개인 서비스업, 숙박 및 음식점...)

기술R&B

AI와의 결합에 따른 기술 자체의 오류로 인한 분석 결과의 객관성 결여 가능성

인공지능(과도하게 학습하는 경우 우물안 개구리가 된다. 특이한 데이터를 맞추도록 과도하게 학습하면 새로운 데이터에서 적용하지 못함. 주어진 데이터에만 가능 / 과적합)의 잘못된 설계, 복잡도 등으로 인행 오류 발생에 따른 분석 결과의 왜곡 우려

결정적으로 인공지능은 결과에 대한 근거를 제시하지 못함(내부 연산이 너무 복잡하다)

설명 가능한 인공지능(XAI) 주목받고 있음

기술 경쟁력 미흡

 

시사점

산업생태계

활용성 높은 빅데이터 확보

정책, 제도

유연한 제도 정착, 전문 인력 육성

기술R&C

다양한 산업의 특성을 반영한 기술 개발

 

빅데이터 플랫폼 사례 - 금융

BC카드 등 11개의 빅데이터 기관이 생산하는 데이터를 수집하여 유통하는 빅데이터 거래소

주요 서비스

빅데이터 분석Report

추천 금융 상품: 연령대 별 상위 가입 보험 상품 제공

문 연 가게: 거래 승인 데이터를 기반으로 영업중인 가게

플랫폼 형태: 클라우드

 

-문화

환경정보 유통 관리 및 공공서비스

문화역세권: 데이터 기반 문화시설을 추천해 주는 대국민 서비스

 

-교통 빅데이터 플랫폼

교통 정보 유통 관리 및 공공 서비스 제공

교통 데이터 상품 거래 및 관리

플랫폼 형태 : 하이브리드 클라우드

 

'빅데이터 분석' 카테고리의 다른 글

KNIME 타이타닉 예측 분석  (0) 2023.07.25
KNIME 이해 및 설치  (0) 2023.07.23
빅데이터 분석 플랫폼(1)  (0) 2023.07.23
코딩 분석 도구  (0) 2023.07.23
노코딩 분석 도구  (0) 2023.07.23

빅데이터 분석 플랫폼

새로운 비즈니스적 가치를 창출할 수 있는 데이터 프로세스 환경

데이터의 수집, 저장, 처리, 관리, 분석 등의 역할을 수행하는 것

 

분류

1.빅데이터 관리 플랫폼: 데이터의 수집, 관리, 처리, 저장 등의 프로세스를 지원

2. 빅데이터 분석 플랫폼: 데이터의 분석 프로세스를 지원

 

빅데이터 플랫폼

수집 > 저장 > 처리, 관리 > 분석 > 활용

수집: 정형데이터 , 비정형 데이터

저장: 분산 파일 시스템, NoSQL, 병렬 DBMS

 

빅데이터 수집

다양한 데이터들을 온라인 소스, Open API 등을 통해 수집하는 것

수집하는 데이터는 정형 및 비정형 데이터로 구분

-정형 데이터: 고정된 필드에 저장된 테이블형 데이터

-비정형 데이터: 미리 정의된 방식으로 구조화되지 않은 데이터

 

빅데이터 저장

데이터를 단순 저장하는 것 이상으로 향후 안전하고 효율적으로 데이터 분석에 적용할 수 있도록 저장하는 것

대용량의 댜양한 데이터를 파일 형태로 저장할 수 있는 기술과 비정형 데이터를 정형화된 데이터로 저장하는 기술 중요

방법론으로는 분산파일 시스템, 병렬DBMS, 네트워크 구성 저장 시스템 등 존재

 

빅데이터 처리 및 관리

저장된 빅데이터에서 의미 있는 가치와 유용한 정보를 찾아낸기 위한 데이터 가공 및 분석 지원

대량의 데이터에 대해 빠른 처리를 통해서 사용자의 요구정보를 즉각적으로 처리하는 것이 중요

파이프라인: 데이터 수집, 저장, 처리, 모델링 등을  자동으로 처리 수집하는것

빅데이터 분산 병렬 및 실시간 데이터 처리를 위함

 

빅데이터 분석

머신러닝 기반의 예측 모델, 자연어 처리, 비전 러닝 등의 분야로 데이터를 효율적으로 분석하여 가치를 창출하여 비즈니스에 적용하는 것

방대한 양의 비정형 데이터에서 정확한 정보 추출을 위해 분석 기술역량의 확보가 매우 중요

대용량의 데이터 처리에 적합하도록 기존 분석 알고리즘을 분석. 활용

최근에는 AI 기반으로 분석 및 예측 기술이 크게 발전

SOTA 알고리즘(paper with code)

예측 모델: 지도(예측 대상이 존재), 비지도(예측 대상이 존재 X) 학습, 시계열 예측, 공정 효율화(에너지 사용량 예측), 비즈니스 데이터(고객 데이터, 거래, 상품, 고객 등급, 추천 시스템) 기반 예측 등의 범위를 포함

자연어 처리

텍스트 분류, 토픽 모델링, 기계 번역, 문서 요약, 챗봇(생성), QA 모델(생성) 등의 범위 포함

비전러닝: 이미지 분류, 객체 탐지, 세그멘테이션(분할/구역을 나눔), 어노테이션 등의 범위를 포함

빅데이터 분석 기술

R, Python, Tensorflow, Keras, Pythorch, SPSS, Rapidminer 등 활용

 

시장의 성장 동력

데이터 관리 기술 역량 확보, 데이터 활용 생태계 성장(AI hub), AI 연계 분석 기술 고도화, 정책 지원

 

'빅데이터 분석' 카테고리의 다른 글

KNIME 이해 및 설치  (0) 2023.07.23
빅데이터 분석 플랫폼(2)  (0) 2023.07.23
코딩 분석 도구  (0) 2023.07.23
노코딩 분석 도구  (0) 2023.07.23
빅데이터 분석도구  (0) 2023.07.23

코딩

컴퓨터 프로그래밍 언어를 코드라고 지칭

사람의 언어와 같이 컴퓨터와 소통을 하려면 프로그래밍 언어를 사용해야 함

프로그래밍 언어를 입력하는 과정을 코딩

 

프로그래밍 개념

컴퓨터 프로그램을 작성하는일, 과학, 수학, 공학, 심리학적 속성들을 가지고 있음(사람들이 작성하기 때문에)

 

절차 지향 프로그래밍(밥 드셨나요? 예/아니요)

프로시저 호출 개념을 기반으로 하는 프로그래밍 방식

프로시저(루틴, 메소드, 함수): 수행되는 연산의 절차적 과정을 포함

절차 지향 프로그래밍에서는 어떤 위치라고 프로시저의 호출이 가능하고 다른 프로시저나 스스로에게 호출이 가능하다는 편의성이 존재

절차 지향 프로그래밍은 복잡도가 높지 않고 유지 보수가 쉽기 때문에 임베디드 기기 시스템 및 운영체제에서 유용하게 활용되고 있음

 

객체 지향 프로그래밍 (high level: 객체 수준이 높다 / low level: 어셈블리 언어, C언어 /인간언어: 자연어 /기계언어: 컴퓨터 언어 / 나라는 객체, 상대방이라는 객체)

컴퓨터 프로그램을 단순 명령어의 집합으로 구성하는 것이 아니라 객체 단위로 구성

IT 분석 기술이 고도화되면서 배우기 쉽고, 유지보수를 간편하게 하며 보다 직관적인 코드 분석이 가능

절차 지향 프로그래밍과 비교해서 속도가 상대적으로 느릴 수 있음

객체 단위에 많은 정보가 포함될 수 있기 때문에 충분한 컴퓨팅 연산 능력 및 메모리 필요

 

프로그래밍 순서: 문제 인지 > 프로그램 설계 > 프로그램 구현 > 테스트 및 디버깅 > 유지 보수

 

문제인지

프로그램의 목적과 작업 설정

프로그램이 요구하는 정보, 사용자에게 제공할 정보, 수행할 계산 및 조작 등을 포함

 

프로그램 설계

프로그램을 기획하고, 도구(하드웨어와 프로그래밍 언어)를 선택

프로그램을 어떻게 구성할 것인지, 대상자는 누구인지, 유저 인터페이스는 어떻게 할 것이지 등을 결정

 

프로그램 구현

논리적으로 결정한 알고리즘을 프로그래밍 언어를 통해 실제 프로그램으로 구현

프론트 엔드: 대시보드, 인터페이스(UI/UX), 언어 트렌드가 빠르다.

백엔드: 서버, 데이터베이스 모델링

풀스택 개발자: 서버부터 애플리케이션까지

 

테스트 및 디버깅

프로그램이 개발자가 의도하는 대로 정확하게 동작하는지 테스트

에러 여부 확인 후 원인 파악 및 디버깅

 

유지 보수

디버깅 및 변화된 환경에 대한 적응으로 정의

사용자의 요구 사항을 지속적으로 만족시키기 위한 필수적 단계

 

JAVA

객체 기반의 스크립트 프로그래밍 언어

뛰어난 확장성을 지니고 있어 널리 사용됨

프론트 엔드 개발에서 기반 언어로 가장 많이 사용됨

 

Python

가독성이 높고 비교적 쉬운 문법, 다른 프로그래밍 언어보다 빠른 습득 가능

컴파일 프로세스 없이 곧바고 실행하는 스크립트 언어, 손쉽게 코드 작성

다른 언어나 라이브러리에 쉽게 접근 가능, 연동이 가능해 높은 확장성 및 이식성을 가짐

 

C언어

시스템 기술용의 프로그래밍 도구

절차 지향 언어로, 코드가 복잡하기 않음

빠른 속도 때문에 머신러닝 알고리즘에 활용

 

C++

절차 지향적인  C언어를 포함하면서 객체 지향 프로그래밍까지 가능한 언어

클래스, 상속, 다형성, 템플릿 등의 기능이 추가

대부분의 운영체제를 지원

 

R언어

프로그래밍의 난이도가 쉬운 편

통계학자, 수학자, 의학자 등 다양한 분야에서 활용

대부분의 운영체제를 지원하는 오픈 소스 소프트웨어

데이터 마이닝 분야에서 편리하게 사용됨

 

파이썬은 문법이 간결하고 직관적, 비숙련자도 상대적으로 쉽게 습득 가능, 인기 프로그래밍 언어 순위 1위, 다양한 분야에서 사용, 빅데이터 분석, 웹 서버, 사물 인터넷, 인공지능 등, 많은 전문 엔지니어들이 사용, 텐서블로, 파이토치와 같은 인공지능/ 딥러닝을 위한 오픈 소스, 라이브러리는 파이썬으로 구동됨

'빅데이터 분석' 카테고리의 다른 글

빅데이터 분석 플랫폼(2)  (0) 2023.07.23
빅데이터 분석 플랫폼(1)  (0) 2023.07.23
노코딩 분석 도구  (0) 2023.07.23
빅데이터 분석도구  (0) 2023.07.23
해외 빅데이터 활용 사례  (0) 2023.07.23

노코딩 분석 도구: 복잡한 코딩 프로세스를 단순화하여 비숙련자도 개발할 수 있는 환경을 구축, 누구나 쉽게 제품이나 서비스를 설계할 수 있도록 목표(블록, 노드, 프로세스, 드래그 앤 드롭(마우스를 끌어다둠)

 

배경: 기존 프로그래밍 방식은 오랜 시간 소모, 숙련도가 필요, 프로그래밍 언어는 진입장벽이 높음. 깃허브 CEO는 코딩을 최소화하는 방식으로 발전되면서 점점 더 많은 사람들이 쉽게 개발을 할 수 있는 시대가 올 것이라 예측

 

노코딩 분석 도구의 장점

진입장벽이 높은 프로그래밍 언어 습득과 분석에 대한 전문 지식이 없는 사람도 쉽게 분석 가능

분석에 필요한 인력, 시간 및 비용 절약

 

노코딩 분석 도구의 단점

세부 조작및 응용이 어렵고 확장성이 부족할 수 있음

주로 유료 서비스를 제공하기 때문에 금전적 문제가 발생할 수 있음

명령을 내리기 위한 코드 과정을 생략하므로 학습 가능성이 저해될 수 있음

 

주로 고려 사항

보안

기업이 노코드 도구를 도입할 때 가장 먼저 확인해야 할 점은 데이터 안전성 분석

보안 및 규정 준수 인증, 서비스 수준 협약, 사이버 보안 보험 등과 같은 대책 고려

 

기존 인프라와의 적합성

노코드 도구는 조직 내 기존 인프라에 따라 가치가 달라지는 기술

기존 인프라에서 조작이 다소 필요할 경우 부적합

기업이나 조직의 특성이 함께 고려되어야 함

 

비용

코딩 기반 소프트웨어에 비에 가격이 비쌈

지속 지출 비용(구독 비용)에 대한 대책이 필요

최소 규모로 테스트를 진행 후 도입 권장

 

영향

디지털 가속화, 클라우드 시장 활성화, 데이터 보안성 관리 중요성 대두

디지털 가속화: 비숙련자도 개발이 가능함으로써 다양한 분야에서 디지털 가속화가 전망됨

 

태블로

드로그 앤 드롭을 통해 데이터를 분석 및 시각화, 조작하기가 쉽고 속도도 빠름

엑셀부터 빅데이터까지 모든 상용 데이터베이스에 데이터 소스까지 연결 가능

데이터 소스의 기종이 달라도 데이터 간 블렌딩(갈아 넣는 것:  데이터 통합, 텍스트, 이미지, 수치 데이터를 하나의 데이터로 만들어서 시각화하는 프로세스에서 사용되는 것), 다양한 데이터 활용 가능

 

STATA

통계 분석은 물론 데이터 관리와 그래픽에서도 우수한 능력 발휘

광범위한 내용의 통계분석 가능, 다양한 분야의 사용자 요구에 부합

간결한 사용법, 접근의 편리성, 커무니티를 통한 정보 공유

 

슈퍼어노테이트

머신러닝 기능을 활용해 데이터 주석(annotation / Labeling) 프로세스를 강화하는 인공지능 기반 플랫폼

이미지 주석 도구를 사용해 내장 예측 모델을 활용하여 자동 주석화 가능

객체 탐지(Object Detection)를 위한 데이터 셋 생성과 이미지 분할이 쉽고 빠르게 이루어짐

강아지 1, 고양이 0으로 학습

객체 탐색(위치도 잡아줄 수 있도록, 고양이에 네모 박스를 침)

 

크리에잇ML

애플이 개발한 사전훈련(사전학습/ 충분한 정보가 없을 때 비슷한 모델의 정보를 가져옴)된 모델 템플을 제공하는 MacOS 애플리케이션

커스텀 머신러닝 모델링 지원

이미지 분류부터 스타일 트랜스퍼( ex일반 사진을 동양화처럼 바꿔주는 것), 자연어 처리, 추천 시스템 등 가능

 

AutoML(최적의 모델을 선정 ML: Machine Leaning)

이미지 분류, 자연어 처리, 번역, 비디오 인텔리전스 등 포함

머신러닝에 대한 전문지식이 없어도 자신에게 맞는 모델을 학습시킬 수 있음

클라우드 기반 딥러닝 모델 설계 지원

 

Rapidminer

데이터 전처리, 머신러닝, 딥러닝, 텍스트 마이닝, 예측 분석등 제공

드래그 앤 드롭만으로 데이터 분석을 할 수 있어 초보자부터 숙련자까지 폭넓게 지원

플러그인(Plugin) 지원을 통해 확장성 확보

 

SPSS

직관적이고 사용이 쉬움

기술 통계, 이변량 통계, 수치 결과 예측, 집단 식별 예측 등 통계분석의 기능을 가지고 있음

국내 대부분 마케팅, 사회 조사기관에서 활용

 

KNIME

모듈식 데이터 파이프라인 구성으로 데이터 전처리, 시각화, 모델링이 가능한 오픈소스 소프트웨어

 

obviously.ai

정형 데이터 내의 복잡한 작업을 수행하기 위해 자연어 처리 기능 제공

데이터를 업로드하고 예측 칼럼을 선택하면 자동적으로 인공지능 모델이 구축

고성능 시각화 및 알고리즘 시뮬레이션 기능 지원

'빅데이터 분석' 카테고리의 다른 글

빅데이터 분석 플랫폼(1)  (0) 2023.07.23
코딩 분석 도구  (0) 2023.07.23
빅데이터 분석도구  (0) 2023.07.23
해외 빅데이터 활용 사례  (0) 2023.07.23
국내 빅데이터 활용 사례  (0) 2023.07.23

+ Recent posts