반응형

Data Analysis & ML 109

[Deep Learning] DNN 분류 (DNN Classification)

DNN 분류 (DNN Classification)이번 포스팅에서는 DNN을 사용하여 "패션 이미지 데이터를 분류하는 방법"과 "텍스트 데이터를 감성분석하는 방법"을 알아보겠습니다.DNN 이미지 분류 (DNN Image Classification)Fashion MNIST(MNIST) Dataset10개의 범주(category)와 70,000개의 흑백 이미지로 구성된 패션 MNIST 데이터셋.이미지는 해상도(28x28 픽셀)가 낮고 다음처럼 개별 의류 품목을 나타낸다:패션 MNIST와 손글씨 MNIST는 비교적 작기 때문에 알고리즘의 작동 여부를 확인하기 위해 사용되곤 하며 코드를 테스트하고 디버깅하는 용도로 좋다.이미지는 28x28 크기의 넘파이 배열이고 픽셀 값은 0과 255 사이이다. 레이블(label..

[Deep Learning] DNN 회귀분석 (Tensorflow Dataset)

DNN 회귀분석 (DNN Regression)이번 포스팅에서는 Tensorflow Dataset을 활용하여 DNN으로 회귀분석하는 방법을 알아보겠습니다.CF) DNN이란 : https://ysyblog.tistory.com/100Tensorflow Dataset데이터 입력 파이프라인을 위한 패키지tf.data 패키지에서 제공tf.data.Dataset 추상클래스에서 상속된 여러가지 클래스 객체를 사용 또는 만들어 쓴다.데이터 입력 파이프라인이란모델에 공급되는 데이터에 대한 전처리 작업과 공급을 담당한다.이미지 데이터의 경우분산 파일시스템으로 부터 이미지를 모으는 작업,이미지에 노이즈를 주거나 변형하는 작업,배치 학습을 위해 무작위로 데이터를 선택하여 배치데이터를 만드는 작업텍스트 데이터 경우원문을 토큰화..

[Deep Learning] DNN (Deep Neural Network)

DNN (Deep Neural Network)DNN은 딥러닝을 위해 사용되는 인공신경망입력층과 출력층 사이에 여러가지의 은닉층으로 이루어진 인공신경망을 일컬음DNN 구성 요소유닛/노드/뉴런 (Unit, Node, Neuron)Tensor를 입력받아 tensor를 출력하는 데이터 처리 모듈Input -> Output입력 값에 Weight(가중치)를 곱하고 bias(편향)을 더한 뒤 활성화 함수를 거쳐 출력한다.레이어/층(Layer)Input Layer: 입력값들을 받아 Hidden Layer에 전달하는 노드들로 구성된 Layer.Output Layer: 예측결과를 출력하는 노드들로 구성된 LayerHidden LayerInput Layer와 Output Layer사이에 존재하는 Layer.데이터의 패턴을 ..

[Deep Learning][딥러닝] 딥러닝 구현

MNIST 이미지 분류 MNIST(Modified National Institute of Standards and Technology) database 흑백 손글씨 숫자 0-9까지 10개의 범주로 구분해놓은 데이터셋 하나의 이미지는 28 * 28 pixel 의 크기 6만개의 Train 이미지와 1만개의 Test 이미지로 구성됨. import tensorflow as tf from tensorflow import keras tf.__version__ #'2.1.0' keras.__version__ #'2.2.4-tf' 텐서플로우는 GPU를 사용하는 2.0이상 버전을 설치해야함 # MNIST dataset 조회 (train_image, train_label), (test_image, test_label) =..

[Deep Learning][딥러닝] 딥러닝 개요

인공지능 (AI - Artificial Intelligence) 지능: 어떤 문제를 해결하기 위한 지적 활동 능력 인공지능 기계가 사람의 지능을 모방하게 하는 기술 규칙기반, 데이터 학습 기반 머신러닝(Machine Learning) 데이터 학습 기반의 인공 지능 분야 기계에게 어떻게 동작할지 일일이 코드로 명시하지 않고 데이터를 이용해 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 인공지능의 한분야 Feature engineering 단계에서 사람이 초기 입력 데이터를 여러 방식으로 변환해야 함 딥러닝 (Deep Learning) 인공신경망을 기반으로 하는 머신러닝의 한 분야. 대용량 데이터 학습에 뛰어난 성능을 나타낸다. 한 번에 모든 특성을 학습 (End-to-End model) 딥러닝의 특징 ..

[Text Mining] 지도학습 기반 감성 분석 (Sentiment Analysis) (IMDB 영화리뷰)

영화리뷰 데이터 셋 전처리 및 긍부정 모델링이번 포스팅은 영화리뷰 데이터셋을 사용하여 전처리하고 모델링하는 텍스트마이닝을 소개합니다. 텍스트 데이터 전처리부터 Feature vectorization과 머신러닝 모델링까지 진행합니다.텍스트 분석 수행 프로세스텍스트 전처리클렌징(cleansing)특수문자, 기호 필요없는 문자 제거대소문자 변경stop word(분석에 필요 없는 토큰) 제거텍스트 토큰화분석의 최소단위로 나누는 작업보통 단어단위나 글자단위로 나눈다.어근 추출(Stemming/Lemmatization)을 통한 텍스트 정규화 작업Feature vectorization문자열 비정형 데이터인 텍스트를 숫자타입의 정형데이터로 만드는 작업BOW와 Word2Vec머신러닝 모델 수립, 학습, 예측, 평가Nat..

[Text Mining]Feature Vectorize(TF-IDF, TfidfVectorizer)

TF-IDF (Term Frequency - Inverse Document Frequency)텍스트를 숫자형값의 정형테이터로 변환하는 Feature vectorization의 방식 중 하나개별 문서에 많이 나오는 단어가 높은 값을 가지도록 하되, 동시에 여러 문서에 자주 나오는 단어에는 페널티를 주는 방식작동 원리어떤 문서에 특정 단어가 많이 나오면 그 단어는 해당 문서를 설명하는 중요한 단어일 수 있지만, 그 단어가 다른 문서에도 많이 나온다면 언어 특성이나 주제상 많이 사용되는 단어 일 수 있다.전체 문서에 고르게 많이 나오는 단어들은 각각의 문서가 다른 문서와 다른 특징을 찾는데 도움이 안된다. 그래서 페널티를 주어 작은 값이 되도록 한다.장점각 문서의 길이가 길고 문서개수가 많은 경우 Count ..

[Text Mining] Feature Vectorize (DTM/TDM, CountVectorizer)

Feature vectorization 이란텍스트를 숫자형값의 정형테이터로 변환하는 것을 Feature vectorization(피처 벡터화) 라고 한다. DTM/TDM이나 TF-IDF 형식으로 표현BOW (Bag Of Words)많이 나온 단어가 중요한 단어문서내에 단어 빈도수에 기반하여 Vector화 하는 모델DTM/TDM (Document Term Matrix)문서안에서 문서를 구성하는 단어들이 몇번 나왔는지를 표현하는 행렬행:단어, 열: 문서 - DTM행:문서, 열:단어 - TDMValue: 개수TF-IDF (Term Frequency Inverse Document Frequency)CountVectorize의 문제: 문장 구조상 많이 나오는 단어들의 경우 카운트 값이 많이 나오게 되고 중요한 단..

[Text Mining] KoNLPy (한국어 텍스트 처리 패키지)

KoNLPy(코엔엘파이)한국어 처리(텍스트 마이닝)를 위한 Python 패키지http://KoNLPy.org/ko/latest/KoNLPy 설치방법Java설치https://www.oracle.com/java/technologies/javase-downloads.htmlOS에 맞게 다운로드 한다.환경변수 설정JAVA_HOME : 설치 경로 지정Path : 설치경로\bin 경로 지정JPype1 설치파이썬에서 자바 모듈을 호출하기 위한 연동 패키지설치: !pip install JPype1 KoNLPy 설치 pip install konlpyKoNLPy 제공 말뭉치kolaw: 대한민국 헌법 말뭉치constitution.txtkobill: 대한민국 국회 의안(국회에서 심의하는 안건-법률, 예산등) 말뭉치-18098..

[Text Mining][NLP] Text Data(텍스트 데이터) 전처리 프로세스

Text Data 전처리 프로세스클렌징(cleansing)특수문자, 기호 필요없는 문자 제거대소문자 변경=>모두 소문자로 변환stop word(분석에 필요 없는 토큰) 제거텍스트 토큰화분석의 최소단위로 나누는 작업보통 단어단위나 글자단위로 나눈다.어근 추출(Stemming/Lemmatization)을 통한 텍스트 정규화 작업tokenize_text에 stemming=>Lemmatization 추가전처리 Process Python Code 예시text_sample = """Beautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat..

반응형