본문 바로가기
SMALL

분류 전체보기139

10-1 예외 클래스 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 발생하는 것을 에러(error)라고 하며, 이러한 에러 이외에 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 예외(exception)라고 말한다. 예외가 발생하면 프로그램은 곧바로 종료된다는 점에서 에러와 비슷하지만, 예외 처리(exception handling)를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 자바는 예외가 발생할 가능성이 높은 코드를 컴파일할 때 예외 처리 유무를 확인하며, 예외 처리 코드가 없다면 컴파일이 되지 않는다. 하지만 모든 예외에 대해 확인하지는 않기 때문에 예외의 종류부터 알아보자. 예외는 두 가지 종류가 있다. 일반 예외(exception) 컴파일러 체크 예외 프로.. 2021. 12. 27.
09-2 익명 객체 익명(anonymous)객체는 이름이 없는 객체를 말한다. 익명 객체를 만들려면 조건이 따르며, 조건이란 클래스를 상속하거나 인터페이스를 구현하는 것을 말한다. 익명 객체가 아닌 일반적인 경우에는 다음과 같이 명시적으로 클래스 이름을 주고 선언한다. //일반적인 경우 //[상속] class 클래스이름1 extends 부모클래스 {...} 부모클래스 변수 = new 클래스이름1(); //[구현] class 클래스이름2 implements 인터페이스 {...} 인터페이스 변수 = new 클래스이름2(); 이 경우 부모 클래스 변수는 클래스이름1의 객체를 참조하며 인터페이브 변수는 클래스이름2의 객체를 참조한다. 그러나 익명 객체를 생성할 때에는 다음과 같이 클래스 이름이 존재하지 않는다. //익명 객체 //.. 2021. 12. 14.
파이썬) 겹치지 않는 숫자 랜덤으로 생성 import random # 랜덤으로 생성한 숫자를 담을 배열 a = [] # 랜덤으로 정수 생성 randomNumber = random.randint(0, 3200) # 반복하여 숫자 100개 뽑기 for i in range(100): # 만약 숫자가 있을 경우 랜덤 숫자 다시 생성 while randomNumber in a: randomNumber = random.randint(0, 3200) a.append(randomNumber) a.sort() print(a) 2021. 11. 8.
Chap04. 한글 텍스트 분류_모델링 2 이번 포스팅은 이전에 전처리한 한글 데이터 파일을 활용해 감정 분석 모델링을 해볼 것이다. 모델은 합성곱 신경망(CNN)을 활용하여 구현할 예정이다. 먼저 모델링 과정에 필요한 라이브러리와 데이터를 불러오자. import os from datetime import datetime import tensorflow as tf import numpy as np import json from sklearn.model_selection import train_test_split DATA_IN_PATH = './data_in/' DATA_OUT_PATH = './data_out/' INPUT_TRAIN_DATA = 'nsmc_train_input.npy' LABEL_TRAIN_DATA = 'nsmc_train_la.. 2021. 8. 3.
Chap04. 한글 텍스트 분류_모델링 1 영어와 한글은 언어적인 특성이 매우 달라서 전처리하는 과정부터 차이가 있다. 이번 포스팅에서는 한글 텍스트를 다루는 방법을 알아보고 분류하는 방법을 알아보도록 하자. 먼저, 이전에 사용한 NLTK는 한글 텍스트를 지원하지 않으며 한글 텍스트를 다루기 위해서는 KoNLPy를 사용해야 한다. 그러므로 KoNLPy를 사용해보자. 모델링을 위해 사용하는 데이터셋은 공개된 네이버 영화 리뷰 데이터를 사용한다. 이 데이터는 네이버 영화의 사용자 리뷰를 각 영화당 100개씩 모아서 만들어진 데이터로, 이 데이터를 사용하여 감정 분석을 수행해보자. [ 데이터 전처리 및 분석 ] 데이터를 다운로드 한 후 데이터 파일을 살펴보자. https://github.com/e9t/nsmc GitHub - e9t/nsmc: Nave.. 2021. 8. 2.
Chap04. 영어 텍스트 분류_모델링 3 이번 포스팅은 딥러닝 분야의 컨볼루션 신경망에 대해 실습하면서 알아보자. 컨볼루션 신경망은 합성곱 신경망(CNN)이라고도 하며, 전통적인 신경망 앞에 여러 계층의 합성곱 계층을 쌓은 모델이다. 이는 입력 값에 대해 가장 좋은 특징을 만들어 내도록 학습하고, 추출된 특징을 활용해 분류하는 방식이다.일반적으로 이미지에서 많이 활용하였는데, 2014년 Yoon Kim 박사가 쓴 논문을 통해 텍스트에서도 좋은 효과를 낼 수 있다는 것을 입증하였다. 앞에서 본 RNN은 단어의 입력 순서를 중요하게 반영한다면 CNN은 문장의 지역 정보를 보존하면서 문장 성분의 등장 정보를 학습에 반영하는 구조이다. 이 모델을 구현하는 방법은 이전 포스팅인 RNN에서 설명했던 에스티메이터의 구조를 그대로 사용할 수 있으며, 모델쪽 .. 2021. 7. 29.
LIST