전체 글 97

[Sqoop] Ubuntu 20.04 Sqoop 활용(2) - 예시

※ 요구사항 1. Hive를 통해 HDFS에 로컬 파일을 저장한다. 2. MySQL로 확인했을 때, HDFS에 있는 파일을 테이블로 읽어들일 수 있어야 한다. 3. HDFS에 저장한 로컬 파일을 삭제한다. 4. Sqoop을 사용하여 MySQL에 있는 데이터를 Hive를 거쳐 HDFS 영역에 다시 저장한다. 0. CSV파일 전처리 기존 파일을 확인하니 오타가 있어서 이를 처리하기 위해, 전처리를 시행 import sys import csv with open('biostats.csv', 'w', newline='') as f: writer = csv.writer(f) header = sys.stdin.readline(); for line in sys.stdin.readlines(): tmp_list = li..

프로그래밍 2021.06.08

[Sqoop] Ubuntu 20.04 Sqoop 활용

※ Sqoop(정형 데이터 수집) * MySQL -> Sqoop -> HDFS * RDB -> HDFS * HDFS -> RDB * 대용량 데이터 전송 솔루션 * 커넥터(Connector)를 사용하여 RDBMS에서 HDFS로 데이터를 수집하거나 HDFS에서 RDBMS로 데이터를 보내는 기능 수행 * Oracle, MS-SQL, DB2와 같은 상용 RDBMS와 MySQL과 같은 오픈소스 RDBMS 지원 ※ 설치 1. File Download wget https://downloads.apache.org/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz https://downloads.apache.org/sqoop/1.4.7/ Index of /sqoop/1.4.7 dow..

프로그래밍 2021.06.07

[Python] Text Data Analysis(2)

※ 한글 형태소 분석 * Hannanum * Kkma * Okt * KoNLPy 1. Hannanum from konlpy.tag import Hannanum han = Hannanum() 이 때, " SystemError: java.nio.file.InvalidPathException: Illegal char at index 55: C:\ProgramData\Anaconda3\Lib\site-packages\konlpy\java\* " 라고 에러가 발생하는 경우가 있다. 그럴 때, 아래 단계대로 수행하여 해결하자. 1) JPype를 설치 2) https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype 3) JPype1-1.2.0-cp38-cp38-win_amd64.whl ..

프로그래밍 2021.06.06

[Python] Text Data Analysis(1)

* 영어권 텍스트 처리 패키지: NLTK * Stemming(어간 추출) * Lemmatizing(원형 복원) * Pos Tag(품사 부착) 1. NLTK import nltk nltk.__version__ # '3.5' 2. English Text Data Download(Example) & Check # github에서 corpus(말뭉치) 다운로드 nltk.download() # nltk에 들어있는 book 데이터 확인 from nltk.book import * * gutenberg의 파일 리더기 nltk.corpus.gutenberg.fileids() * fileids를 사용해 gutenberg안에 있는 text 데이터 추출 emma = nltk.corpus.gutenberg.raw('austen..

프로그래밍 2021.06.06

[Big Data] 빅데이터 모델 운영시스템 및 생명 주기

※ 운영시스템 적용 방안 1. 분석 알고리즘의 이해 1) 알고리즘: 문제를 해결하는 절차들을 명령어로 정리한 집합 2) 기계학습 알고리즘 종류 분류 - Bayesian: 분류하고자 하는 대상의 확률을 측정하여 확률이 큰 확률 쪽으로 판단 - Decision Tree: 의사결정나무, 어떤 항목값에 대해 관측값과 목표값을 연결시켜주는 예측 모델, 예측 모델링 방법 중 하나 - Logistic Regression: 종속변수가 유효한 범주의 개수가 2개인 경우 사용(ex: 성공 or 실패) - SVM: 패턴 인식, 자료 분석을 위한 지도학습 모델, 분류와 회귀 목적으로 사용 회귀 - Linear Regression: 시간에 따라 변화하는 데이터나 혹은 어떤 영향, 가설적 실험, 인과 관계 모델링 등의 통계적 예..

프로그래밍 2021.06.06

[R] 내부 평가를 이용한 분류 모델 성능 평가

1. 분류 모델과 내부 평가 1) 분류 모델 - 특정 기준(정답)에 의해 분석 대상을 특정 개수의 집단으로 분류하는 예측 모형 - 학습된 모델을 통해, 입력된 값을 미리 정해진 결과로 분류해주는 모델 2) 내부 평가 - 통계 분석 과정상 당연히 거쳐야 하는 과정을 제대로 이행하는지 여부에 중점을 둠 - 정확성, 안정성, 적합성, 객관성 등의 세부 평가 지표에 따라 평가 -> 세부 지표 중 평가에 활용할 지표를 통상적 기준에 의해 선택하여 활용 3) 분류 모델의 종류 구분 정의 다중 판별 분석 집단 간의 차이를 의미있게 설명해 줄 수 있는 독립변수들을 찾아내고 이들의 선형결합으로 판별식을 만들어 내어 분류하고자 하는 대상들이 속하는 집단을 찾아내는 기법 로지스틱 회귀분석 독립변수의 선형결합을 이용해 사건의..

프로그래밍 2021.06.05

[R] ROC 곡선 기법을 통한 분류 모델 성능 평가

1. ROC 곡선의 개념 1) ROC 곡선 - 정의: 식별 모델의 성능 평가 방법 - 유래: 제 2차 세계대전 때 수신된 레이더 신호에서 적 전투기를 찾으려는 미국의 레이더 연구에서 탄생한 개념으로 글자가 구성되어 수신자 조작 특성을 의미함 - 두 개의 범주를 가지고 있는 분류 모형의 성능을 평가하기 위해 쓰는 그래프 - 민감도(Sensitivity)와 특이도(Specificity)를 알아보는데 주로 사용 * 특징 - 신호감시이론의 한 분야 - 세계 2차 대전 당시, 레이더가 감지한 신호를 통해 적함/아군함/단순 잡음인지를 판별하는데 사용 - 레이더를 수신하는 수신기의 특성을 요약하여 보여준다는 점에서 착안하여 이름이 정해짐 - 1970년 이후, 의료와 금융 등 분류가 필요한 분야에 유용하게 사용 2) ..

프로그래밍 2021.06.05

[R] Confusion Matrix를 통한 분류 모델 성능 평가

1. 컨퓨전 매트릭스의 개념 1) 컨퓨전 매트릭스(Confusion Matrix, 혼동 행렬) - 머신러닝 혹은 통계학적 방법이 사용된 분류 모델에서, 알고리즘의 성능을 보기 쉽게 시각화하는 테이블 형태의 레이아웃 - 타당성 검증: 모델을 만들 때 모델이 얼마나 정확한 결과를 계산하는지 객관적으로 측정하는 것 2) ROC 곡선(Receiver Operating Characteristic curve) - 특정 진단 방법의 민감도와 특이도가 어떤 관계를 갖고 있는지를 표현한 그래프 - 데이터의 정답 결과 세트를 제작 -> 데이터의 식별 결과 세트 제작 -> 2*2 컨퓨전 매트릭스 제작 3) 컨퓨전 매트릭스 형태 컴퓨전 매트릭스 (Confusion Matrix) 실제(True Condition) Positiv..

프로그래밍 2021.06.05

[R] 교차 유효성 검사를 통한 예측 모델 성능 평가

1. 교차 유효성 개념 1) 교차 유효성 검사(Cross Validation, 교차 검증) * 정의 - 주어진 데이터의 일부를 학습시켜 모델을 생성하고, 나머지 일부(비학습 데이터)는 모델을 검증하는데 사용하는 것 => 교차 타당화 - 연구 결과에 대한 타당성을 해당 연구에 사용하지 않은 표본으로 평가해보는 타당화 방법 2) 교차 유효성 검사의 필요성 - 과적합(Overfitting)을 방지하기 위해 교차 유효성 검사를 실시 - 과적합: 비학습 데이터 혹은 향후에 만들어질 모델에 대해 예측력이 떨어지거나 성능이 좋지 않은 상태 - 전체 데이터 -> 훈련용 데이터(약 80%) + 테스트용 데이터(약 20%) 2. 교차 유효성 검사 종류 1) 종류 - Cross-Validation - LOOCV - K-Fo..

프로그래밍 2021.06.05

[Hive] MySQL 설치 - Hive 연동

※ MySQL 설치 OS: ubuntu 20.04 1. MySQL Application repository 설치 $ wget https://dev.mysql.com/get/mysql-apt-config_0.8.16-1_all.deb -> 파일 다운로드(wget 명령어 사용) $ sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb -> 압축 해제 2. Ubuntu Server update $ sudo apt update * MySQL 8.0 정책 확인 $ sudo apt-cache policy mysql-server 3. MySQL 8.0 설치 $ sudo apt install mysql-client mysql-community-server mysql-server -> Ro..

프로그래밍 2021.06.04