기술이야기 (Technomian) 14

[데이터 분석] 텍스트 마이닝, 자연어로 구성된 글 속에서 가치 있는 정보를 추출하는 분석 방법

1. 텍스트 마이닝(Text Mining)이란 텍스트 마이닝이란 머신러닝, 언어이해, 통계 등을 활용하여 모델을 설계·수립하고 텍스트 속에서 정보를 추출하여 비즈니스 인사이트(Business Insight)나 추천, 예측 등의 분석 작업을 수행하는 것을 통틀어 일컫습니다. 또한, 자연어 처리(NLP)란 인간의 언어를 기계가 이해하고 해석할 수 있도록 하는 것에 방점을 찍은 기술을 통틀어 일컫습니다. 개념 정의에서 알 수 있다시피 텍스트 마이닝이 조금은 더 큰 범주이고, 자연어 처리를 특정 기술에 중점을 두고 있어 조금 더 작은 범주라고 생각하면 편할 것 같습니다. 2. 텍스트 마이닝 종류 크게 4가지로 나눌 수 있다. 텍스트 분류(Text Classification) : 주로 지도학습을 활용하여 문서가 ..

[데이터 전처리] Preprocessing. 아웃라이어(outlier) 처리하기

1. 아웃라이어(Outlier)란 아웃라이어란 데이터의 분포가 다른 값들에 비해 비정상적으로 떨어져 있는 관측값을 말하며, '이상치'라고도 부릅니다. 다만, 그 기준이 모호합니다. 어느 정도까지가 정상이고, 비정상인지 획일적인 잣대로 들이밀기 어렵기 때문입니다. 또한, 아웃라이어는 실제로 가치나 의미가 있는 정보를 담고 있는 값일수도 있고, 단순한 실수나 의미없는 값일 수도 있습니다. 계량분석이나 연구에서 아웃라이어는 통계 분석에 영향을 미치고, 그 결과를 왜곡할 수 있기 때문에 데이터 전처리 과정 중에 중요한 문제기도 합니다. 데이터 분석에서 아웃라이어를 제거하는데, 가장 좋은 것은 해당 산업이나 도메인에 관한 지식이 있을 경우 좋습니다. 배경 지식을 활용하여 기준을 정하고 아웃라이어를 제거하는게 가장..

[데이터 전처리] Preprocessing. 결측치 (missing value) 처리하기

결측치, 이상치 등 제거하고, 데이터값들을 일관성 있게 정제해주는 일련의 과정인 '데이터 전처리(Data Preprocessing)'를 실습하면서 공부해 보겠습니다. 데이터를 수집하고 난 후 본격적인 분석에 들어가기 전에 가장 중요한 과정이기 때문에 순서대로 공부하는 것이 맞다고 판단하였습니다. 0. 시작하기 전 기초 상식 데이터 전처리(Data Preprocessing)란 주어진 데이터셋(Dataset)의 결측치나 이상치 등을 확인하여 제거하거나 불일치되는 값들을 일관성 있는 데이터 형태로 변환하는 일련의 과정을 일컫습니다. 어떤 빅데이터나 인공지능 분석 모델에 투입되는 데이터들이 정제되지 않고 이상하면 원하는 분석 결과를 도출할 수 없을 뿐만 아니라 불확실한 예측을 할 수도 있고, 이것이 비즈니스 의..

[탐색적 데이터 분석] EDA를 위한 주요 함수 (pandas, matplotlib 등)

빅데이터·인공지능(AI) 분석 과정에서 주어진 데이터셋의 정보를 파악하기 위한 작업을 'EDA'라는 '탐색적 데이터 분석' 작업을 거쳐야 합니다. 이 과정에서 파악한 정보를 통해 어떤 전처리, 모델링 등 시행해야할지 판단되기 때문에 데이터 분석에 있어서 매우 중요한 단계입니다. 오늘은 EDA를 위해 매우 간단하면서 자주 활용되는 주요 pandas 함수를 기록할 것입니다. (제 remind를 위한 글...) 1. 기초 통계 지식을 활용한 분석 import numpy as np import pandas as pd 기본적으로 활용되는 numpy와 pandas를 import head() : 첫 5행 데이터를 보여줌 tail() : 마지막 5행 데이터를 보여줌 train.info() : 데이터 Column과 그 ..

[자연어처리 NLP] NLP란, NLP 프로세스, NLP 라이브러리

요즘 '하이 빅스비'를 많이 애용(저는 갤럭시 유저이기 때문)하면서, AI의 음성·자연어 처리에 대해 궁금해져서 조금씩 공부하기 시작했습니다. 첫 번째로 오늘은 간단하게 '자연어처리(NLP)'에 대한 기초적인 개념 정도만 얘기해보고자 합니다. 1. 자연어처리(NLP) 뜻, NLP란 먼저, '자연어(Nautral Language)'란 인간이 일상생활에서 구사하는 언어 그 자체를 말합니다. 즉, 인간의 언어입니다. 이것을 처리하는 '자연어 처리(Nautral Language Processing)'란 기계(AI)가 인간의 언어인 자연어를 이해하고 추론하여 처리하는 일련의 과정을 말합니다. 2. NLP 프로세스 차차 공부를 하면서 자세하게 코드와 함께 풀어볼 영역입니다만, 아주 간단하게 소개를 드려보겠습니다. ..

비트코인 1억 기원, 암호화폐 핵심 기술 블록체인(Block Chain)

최근 비트코인, 리플(리또속)과 알트 코인들이 다시 상승세를 타면서 암호화폐가 주목받고 있습니다. 그리고, 이러한 암호화폐의 기술적 기반인 '블록체인(Chain Block)'도 다시금 조명 받고 있습니다. 오늘은 블록체인에 대해서 간단한 기초 상식을 공유해 보고자 합니다. 일단, 기사 하나부터 보시죠! https://www.businesspost.co.kr/BP?command=article_view&num=253843 비트코인 6790만 원대 공방, 가상화폐 시세는 하락이 훨씬 많아 10일 오후 5시10분 기준으로 가상화폐거래소 빗썸에서 거래되는 가상화폐 180종 가운데 111종의 시세가 24시간 전보다 내리고 있다. 69종의 시세는 오르고 있다.

[MySQL 문제풀이 공부] 프로그래머스 MySQL 문제 - String, Date

01. 루시와 엘라 찾기 SELECT으로 보여주되, NAME이 찾는 찾는 이름에 해당하는 것만 보여주는 것으로 조건을 설정하면 된다. 02. 이름에 'el'이 들어가는 동물 찾기 %의 기능 --> 원하는 글자가 들어가는 문자를 찾아주는 것.이름에 'el'이 들어가는 것을 찾고 싶을 때, NAME like '%el%' 이렇게 써주면 된다.즉, '%찾고자 하는 글자%' 형식이다. 03. 중성화 여부 파악하기 CASE When 조건절을 활용해서 처리한다. 딱히 어려울 것이 없다. 04. 중성화 여부 파악하기 (미해결) 미해결....ㅠㅠㅠㅠ 05. DATETIME에서 DATE로 형 변환 자료형 변환 관련 내용이다. 더 자세히는 따로 공부할 것.... %Y -> 2021 %y -> 21 %M -> Month (영..

[MySQL 문제풀이 공부] 프로그래머스 MySQL 문제 - JOIN

01. 없어진 기록 찾기 입양은 갔지만, 보호소에 들어온 기록은 없는 것을 찾아야 한다. ANIMAL_OUTS(입양 보낸) 테이블을 기준으로 ANIMAL_ID를 KEY로 해서 JOIN을 한다. 그러면, ANIMAL_INS(보호소에 들어온) 테이블에 NULL값이 입력될 것이다. 이 때, 보호소에서 NULL값이 있는 것을 SELECT한다. /* JOIN 문 활용법 */ JOIN문은 두 개 이상의 테이블이나 데이터베이스를 연결해서 데이터를 검색하는 방법이다. (어려워...) Table A(a, b, c)와 Table B(a, b, c, d)이 있을 때, 1) Full JOIN SELECT * FROM A FULL JOIN B ON A.key = B.key 이 경우, A와 B 테이블 모두 join 된다. 특히,..

[MySQL 문제풀이 공부] 프로그래머스 MySQL 문제 - IS NULL

01. 이름 없는/있는 동물의 아이디 WHERE NAME is NULL --> '이름(NAME)이 없는(NULL)' 조건문 WHERE NAME is not NULL --> '이름(NAME)이 있는(NULL이 아닌)' 조건문 (크게 사진을 보기 위해 병합하지 않음...) 02. NULL 처리하기 조건문(CASE)의 구조 CASE(C++ IF문의 if 같은 존재) When + 조건 --> '이름(NAME)이 없으면(NULL값)'이라는 조건을 제시해줌 Then + 명령 --> When 조건을 만족한다면, 'No name'이라는 문자. else + 명령 --> When 조건을 만족하지 않는다면, NAME 컬럼 값 그대로 쓸 것. END as NAME --> 끝내면서 해당 컬럼의 이름을 지정 (NAME 그대로 씀..

[MySQL 문제풀이 공부] 프로그래머스 MySQL 문제 - GROUP BY

01. 고양이와 개는 몇 마리 있을까 어떤 컬럼 안에 데이터 중에 특정한 값(위 문제에서 Dog, Cat)의 갯수 세기. 일단 ANIMAL_TYPE 컬럼 내 데이터를 'GROUP BY' 한 후에, 갯수를 센다. 단, WHERE 조건문으로 개와 고양이만 불러온다. 고양이가 'ㄱ'이기에 오름차순으로 Order by한다. GROUP BY 그룹으로 묶어주는 명령문이다. 보통은 집계함수(AVG, MAX, MIN 등)와 함께 쓰인다. 또, 읽기 편하게 AS를 통해 명칭을 정의해주기도 한다. 02. 동물 수 구하기 큰 틀에서 하단부에 위치한 쿼리문들이 최종적으로 보여주는 것. 상단부 쿼리문들로 원하는 테이블을 새로 뽑아낸다. 이것으로 하단부에 FROM에 활용하는 구조이다. 요약하면, 상단부 : 주어진 테이블(ANIM..

728x90
반응형