j7youngh의 등록된 링크

 j7youngh로 등록된 네이버 블로그 포스트 수는 53건입니다.

파이썬 (python) 코딩 웹 페이지 첨부 파일 일괄 다운로드 requests, BeautifulSoup, wget으로 빅데이터 분석 마스터 하기 [내부링크]

파이썬(python), 웹 페이지에 첨부되어 있는 수많은 파일을 한번에 모두 다운받자... 파이썬으로 웹 페이지에 저장된 파일을 일괄 다운로드하기 위해서 다음의 절차를 시행해보자. 1) 웹 페이지(html)에 HTTP 요청( requests.get 모듈 사용) 2) 파싱( BeautifulSoup 모듈 사용): html 태그 및 정보를 가져와 새롭게 구조화 3) 태그(Tag) 탐색하기 4) find_all, find, select로 첨부파일 링크 가져오기 5) 해당링크로 파일 다운 로드( wget 모듈 사용) 웹 페이지에서 첨부된 파일을 받아오는 원리는 웹 페이지 소스(html)에서 파일의 링크(http://....) 주소만 뽑아 그 링크에 접속하게 하는 것이다. 웹 페이지 접속 => 웹 페이지 읽어오기 => 링크주소만 뽑기 => 링크주소 접속(파일다운) 이번에 크롤링한 웹 페이지는 https://eiec.kdi.re.kr/policy/materialList.do 이고 첨부된 파일을

파이썬 (python) 코딩 모듈 module과 패키지 package를 활용해 함수를 모아 저장하고 빅데이터 분석 마스터 하기 [내부링크]

파이썬(python), 모듈(module)은 사용자가 함수 또는 클래스를 모아놓은 파이썬 파일로 다른 파이썬 프로그램처럼 import 해서 사용..., 모듈들을 한 폴더에 모아 놓은 것이 패키지(package)... 1. 모듈(module) 모듈(module)이란 함수나 변수 또는 클래스들을 모아 놓은 파이썬( .py )파일을 지칭하며, 파이썬 프로그램에서 불러와(import) 사용한다. 모듈은 사용자가 직접 정의해 사용하는 '사용자 정의 모듈'과 파이썬에서 제공하는 '파이썬 표준모델'로 크게 구분할 수 있다. 모듈을 살펴보기에 앞서 모듈(또는 패키지)를 호출하는 방법부터 살표보자. (1) 네임스페이스(Namespace) 모듈이나 패키지를 호풀할때는 import를 사용한다. 예를 틀어 'statistics'라는 모듈안에 평균(mean), 표준편차(stdev) 등의 클래스(class)를 담고 있다고 가정해보자. 그럼 먼저 import를 이용해 statistics를 호출한다. 그러면 모

파이썬 (python) 코딩 에러 error와 예외 처리 try, excet 를 활용해 알고리즘 멈춤없이 빅데이터 분석 마스터 하기 [내부링크]

파이썬(python), 에러(error)를 예외(execption) 처리해서 에러의 내용을 알려주되 프로그램이 멈추지 않게 해보자... 에러(error)는 명령문이 문법적으로 맞지 않아 발생하는 SyntaxError를 의미하고, 예외(exception)는 명령문은 문법적으로 맞지만 원하는 조건에 부합하지 않는 에러를 의미한다. 예를 들어, print(hello)를 입력하면 ''이 빼졌다는 문법적인 에러가 발생한다. print(hello) ------------------------------------------------------------------------------------ NameError Traceback (most recent call last) Input In [1], in <cell line: 1>() ----> 1 print(hello) NameError: name 'hello' is not defined 파이썬에 예외 처리 내장 용어는 다음과 같다. 1. 예

[ 사전 기반 감성분석 실습(시각화) ] 파이썬 python 한글 감성 사전 KNU 를 이용한 감성 sentiment 분석 시각화로 빅데이터 분석 마스터 [내부링크]

파이썬 python, 한글 감성분석(sentiment analysis) 사전 KNU를 이용해 워드 클라우드 등 감성분석 시각화 하기... [ 한글 사전기반 감성 분석 감성 단어 워드클라우드 시각화 ] 이전 블로그에서 한글 감성 사전을 이용해 영화 리뷰 문장에 감성 점수인 극성 값을 구한 후 데이터프레임으로 저장하였다. 이번 블로그에서는 문장이 아닌 감성 단어들을 이용해 감성분석을 시도하려고 한다. 문장 감성분석은 전체적으로 긍정적인 리뷰가 많은지 부정적인 리뷰가 많은지 계산해 전체적인 영화 평가를 판단할 수 있다. 한편 감성 단어를 살펴보려는 이유는 긍정적인 평가와 부정적인 평가에 어떠한 단어들이 사용되었는지를 살피는 것이다. 단어별 감성분석을 통해 해당 영화에 대한 질적 평가를 확인할 수 있다. 단어별 감성분석은 분석하고자 하는 텍스트의 단어(형태소)가 한글 감성어 사전 KNU에 있으면, 극성 값을 확인하고 행당 단어에 극성 값을 부여하는 방식으로 진행된다. 예를 들어 텍스트(영화

[ NLP Mecab 사전 추가 ] 파이썬 python 코랩 colab에 한국어 사전 Mecab에 단어 추가하고 빅데이터 분석 마스터 [내부링크]

파이썬(python), 코랩(colab) 환경에서 사전에 등록되어 있지 않은 단어를 Mecab에 등록하고 한글 자연어(NLP) 처리하기... 구글 코랩에서 자연어 처리(NLP)를 실시하기 위해서는 분석하고자 하는 문장이나 문서를 형태소나 단어 단위로 토큰화(tokenization)를 해야 한다. 그런데 사전 기반 토큰화의 경우 사전에 등록되어 있지 않은 단어를 분석을 하지 못한다. 그리고 복합 명사의 경우에도 사전에 등록되어 있지 않다면 등록된 단어로 분리시킨다. 예를 들어서 "나는 코랩에 메캅 설치해서 금리인상 기사를 자연어 처리할 것이다'를 토큰화하면, 코랩과 메캅 사전에 등록되어 있지 않기 때문에 사라져 버리고, 금리인상이라는 복합 명사도 '금리', '인상'으로 분리된다. 분석을 원하는 단어가 추출되기 위해서는 메캅(Mecab) 사전에 등록을 해야만 한다. 코랩에서 메캅 사전에 단어를 등록시키는 방법은 다음과 같다. ① 메캅 설치 ② 단어 사전 파일(nnp.csv) 열기 ③ 단

[ LDA 이론 ] 파이썬 python 텍스트 마이닝 토픽 (topic) 모델링 잠재 디리클레 할당 LDA를 이용해 빅데이터 분석 마스터 [내부링크]

파이썬 python, 토픽 모델링(Topic modeling)을 위해 LDA 방식을 이론적으로 이해해 보자. 토픽 모델링 (Topic Modeling)은 문서 집합에서 주제를 찾아내는 기술이다. '특정 단어가 자주 등장하는 것이 그 문서의 주제일 가능성이 높다'라는 가정에서 출발한다. 예를 들어 '스타벅스', '카페인', '커피 향기', '모닝커피' 등의 단어들이 다른 문서에 비해 자주 등장한다는 것은 해당 문서의 주제가 '커피'일 것으로 예측할 수 있다. [ 토픽 모델링 TopicModeling 개요 및 LDA 이해 ] 토픽 모델링(Topic Modeling)과 군집 분석(Clustering)의 차이점 토픽 모델링과 군집 분석 모두 관련성이 높은 문서끼리 혹은 단어끼리 묶는다는 점에서 결과론적으로 유사한 측면이 있다. 두 방법 모두 유사한 단어를 그룹화한 후 토픽을 네임밍(naming) 하는 방법도 같다. 두 분석 방법이 계산이나 추정 과정에 차이가 있지만 가장 근본적으로 다른 점

[ LDA 실습 ] 파이썬 python Gensim으로 텍스트 마이닝 토픽 (topic) 모델링 잠재 디리클레 할당 LDA를 실행해 빅데이터 분석 마스터 [내부링크]

파이썬 python, 토픽 모델링(Topic modeling)을 위해 LDA 방식을 이론적으로 이해해 보자. [ 토픽 모델링 LDA 파이썬 실습 ] 문서에 담긴 단어들의 토픽을 추출하는 토픽 모델링의 핵심 방법인 잠재디크클레항당(LDA)에 대한 이론적인 논의는 이전 블로그를 통해 자세히 살펴보았다. 이제 실제 파이썬을 이용해 LDA를 구현해 보자. LDA를 실현하는 파이썬 프로그램으로 sklearn과 gensim이 있다. 여기서는 gensim을 이용해 LDA를 실습하기로 하자. [ LDA 이론 ] 파이썬 python 텍스트 마이닝 토픽 (topic) 모델링 잠재 디리클레 할당 LDA를 이용해 빅데이터 분석 마스터 파이썬 python, 토픽 모델링(Topic modeling)을 위해 LDA 방식을 이론적으로 이해해 보자. 토픽 모델링... blog.naver.com 파이썬을 이용한 LDA 과정을 정리하면 다음과 같다. 1) 데이터 수집 및 처리 2) konlpy를 이용한 형태소 분석으

[ 감성분석 이론] 파이썬 python 감성사전 lexicon과 기계학습으로 감성 sentiment 분석해 빅데이터 분석 마스터 [내부링크]

파이썬 python, 감성 분석(sentiment analysis)을 하기 위해서는 사전(lexicon) 기반 방식과 기계학습(marchine learning) 방식을 사용할 수 있어.... [ 파이썬으로 감성 분석 sentiment analysis 이해하기 ] 감성분석(Sentiment Analysis)의 이해 감성분석(Sentiment Analysis)은 텍스트에 포함된 단어들을 통해 긍정, 중립, 부정 등 텍스트에 어떠한 감정이 담겨 있는지 파악하는 분석방법이다. 감성분석은 다른 말로 오피니언 마이닝(opinion mining)이라고도 불린다. 즉, 텍스트가 담고 있는 태도나 의견을 찾아낸다고 할 수 있다. 텍스트는 기본적으로 사실(fact, topic)을 나타내는 객관적인 요소와 의견(opinion)을 포함하는 주관적인 요소로 구성되어 있다. 이 중 객관적인 요소는 토픽 모델링(topic modeling)으로 분석 가능하고 주관적인 요소는 감성분석을 통해 파악할 수 있다. [

[ 시각화 도구 Matplotlib ] 파이썬 python 시각화 도구 Matplotlib, pyplot()을 이용해 빅데이터 분석 마스터 [내부링크]

[ Matplotlib, pyplot 사용 방법 이해하기 ] 빅데이터 분석의 결말은 분석 결과를 시각화하는 것이다. 데이터 시각화를 통해서 한눈에 분석 결과를 이해할 수 있고, 정보에 대한 선호도나 호기심도 커지게 된다. 파이썬에서 Matplotlib는 데이터를 차트나 플롯으로 그리는 가장 보편적인 2D 시각화 라이브러리이다. Matplotlib에서 라인 플롯, 파이 차트, 히스토그램, 박스 플롯, 산점도 등 다양한 차트와 플롯을 그리기 위해 실제로 사용하는 함수는 pyplot이다. Matplotlib 패키지를 사용할 때는 보통 mpl로 축약해 불러오고, 서브 패키지인 pyplot는 plt라는 약칭으로 호출해 사용하는 것이 일반적이다. import matplotlib as mpl import matplotlib.pyplot as plt matplotlib에서의 그래프 종류 matplotlib에서는 기보적인 라인 플롯부터 히스토그램, 파이 차트 등 다양한 그래프로 시각화할 수 있다.

[ 사전 기반 감성분석 실습(영어) ] 파이썬 python 감성사전 lexicon과 기계학습으로 감성 sentiment 분석해 빅데이터 분석 마스터 [내부링크]

파이썬 python, 영어 감성 분석(sentiment analysis)을 위해 영어 감성 사전(lexicon)을 이용해 실제 실습해 보기... [ 파이썬으로 감성사전 lexicon을 이용한 감성 sentiment 분석 실습하기 ] [감성분석 이론] 부분에서 영어와 한국어에 대한 감성어 분석 방법의 종류를 다뤄보았다. 감성 분석은 분석하고자 하는 corpus(텍스트)에 포함된 문장별로 단어의 주관성 정도인 감성 극성(polarity)을 계산한 후 해당 문장이 긍정과 부정 정도를 판단한다. 감성분석 방법은 기존에 이미 구축되어 있는 감성 어휘 사전을 이용하는 사전(Lexicon) 방식과, 기계학습(machine learning)을 통해 감성사전을 구축하고 이를 이용하는 기계학습 방법으로 구분된다. 여기서는 이미 구축되어 있는 영어 감성어 사전인 TextBlob lexicon, AFINN lexicon, VADER를 이용해 영어 감성분석을 실습해 보도록 하자. 실습할 감성분석 방법에 대

[ 사전 기반 감성분석 실습(한글) ] 파이썬 python 한글 감성사전 KNU를 이용한 감성 sentiment 분석으로 빅데이터 분석 마스터 [내부링크]

파이썬 python, 한글 감성분석(sentiment analysis) 사전 군산대학교 감성 사전 KNU를 이용해 감성분석 실습하기 [ 한국어 한글 감성어 사전 KNU를 이용해 감성분석(sentiment analysis) 하기 ] 감성분석은 이미 구축되어 있는 감성어 사전에 기반하거나, 기계학습을 이용해 사전을 구축한 후 해당 사전을 이용하는 방법이 있다. 여기서는 대표적인 한국어 감성 사전인 KNU 사전을 이용해 감성분석을 실시하려고 한다. KNU 한국어 감성 사전은 군산대학교에서 구축하였으며, ‘표준국어 대사전(국립국어원 2018)’, 그 외 축약어, 이모티콘 등 표준국어 대사전에서 추출되지 않은 새로운 감성어까지 포함하고 있다. https://github.com/park1200656/KnuSentiLex 감성분석 역시 지금까지 수행해 온 다른 텍스트 분석과 같은 과정을 거친다. 하지만 텍스트 정제 및 표준화 과정은 생략해도 무방하다. 왜냐하면 우리가 사용할 KNU 감성어 사전은

파이썬 python 영어 자연어 처리 NLP ( 임베딩 embedding, BOW, DTM, TF-IDF 중심으로 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 영어 자연어 처리 NPL위한 임베딩(embedding)의 가장 기본인 Bag of Wors, DTM, TF-IDF 부터 이해하자... 자연어 처리 NLP를 할 때, 컴퓨터의 기계 학습 모델(machine learning model)이 스스로 텍스트의 의미를 이해하고, 다음 단어나 문장을 예측하고, 단어나 단락의 이면에 있는 정서를 파악하는 등 인간이 텍스트를 이해하는 것과 같은 기능을 수행할 수 있도록 조치를 취해줘야 한다. 이러한 조치를 임베딩(embedding)이라고 한다. 즉, 단어나 문장을 크기와 방향을 가지는 벡터 형태로 표현하는 과정이라고 할 수 있다. 텍스트와 같은 비정형 데이터는 그 자체로는 컴퓨터가 분석할 수가 없다. 그래서 비정형 데이터를 테이블 형태의 매트릭스 데이터인 정형 데이터로 만들어주는 과정이 임베딩이라고 할 수 있다. 단어와 문서에 벡터 형태의 숫자를 부여하게 되면 단어와 문서의 유사성 및 연관성을 파악하는 등 다양한 분석을 수행할

파이썬 python 한국어 한글 자연어 처리 NLP ( 임베딩 embedding, BOW, DTM, TF-IDF 중심으로 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 한글 한국어 자연어 처리 NPL위한 임베딩(embedding)의 가장 기본인 Bag of Wors, DTM, TF-IDF 부터 이해하자... 한국어와 영어 등 모든 인간이 사용하는 자연어를 컴퓨터가 처리하기 위해서는 컴퓨터가 이해할 수 있수 있는 언어로 바꿔줘야 하는데 이를 자연어 처리 NLP 과정에서 임베딩(embedding)이라고 한다. 즉, 컴퓨터가 텍스트를 받아들여 이해하고, 이어질 단어를 예측하고, 단어의 정서를 파악할 수 있도록 단어나 문장을 크기와 방향을 가지는 벡터 형태로 표현해야 한다. 단어와 문서에 벡터 형태의 숫자를 부여하면 단어와 문서의 유사성 및 연관성 등 자연어 처리를 통한 다양한 분석이 가능하다. 우선 임베딩에 가장 기초적인 BOW와 DTM, TF-IDF를 살펴보자. 한글 Bag of Words Bag of Words(단어 가방) Bag of Words는 단어들을 모아 놓은 단어 가방으로 BOW라고 부른다. BOW는 문서나 문장에 등

[ Word2Vec ] 파이썬 python 자연어 처리 NLP( 임베딩 embedding, Word2Vec 로 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 자연어 처리 NLP Word2Vec 으로 임베딩 embedding 해 단어 간 유사성을 파악해 보자... [ 파이썬 python 자연어처리 NLP 임베딩 방식 Word2vec 이해하기 ] 자연어 처리의 핵심은 인간이 사용하는 자연어의 의미를 어떻게 하면 그 의미 그대로 컴퓨터가 이해할 수 있는 숫자로 바꿀 수 있는지에 대한 노력의 연속이다. 텍스트를 숫자로 바꾸는 작업을 임베딩(embedding)이라고 하고 그러다 보니 다양한 임베딩 방식이 존재한다. 우리는 이미 텍스트를 숫자로 바꾸는 노력으로 빈도(frequency)를 중심으로 한 BOW, DTM, TF-IDF를 살펴보았다. 하지만 이러한 방식은 문맥을 고려하지 않고 각각의 단어의 빈도수만 계산하기 때문에 자연어의 의미가 기계어로 정확하게 바뀌지가 않는다. 그래서 주변 단어의 출현 빈도까지 고려하는 임베딩 방법이 필요하다. 그러기 위해서는 단어 하나하나가 각각의 고유의 벡터 값을 가져야 한다. 단어 자체에

[ 데이터 추출 함수 ] 9. 파이썬 python 독학 기초( random, sample, choice, choices, shuffle 함수로 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 랜덤 random 함수로 난수를 생성시키고, shuffle 함수로 데이터를 섞고, sample 함수로 데이터를 랜덤하게 뽑아보자... [ 파이썬 python random, sample 등의 함수를 이용해 데이터 추출하기 ] random 모듈 무작위(random)로 뽑는다(sampling) 는 것은 통계적으로 절대적으로 중요한 작업이다. 전체 집합에서 일부인 표본(sample)을 뽑아서 전체를 대표하도록 하기 위해서는 샘플을 랜덤(random) 하게 무작위로 뽑는다는 것이 가정돼야만 한다. 랜덤하게 뽑기 위해서는 난수(랜덤 수)가 필요하다. 랜덤하게 뽑는다는 것은 난수(랜덤 수)를 생성해서 난수에 매칭되는 원소를 뽑기 것이기 때문이다. 파이썬(Python)에서 난수를 만들기 위해서는 random 모듈을 사용한다. random 모듈에는 랜덤과 관련된 함수들을 모두 모아 두고 있다. import random() random 메서드 random() 0~1 사이의 랜덤

[ 영어 키워드 시각화 ] 파이썬 python 텍스트 마이닝 영어 ( 워드 클라우드 wordcloud, 이미지 마스크 mask 사용으로 빅데이터 분석 마스터) [내부링크]

파이썬 python, word cloud를 이용해 단어의 크기로 핵심 내용을 파악하고, 이미지나 로고를 이용한 마스크 mask 워드 클라우드를 멋지게 만들어 보자... [ 파이썬 python을 이용해 워드클라우드 WordCloud 생성 ] 워드 클라우드(Word Cloud)는 가장 중요한 단어가 무엇인지 한눈에 파악할 수 있게 도와주는 텍스트 시각화 표현 도구이다. 단어의 크기 및 색상은 텍스트에서 단어 또는 용어의 상대적 중요성을 나타낸다. 특히 단어의 크기는 단어의 빈도를 의미하며, 많이 출현한 단어가 텍스트에서 중요한 내용에 부합한다고 가정한다. 워드 클라우드는 텍스트 데이터 중에서 특정 키워드가 얼마나 더 중요한지 효과적으로 보여주는 시각화 자료이기 때문에 사람들의 관심과 참여를 높이고 주요 주제에 대한 주의를 끌 수 있는 프레젠테이션에 매우 유용한다. 워드 클라우드를 생성하는 과정은 다음과 같다. 1. 분석할 텍스트 자료 수집 2. Word Cloud Library 설치 3

[ NLP 영어 토큰화 ] 파이썬 python 영어 자연어 처리 NLP ( 영어 토큰화 tokenization, nltk 로 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 영어 토큰화는 nltk, word_tokenize, RegexpTokenizer, keras, TextBlob 등의 토큰라이저를 사용해... [ 파이썬 python nltk, keras, TextBlob 등을 이용한 영어 토큰화 이해하기 ] 토큰화(tokenization)는 테스트를 의미 있는 단위로 분리하는 작업이다. 단어를 기준으로 할 경우 단어 토큰화(word tokenization), 문장을 기준으로 할 경우 문장 토큰화(sentence tokenization)라고 한다. 토큰화(tokenization) 종류 및 방법 단어 토큰화(Word Tokenization) <단어 토큰화(tokenization)> python의 split() 함수 이용 영어의 경우에는 단어 하나하나가 각각 의미를 지니고 있는 만큼 띄어쓰기(whitespace)가 일반적인 기준이 된다. 그래서 가장 기초적인 방법인 파이썬 split() 함수를 사용해 공백을 기준으로 단어들을 토큰화

[ NLP 한국어 토큰화 ] 파이썬 python 한국어 한글 자연어 처리 NLP ( 토큰화, colab에 KoNLPy Mecab을 설치 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 한국어인 한글 자연어(NLP) 처리를 위한 토큰화(tokenization)는 KoNLPy를 통해 할 수 있으며, Mecab의 성능이 가장 좋아... [ 파이썬 python 한국어 한글 자연어처리를 위한 KoNLPy Mecab으로 토큰화 이해하기 ] 한국어는 영어와는 달리 띄어쓰기로 토큰화하면 만족스러운 결과를 얻지 못한다. 특히 한국어는 띄어쓰기를 준수하지 않아도 의미가 전달되는 경우가 많아 띄어쓰기가 지켜지지 않을 가능성이 존재한다. 그 이유는 한국어가 교착어이기 때문이다. 교착어란 조사, 어미 등을 붙여서 말을 만드는 언어를 의미한다. 그래서 한국어 토큰화는 의미를 가진 가장 작은 말의 단위인 형태소(morpheme)를 이용한다. 형태소는 체언(명사, 대명사, 수사), 수식언(관형사, 부사), 감탄사 등 조사나 어미 없이 단어 자체를 사용할 수 있는 자립형태소와 접사, 어미, 조사, 어간처럼 다른 형태소와 결합해 사용하는 의존형태소가 있다. <형태소 예제>

파이썬 python 영어 자연어 처리 NLP ( 정제 cleaning 및 정규화 nomalization 로 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 영어 자연어(NLP)를 위해 정제(cleaning)와 정규화(nomalizatio) 방법을 습득해 오탈자 교정, 표제어 추출, 단수화와 복수화 등을 수행해 보자... 텍스를 분석하기 위해서는 단어나 문장을 기준으로 나누는 토큰화(tokenization) 작업을 해야 한다. 그리고 토큰화 작업 전과 후에 텍스트를 정확히 분석하려면 반드시 정제(cleaning)와 정규화(nomalization) 작업을 거쳐야 한다. 정제(cleaning)은 분석에 망해가 되는 특수 문자나 숫자 등을 제거하는 작업이고, 정규화(nomalization)은 같은 의미지만 다르게 표현된 단어들을 표준화시켜주는 작업이다. 1. 영어 정제(cleaning) 정규 표현식(normal expression) 사용 웹에서 텍스트를 크롤링 해 왔다면, HTML과 XML 태그, 이메일 주소 등에 포함된 특수 기호들을 제거하는 등 우선 정제(cleaing) 작업을 먼저 해줘야 한다. 이러한 작업은 토큰

파이썬 python 한국어 한글 자연어 처리 NLP (정제 cleaning 및 정규화 normalization 로 빅데이터 분석 마스터 ) [내부링크]

파이썬(python) 한글 자연어 처리(NLP)의 정확성을 위해서는 정제(불필요한 단어 제거 등)와 정규화(띄어쓰기, 오타 수정 등)가 철저히 이뤄져야... 1. 정체(cleaning) 한글 역시 영어와 마찬가지로 텍스트 분석을 하기 앞서 데이터 전처리 과정을 거쳐야 한다. 그 처음 단계가 정제(cleaning)이다. 정제는 HTML, XML 태그, 이메일 주소 등에 포함된 특수 기호들은 일반적으로 토큰화하기 전에 제거한다. 그래야 토큰화의 효율성과 정확성을 높일 수 있다. 일반적으로 정규 표현식으로 불필요한 단어를 제거하는데 한글은 영어와 달리 자음과 모음이 분리되어 있기 때문에 문법을 지정할 때 자음과 모음을 동시에 고려해야 한다. 불필요한 문자를 제거하고 수정하는 cleaning 정제 작업 정규 표현식 re 사용해 불필요한 문자 제거 한글도 re(Regular Expression) sub(Substitution) 함수를 이용하면 특수 문자나 불필요한 자음과 모음 등을 빠르고 깔

[ Selenium 실습 ] 파이썬 python, 셀레니움 Selenium 활용 네이버 뉴스와 댓글 한 번에 웹 클로닝 해 빅데이터 분석 마스터 [내부링크]

파이썬(python), 셀리니움(Selenium)을 이용해 마우스 스크롤, 클릭 등을 자동화해 구들 이미지를 모두 다운로드해 보자... [ 셀레니움 Selenium으로 구글 이미지 크롤링 하기 ] 구글 이미지 다운로드 과정 셀레리움(Selenium)은 웹 페이지를 자유자재로 사용 및 통제할 수 있는 도구이기 때문에 구글 이미지처럼 마우스를 스크롤 하는 등 자바스크립트에 의해 동적으로 변하는 웹페이지의 자료를 어럽지 않게 가져올 수 있다. 먼저 본격적인 크롤링에 앞서 구글 이미지 페이지가 어떻게 작동되는지부터 살펴볼 필요가 있다. 유튜브 등 대부분의 동적 페이지 비슷하게 작동하기 때문에 다른 동적 웹 페이지 클로링에도 쉽게 적용할 수 있을 것이다. 요즘 음악차트 1위를 달리고 있는 '뉴진스' 이미지를 구글에서 검색하면 다음과 같은 웹 페이지를 확인할 수 있다. 그런 후 마우스를 아래로 스크롤 할 때마다 새로운 사진들이 업로드된다. 가장 마지막까지 내리면 '결과더보기' 버튼이 나온다.

[ Selenium 실습 ] 파이썬 python, 셀레니움 Selenium 활용 네이버 뉴스와 댓글 한번에 웹 클로링해 빅데이터 분석 마스터 [내부링크]

파이썬(python), 셀리니움(Selenium)으로 뉴스 기사를 클릭해 뉴스 내용을 스크랩핑한 후 다시 댓글을 클릭해 댓글 정보를 가져오자... [ 셀레니움 Selenium을 이용해 네이버 뉴스와 댓글 크롤링 ] 네이버 뉴스 기사 및 댓글 크롤링 과정 셀레리움(Selenium)을 사용하면 웹 페이지를 통제할 수 있기 때문에 검색어로 뉴스를 검색한 후 뉴스 기사를 하나씩 클릭해 해당 기사 내용을 스크랩핑하고, 다시 댓글을 클릭해 댓글 정보를 가져올 수 있다. 네이버 뉴스 기사 및 댓글을 크롤링하기 위해서는 다음과 같은 과정을 수행한다. 먼저 키워드를 입력해 뉴스를 검색한다. 검색결과에서 '네이버뉴스'라고 태그된 기사만 우선 스크랩핑한다. 신문사 홈페이지로 연결된 기사들은 html 소스가 일관적이지 않아 크롤링이 불가능하다. 그래서 태그에 일관성을 가지고 있는 '네이버뉴스'만 클로링한다. '네이버뉴스'를 통해서 접속한 후 해당 기사 페이지에서 크롤링을 원하는 정보를 선택하고 우측 마우

[ 한글 키워드 시각화 ] 파이썬 python 텍스트 마이닝 한글 ( 워드 클라우드 WordCloud, squrify 트리맵으로 빅데이터 마스터) [내부링크]

파이썬(python), matplotlib을 이용해 라인 플롯, 바 차트 등 다양한 그래프와 텍스트를 이용한 워드 클라우드 등 데이터를 시각화해보자... [ 한글 키워드 분석 빈도 차트, squrify, 워드 클라우드 wordcloud로 시각화하기 ] 키워드(keyword) 분석 텍스트 시각화는 주로 텍스트에 있는 키워드(keyword)라는 핵심어를 가지고 수행한다. 키워드는 핵심어로 텍스트 자료의 중요한 내용을 압축적으로 제시하는 단어라고 할 수 있다. 키워드(핵심어) 분석은 불용어 제거와 어간 추출 및 형태소 분석 등의 자연어 처리를 시행한 후 형태소나 명사의 등장 빈도를 분석한다. 이는 텍스트 자료에 많이 나타나는 형태소나 명사가 해당 텍스트 주제를 나타낼 가능성이 높다는 가정에 기초하고 있다. 이러한 키워드 분석은 사후에 주제 선정, 유사도, 네트워크 등 다양한 분석방법에 활용된다. 키워드 분석과 이를 시각화하는 과정을 살펴보면, 먼저 텍스트 데이터를 수집하고, 수집된 텍스트

[ 텍스트 군집 분석 ] 파이썬 python 텍스트 마이닝 군집 분석 clustering ( scipy과 sklearn 활용 seaborn으로 시각화해 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 텍스트의 단어 간 거리를 계산해 가까운 단어들끼리 묶어 유사성(similarity)이 높은 단어를 계층적(hierachical), K-means로 군집화(clustering) 하자... [ 텍스트를 이용한 군집 분석 ] 텍스트 군집 분석 개요 군집 분석(cluster analysis)은 유사한(similar) 한 객체들끼리 그룹화하는 작업이다. 데이터프레임에서 말한다면 유사한 특성(columns)을 가지고 있는 행(row)을 묶는 과정이라고 할 수 있다. 참고로 유사한 칼럼(변수)끼리 그룹 짓는 것은 요인 분석(factor analysis)이라고 한다. 군집분석은 묶으려고 하는 속성(변수)이 매우 중요하다. 어떤 속성을 가지고 그룹화하는지에 따라 그룹의 수가 달라지기 때문이다. 아래의 그림에서도 모양 또는 색깔 등 그룹화하려는 속성에 따라 그 유사성(similarity)을 달라져 서로 다른 그룹을 형성한다. [ 군집분석 clustering analysis 개요

[ NLP 자연어처리 과정] 파이썬 python 자연어 처리 NLP ( 전반적인 과정을 알고 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 자연어 처리(NLP)는 토큰화(tokenization), 정규화(normalization), 정제(cleaning), 임베딩(embedding) 등 전처리 과정이 중요해... [ 파이썬 python 전반적인 자연어처리 NLP 과정 이해하기 ] 자연어(natural language)란 우리가 일상생활에서 사용하는 인간의 언어를 의미한다. 컴퓨터가 처리하는 언어는 기계어(machine language)이다. 자연어 처리(Natural Language Processing, NLP)는 컴퓨터가 인식할 수 있는 언어로 바꿔서 자연어를 분석해 대용량의 텍스트로부터 의미 있는 정보를 찾아내는 방법이다. 자연어 처리 과정을 살펴보면, 우선 분석에 필요한 텍스트가 있어야 한다. 이러한 텍스트 데이터 셋을 말뭉치(Corpus)라고 부르며, 문서의 집합 또는 텍스트 데이터 모음이라고 할 수 있다. 말뭉치가 생성되었으면, 텍스트 전처리(preprocessing) 과정을 거치게 된다

[ BeautifulSoup 기본 ] 파이썬 python BeautifulSoup 활용해 웹 크롤링 스크랩핑으로 빅데이터 분석 마스터 [내부링크]

파이썬(python), BeautifulSoup으로 html, xml 문서에서 필요한 정보를 빠르고 쉽게 가져오자... [ 웹 크롤링 BeautifulSoup의 기본적인 이해 ] BeautifulSoup의 개념 BetifulSoup은 파이썬(python)에서 html과 xml 파일에서 데이터나 자료를 뽑아오는 라이브러리로, BeautifulSoup을 이용해 HTML과 XML의 트리 구조를 탐색, 검색, 변경 가능하다. 이렇게 문서의 구조나 패턴, 순서를 추출해 탐색 가능하도록 가공하는 작업을 파싱(parsing)이라고 한다. 파싱 작업을 하는 도구가 파서(parser)이고, 파서(parser)는 HTML 문서 등에서 태그(tag) 등을 입력받은 구문을 해석할 수 있는 단위와 여러 부분으로 분할하는 역할을 한다. 요약하자면, BeutifulSoup은 파이썬에서 웹 문서를 탐색할 수 있도록 구조화시키는 파서(parser)의 역할을 한다고 할 수 있다. 그럼 BeatifulSoup을 이용

[Selenium 기초 ] 파이썬 python, 셀레니움 Selenium 코랩 colab 설치해 웹 크롤링으로 빅데이터 분석 마스터 하기 [내부링크]

파이썬(python). Selenium으로 웹 페이지를 조정 및 통제하고, 자바스크립트에 의해 변하는 동적 웹 페이지의 정보를 가져와 보자... [ 셀레니움 Selenium을 이용한 웹 크롤링 기초 ] Selenium 소개 셀레리움(Selenium)은 원래 웹 페이지를 테스트하기 위해 개발된 도구이다. 그러다 보니 웹을 자유자재로 사용 및 통제할 수 있다. 이러한 기능을 이용하면 웹 스크랩핑 또는 크롤링이 보다 쉬워진다. 이전 강의에서 소개한 BeautifulSoup 라이브러리를 가지고도 다양한 사이트 정보를 추출할 수 있다. 하지만 BeautifulSoup은 자바스크립트로 동적으로 생성된 정보를 가져오지 못하는 한계가 있다. 또한 웹 사이트에 마우스나 키보드를 입력하여 작동하는 경우에도 정보 추출이 불가능하다. 이러한 이유 때문에 Selenium을 사용해 웹 스크랩핑 또는 크롤링을 하게 된다. 즉 Selenium은 URL 주소로만 웹 페이지에 접근하는 것이 아니라 마우스나 키보드

[ BeautifulSoup 실습 ] 파이썬 python, requests, BeautifulSoup 활용해 네이버 영화 리뷰 웹 크롤링으로 빅데이터 분석 마스터 [내부링크]

파이썬(python), BeautifulSoup을 이용한 클로랑은 웹 스크래핑할 영역의 최소 단위를 확보한 후 그 안에서 하나씩 하나씩 가져와... [ 파이썬 BeautifulSoup을 이용한 네이버 영화 리뷰 크롤링 ] 파이썬(python)의 BeautifulSoup을 이용한 웹 페이지 크롤링은 다음과 같은 절차로 진행된다. 1) 웹 페이지(html)에 HTTP 요청( requests.get 모듈 사용) 2) 파싱( BeautifulSoup 모듈 사용): html 태그 및 정보를 가져와 새롭게 구조화 3) 웹 페이지에서 크롤링 할 정보 선택 4) 태그(Tag)를 탐색해 크롤링 할 부분을 담고 있는 최소 영역 선정 5) find_all, find, select를 이용해 필요한 정보만 선택해서 가져오기 6) 프로그램 일반화(네이버에서 제공하는 모든 영화정보에 적용 등) 네이버 영화 리뷰 크롤링에 필요한 모듈 호출 네이버 영화 리뷰 크롤링을 위해 네이버 영화 리뷰 페이지에 HTTP 요청

[ BeautifulSoup 실습 ] 파이썬 python, requests, BeautifulSoup 활용해 네이버 뉴스 웹 크롤링으로 빅데이터 분석 마스터 [내부링크]

파이썬(python), 네이버 뉴스 크롤링을 통해 링크를 클릭해서 들어간 후 크롤링을 반복하는 방법을 익히자. [ BeautifulSoup을 이용한 네이버 뉴스 크롤링 ] 파이썬(python)의 BeautifulSoup을 이용해 네이버 뉴스를 크로링하는 순서는 다음과 같다. 먼저 검색해 올 'keyword'를 결정하고, 페이지를 넘기는 패턴을 찾기 어렵다고 가정했을 때 페이지별 url을 다 가져온다. 그 다음 가져온 페이지별 url로 접속해 '네이버뉴스'의 태크가 붙은 url을 가져온다. 마지막으로 '네이버뉴스' 테크 url로 해당 뉴스에 접속해 원하는 콘텐츠를 크롤링한다. [ 네이버 뉴스 크롤링 순서 ] 네이버 뉴스 크롤링에 필요한 모듈 호출 네이버 뉴스를 크롤링 위해 네이버 뉴스 페이지에 HTTP 요청을 보낼 requests와 html 태그와 정보를 가져와 파싱(parsing)할 BeautifulSoup이 필요하다. 그리고 받은 자료를 데이터프래임(DaraFrame)으로 전환해야

파이썬 python 판다스 pandas 피벗테이블 pivot table 활용해 빅데이터 분석 마스터 [내부링크]

피벗테이블(pivot table)은 두 개 이상의 칼럼을 각각 행과 열로 지정하고 그에 맞는 데이터를 가져와 펼쳐 놓거나 집계 값을 구해...... 피벗테이블(pivot table)이란 데이터 칼럼 중에서 두 개 이상의 칼럼을 각각 행 인덱스와 열 인덱스로 사용하여 거기에 해당되는 데이터를 불러와 펼쳐놓거나 데이터의 집계 값을 구하는 표이다. 피벗테이블을 만들기 위한 pivot_table 함수를 사용한다. dataFrame.pivot_table(values, index , columns , fill_value =' ', aggfunc= 집계함수, margins=True/False, margins_name=' ') values : 각 그룹별로 결과 값을 확고하고자 하는 칼럼 이름 index : 행으로 들어갈 칼럼 이름 columns : 열로 들어갈 칼럼 이름 fill_value : NaN 값을 채울 값 지정, mean이 defalut aggfunc : 각 그룹 별로 값을 조회할 함수

파이썬 판다스 (pandas) 시계열자료 DatetimeIndex 생성과 처리 to_datetime, date_range, shift를 활용해 빅데이터 분석 마스터 하기 [내부링크]

판다스( pandas), 시계열 자료는 to_datetime 이나 date_range를 이용해 날짜나 시간을 생성하고(DatetimeIndex 자료) 이를 데이터프레임의 인덱스(index)로 활용... 판다스(pandas)에서 시계열 자료는 데이터프레임의 인덱스(index)가 날짜 혹인 시간인 것을 의미한다. 이러허나 시계열 자료를 작성하기 위해서는 DatetimeIndex 형태의 자료가 필요하다. DatetimeIndex는 pd.to_datetime() 함수와 pd.date_range() 함수를 활용해 생성할 수 있다. to_datetime() 함수는 특정 시점 날짜와 시간을 생성하는 함수이고, date_range()는 특정 기간 동안의 날짜를 자동으로 생성한다. import pandas as pd pd.to_datetme('다양한 형태의 날짜 입력') : 특정 날짜인 timestamp 생성 pd.date_range(start day, end day or pereid = 숫자) :

파이썬 python 판다스 pandas 범주화 Categorical, cut, qcut 로 교차분석 crosstab 을 실시해 빅데이터 분석 마스터 [내부링크]

판다스(pandas), 연속형 자료를 범주화 자료로 바꾸려면 cut() 함수를 이용해 한 번에 해결하고 교차분석 crosstab으로 범주형 변수 간 관계를 살펴보자... 본격적으로 데이터를 분석하기에 앞서 자료의 형태를 파악하는 것은 매우 중요하다. 개수(count)가 필요하거나, 평균(mean)과 표준편차(standard deviation)를 구하거나, 특히 통계 관련 분석 방법은 자료의 형태에 의해 결정되기 때문이다. 자료가 범주화되어 있다면 평균은 의미 없는 대표값이며 빈도(frequency)와 비중(percentage)이 분석에 필요하다. 범주형 자료는 성별, 지역, 종교 등을 수치로 표현한 자료를 의미한다. 예를 들어 성별은 '남'과 '여'가 있지만, 측정할 때는 남자를 1로 여자를 2로 코딩(coding) 해 마치 수치형 자료처럼 보이지만 숫자는 크기나 양의 의미가 아니라 분류의 의미만 갖는다. 이러한 범주화 자료는 분류와 지칭만 하는 명목형(nominal) 자료와 순서를

[ API NAVER ] 파이썬 python API 네이버 크롤링 crawling 웹문서, 블로그, 뉴스, 지식iN, 책, 영화, 쇼핑 데이터 추출로 빅데이터 분석 마스터 [내부링크]

네이버 정보, html을 이용해 복잡하게 웹 스크랩(crawling)을 하지 말고, API를 이용해 간편하게 가져오자... [ API 를 이용한 네이버 NAVER 크롤링 ] 네이버에서 제공하는 웹문서, 지식iN, 뉴스, 블로그, 책, 영화, 쇼핑 데이터는 API를 통해서 접근 가능하다. 따라서 API를 통해 해당 데이터를 받아오는 스크립트(코딩)를 하나 짜 놓으면, 필요할 때마다 가져다 파이썬으로 실행만 하면 원하는 데이터를 가져올 수 있다. 네이버 API를 설정하는 절차는 다음과 같다. [ 네이버 Naver API 크롤링 이용 절차 ] 1. 네이버(naver) 가입 네이버에서 제공하는 API를 사용하기 위해서 필수적으로 회원가입을 해야 한다. 네이버에서 우선 회원가입부터 하자. 네이버 네이버 메인에서 다양한 정보와 유용한 컨텐츠를 만나 보세요 www.naver.com 2. 네이버 개발자(Naver Devlopers)에서 API 신청 네이버 회원으로 가입했다면, 네이버 개발자 홈페이

파이썬 python 판다스 pandas로 결측값 None, NaN은 dropna로, 중복 값은 drop_duplicates 활용해 빅데이터 분석 마스터 [내부링크]

판다스(pandas)에서는 결측값을 'None' 또는 'NaN(np.nan)으로 인식해..... 결측치가 있으면 연산이 안되기 때문에 반드시 처리해야 1. 결측값(None, NaN) 처리 결측값(missing value) 및 결측치는 값이 있어야 할 곳에 값이 존재하지 않는 것을 의미한다. 결측값은 사칙연산이 안되기 때문에 분석에 오류를 발생시키거나 알고리즘 자체를 실행시키지 못하는 원인이 되기도 한다. 따라서 데이터를 수집했다면 우선적으로 결측값(missing value) 여부를 확인하고 이에 대한 조치가 필요하다. [ 판다스 결측값 missing values 입력값, None, NaN) Python pandas에서는 결측값을 'None' 또는 'NaN'으로 인식한다. 즉 값이 없다고 입력할 때 비워두는 것이 아니라 'None'을 입력해야 하고(ex: [1, 2, 3, None, 5]) 또는 numpy에서 결측값을 입력하는 np.nan을 이용한다(ex: [1, 2, 3, np.na

파이썬 python 판다스 pandas 데이터 파일 colab에 업로드, 읽기 read_, 저장 to_, 로컬 PC로 저장해 빅데이터 분석 마스터 [내부링크]

판다스(pandas), 데이터 파일 읽어오기는 read_파일형식, 저장은 to_파일형식으로.. 데이터프레임은 다량의 행가 열을 가지고 있는 것이 일반적이기 때문에 파일 형태로 저장되어 있다. 그래서 판다스(pandas)는 다양한 형태의 파일을 읽어올 수 있는 함수를 갖고 있다. 데이터 읽기 함수 설명 read_csv 파일, URL, 객체로부터 구분된 데이터 읽기(구분자:','): 파일확장자 csv read_table 파일, URL, 객체로부터 구분된 데이터 읽기(구분자:'\t'): 파일확장자 txt read_fwf 고정폭 칼럼 형식에서 데이터 읽기(구분자 없는 데이터) read_clipboard 클립보드에 있는 데이터 읽기. 웹페이지에 있는 표일 읽어올 때 유용 read_excel 엑셀파일에서 표형식 데이터 읽기: 파일 형식 xls, xlsx read_hdf Pandas에서 저장한 HDFS 파일의 데이터 읽기 read_html HTML 문서 내의 모든 테이블 데이터 읽기 read_j

파이썬 python 판다스 pandas 데이터프레임 집계 함수와 그룹바이 groupby, 쿼리 query 연산을 활용해 빅데이터 분석 마스터 [내부링크]

판다스(pandas)의 groupby 함수는 데이터프레임(DataFrame)을 그룹핑으로 분류하여 집계 연산(평균, 표준편차 등)을 구할 수 있어... 1. 집계(aggregatation) 함수 집계(aggregation) 함수는 행(row)들이 가지고 있는 하나의 값들을 그룹별로 합쳐 평균, 표준편차 등 단일 요약 값 및 대푯값을 형성하는 방법이다. 다음을 pandas에서 지원하는 주요 집계 함수들이다. 집계 함수 설명 count() 그룹별 개수 head(), tail() 데이터의 앞부분 일부 반환, 데이터의 뒷부분 일부 반환 describe() 주요 통계 요약 min(), max() 최솟값, 최댓값 cummin(), cummax() 누적 최솟값, 누적 최댓값 argmin(), argmax() 최솟값 색인(index) 위치, 최댓값 색인(index) 위치 idxmin(), idxmax() 최솟값 색인(index) 값, 최댓값 색인(index) 값 mean(), median() 평균

[ NLP 영어 자연어처리 전체 ] 파이썬 python 영어 자연어 처리 NLP ( 전체 과정 한 번에 끝내고 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 영어 자연어(NLP)는 re 모듈로 정제, nltk로 토큰화, stopwords로 불용어처리, Bag of words, DTM, TF-IDF 과정으로 처리돼.... [ 파이썬 python 영어 자연어처리 NLP 처음부터 끝까지 한번에 끝내기 ] 자연어(natural language)란 우리가 일상생활에서 사용하는 언어를 말한다. 자연어 처리(natural language processing)란 이러한 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 것을 의미한다. 영어와 한글 모두 전처리(정제, 정규화, 토큰화), 태깅, 후처리 과정을 거친 후 문서와 단어 간 빈도 매트릭스(DTM, TF-IDF)를 만들게 된다. 자연어 처리 과정 방법 파이썬 함수 정제(cleaning) 특수문자 등 제거 정규표현식 사용 띄어쓰기/오타 교정 re.sub 정규화(normalization) 대소문자 통합 lower(), upper() 표기 형식 일치 replace() 토큰

[ 코랩 colab ] 1. 파이썬 python 독학 기초( 구글 코랩 colab을 사용해 빅데이터 분석 마스터 ) [내부링크]

구글 코랩(Colab), 대부분의 패키지들이 이미 설치되어 있으며, PC, 태블릿, 모바일에 상관없이 인터넷 브라우저만 있으며 언제 어디서나 접속 사용 가능해... [ 코랩 Colab으로 파이썬 시작하기] Google Colab은 구글 클라우드 기반의 무료 개발 환경 서비스로 딥러닝 실행이 가능한 정도의 고사양 환경을 제공하고 있다. 특히 대부분의 패키지들이 이미 설치되어 있으며, PC, 태블릿, 모바일에 상관없이 인터넷 브라우저만 있으며 언제 어디서나 접속 가능하다. 또한 구글 드라이브, Git이나 Github와도 쉽게 연동할 수 있다. [ 코랩 colab: 클라우드 환경에서 파이썬 사용하기 ] 코랩(Colab)은 주피터 노트북(Jupyter Notebook) 환경을 포함해 목차나 Markdown과 같은 환경을 제공한다. 이러한 장점들이 있기 때문에 여기서는 파이썬을 Colab을 가지고 Jupyter Notebook 환경 수행하려고 한다. 유의할 점은 구글 개정이 필요하고 최대 세

[ NLP 한글 자연어처리 전체 ] 파이썬 python 한국어 한글 자연어 처리 NLP ( NLP 전체 과정을 한 번에 끝내고 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 한국어인 한글 자연어(NLP) 처리는 re 모듈로 정제, KoNLPy의 메캅(Mecab)으로 토큰화, stopwords로 불용어처리, Bag of words, DTM, TF-IDF 과정을 거쳐... [ 파이썬 python 한국어 한글 자연어처리 NLP 처음부터 끝까지 한번에 끝내기 ] 한국어인 한글의 자연어(natural language) 처리 역시 영어 자연어 처리와 같이 전처리(정제, 정규화, 토큰화), 태깅, 후처리 과정을 거친 후 문서와 단어 간 빈도 매트릭스(DTM, TF-IDF)를 만들게 된다. 2. 영어 자연어 처리(Natural Language Processing) 자연어(natural language)란 우리가 일상 생활에서 사용하는 언어를 말한다. 자연어 처리(natural language... blog.naver.com 자연어 처리 과정 방법 파이썬 함수 정제(cleaning) 특수문자 등 제거 정규 표현식 사용 띄어쓰기/오타 교정 re.s

파이썬 python 판다스 pandas로 concat, append, merge를 활용해 데이터를 병합하고 빅데이터 분석 마스터 [내부링크]

판다스(pandas)에서 여러 개의 데이터프레임을 병합할 때는 행(row)과 열(column) 병합은 concat(), 행(row) 병합은 append(), 열(column) 병합은 merge()를 사용 여러 개의 데이터프레임(dataframe)이나 시리즈(Series)를 결합하는 것이 병합이다. 데이터 분석을 할 때 서로 다른 데이터를 합치는 경우가 자주 발생하고, 합치고자 하는 데이터프레임 구조에 대한 이해가 매우 중요하다. 그래야 정확하게 원하는 데로 병합할 수가 있다. 병합에 가장 많이 사용되는 함수로는 물리적으로 그냥 붙이는 concat과 공통 키(key)를 이용해 병합하는 merge 방식이 있다. concat은 행(row)과 열(column)을 모두 병합할 수 있고, append는 행(row)만, merge는 열(column)만 병합 가능하다. 병합 방식 병합 형태 표현방식 옵션 pd.concat() 물리적 병합       DataFrame 병합 Series 병합 Data

파이썬 판다스 (pandas) 데이터프레임 연산 함수와 정렬 sort 및 순위 rank를 활용해 빅데이터 분석 마스터 하기 [내부링크]

데이터프레임(DataFame)의 연산은 NaN가 처리되는 과정을 먼저 알아야....... 데이터프레임에서 범용 연산 함수 파이썬 데이터에서 사용하는 범용 연산자를 데이터프레임에서도 그대로 사용할 수 있다. 하지만 데이터프레임의 경우 같은 index와 같은 column 명끼리만 연산을 하고, 한쪽에라도 데이터가 비어 있는 NaN이 있으면 계산이 불가능하기 때문에 아래 df3 처럼 NaN로 반환한다. df3에서 녹색 NaN은 두 데이터프래임 중 한 곳이라도 행(row)의 값이 없는 경우이고, 파란색 NaN은 컬럼(column) 값이 없는 경우이다. 그리고 빨간색 NaN은 두 데이터프레임 모두 데이터 값이 존재하지 않는 것을 의미하고 있다. 이럴경우 fill_value=0 이라는 인자를 사용하면 연산을 하기 전에 NaN 값을 0으로 대체하기 때문에 df4의 빨간색 숫자 처럼 가능해진다. 하지만 두 데이터프래임 모두 값이 없는 경우는 NaN의 반환한다. 이러한 규칙은 모든 연산에 적용된다.

파이썬 python 자연어 처리 NLP ( 정규 표현식 re 모듈과 split, join, enumerate, replace 로 텍스트를 처리하고 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 텍스트 분석을 하기 위해서는 먼저 불필요한 문자를 제거하거나 결합, 대체하는 등 텍스트 전처리가 반드시 선행돼야... 1. 간단한 함수를 이용한 텍스트 처리 텍스트 마이닝을 하기에 앞서 일단 간단한 텍스트 처리 방법(문자열 분해, 문자열 결합, 문자열 대체 등)들을 살펴보자. <텍스트 처리를 위한 함수> 예제로 이전 위키피디아(wikipedia)에서 크롤링해 온 '손흥민'에 관한 위키피디아 요약 내용을 사용한다. 2. 위키피디아(wikipedia) 크롤링 웹 문서를 크롤링(crawling)하는 방법으로는 크게 BeautifulSoup을 이용해 태그(tag)를 추출하고 테그에 ... blog.naver.com !pip install wikipedia-api # 1. wikipedia api 설치 import wikipediaapi # 2. wikipedia api 호출 wiki = wikipediaapi.Wikipedia('ko') page = wiki.page

[ 파일 입출력 ] 12. 파이썬 python 독학 기초(open, write, writelines, read, readlines 활용해 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 파일을 open() 함수로 열어서 write()나 writelines() 함수로 쓰고, close() 함수로 닫아야 해... close() 함수로 닫기 귀찮다면 with 문을 이용... [ 파이썬 python 파일을 열고 쓰고 저장하는 파일 입출력을 알아보기 ] 파일 입출력은 파이썬에서 파일을 생성 또는 열고, 읽거나 쓰고, 파일을 닫는 과정을 일련의 과정을 의미한다. [ 파일 입력과 출력 과정 ] 파일 생성 및 닫기 : open(), close() 우선 파일을 생성하거나 열 때 open( ) 함수를 사용한다. 이때 open은 옵션에 따라 새로운 파일을 만들기도 하고, 기존에 저장되어 있는 파일을 열어 읽는 기능을 한다. 이러한 기능은 파일 모드(mode)로 지정하고 r(읽기 모드), w(쓰기 모드, 생성), a(추가하기), t(텍스트, 디폴트)와 b(바이너리) 둘 중 하나를 결합해서 사용한다. 변수명 = open(파일명, 모드, 인코딩 약식) 변수명.clos

[ 클래스 class ] 10. 파이썬 python 독학 기초 (클래스 class와 매직 메서드 __init__ 등을 활용해 인스턴스를 만들어 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 클래스(class)라는 설계도 혹은 틀을 이용해 책을 계속해서 찍거나 게임 캐릭터를 지속적으로 생산해 보자... [ 파이썬 python 클래스 class 와 매직 메서드 magic method 이해하기 ] 클래스( class) 생성 클래스(class)를 사용하지 않아도 프로그램을 충분히 잘 만들 수 있기 때문에 꼭 필요한 필수적 요소는 아니다. 하지만 클래스를 잘 사용하면 보다 효율적으로 알고리즘을 구현할 수 있다. 클래스는 틀이나 설계도라고 생각하면 된다. 이 설계도나 틀에 의해서 만들어진 것들을 객체(object) 혹은 인스턴스(instance)라고 한다. 객체는 속성(attributes)과 기능(methods)을 갖는다. 다시 말해 클래스는 객체의 구성 요소를 담는 개념으로 객체를 정의하는 틀이나 설계도이다. 클래스의 문법은 다음과 같다. class 클래스명(개체명): [ 클래스 class 원리 및 이해 ] 만약 클래스를 사용하지 않는다면 얼마나 번거로운

파이썬 python 판다스 pandas로 Series와 DataFrame을 생성, 인덱싱 loc iloc, 행과 컬럼을 추가 insert 제거 drop으로 빅데이터 분석 마스터 [내부링크]

판다스(pandas), 시리즈(Series)와 데이터프레임(DataFrame)을 생성하고 처리해... 판다스(Pandas)는 파이썬(python)에서 행과 열로 이루어진 데이터를 보다 쉽게 만들고 처리할 수 있는 데이터 분석 라이브러리이다. 1차원 배열 구조([1,2,3,4,..])와 2차원 배열 구조(행*열)를 취급한다. 여기서 1차원 배열구조를 시리즈(Seires)라고 하고 행과 열로 이뤄진 2차원 구조를 데이터프레임(Data Frame)이라고 부른다. Pandas는 가장 일반적인 테이블 형태(엑셀 등)의 데이터를 처리할 때 유용한 도구이다. Pandas는 numpy 언어로 구성되어 있기 때문에 항상 같이 호출(import) 해야 프로그램이 원활하게 작동된다. import pandas as pd import numpy as np 1. 시리즈(Series) Series는 1차원 배열 자료로 리스트 형태를 갖지만 행번호를 인덱스로 갖는다. 그리고 Seires 원소들은 같은 종류(숫자

[ 조건문 if ] 5. 파이썬 python 독학 기초( if, elif, else 등 if 문을 활용해 조건문을 만들고 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), if 조건문은 모든 프로그램 언어에서 가장 빈도수가 높은 핵심 구문으로 만약(if) ~ 라면, 아니면(elif), 모두 아니면(else) 구문을 사용해... [ 파이썬 python 조건문 if, elif, else 완벽히 이해하기 ] if 의 단어 뜻은 "만약 ~라면"으로 파이썬에서도 그 의미가 그대로 사용된다. 아마 모든 프로그램에서 사용 빈도가 가장 높은 구문 중 하나라고 할 수 있다. "내가 시간되면 내가 가고(if), 네가 시간 되면(elif) 네가 가라. 아니면(둘 다 시간이 안되면, else) 둘 다 가지 말자" 이 문장을 if 문을 이용해서 나타내 보자. if 내가 시간 된다 : 내가 간다 elif 네가 시간 된다 : 네가 가라 else : 둘 다 안 간다 위의 예제처럼 파이썬에서 if 문은 if, elif, else 형태로 사용한다. if <조건> : <실행 명령문> elif <조건> : <실행 명령문> else : <실행 명령문> (예제) AI

[ 반복문 for, while ] 6. 파이썬 python 독학 기초( for while 문을 활용해 반복문을 만들어 빅데이터 분석 마스터) [내부링크]

파이썬(python), for 문은 반복하고자 하는 특정한 값이나 객체가 다 소요될 때까지, while 문은 몇 번인지는 모르지만 조건이 맞을 때까지 반복해... [ 파이썬 python 반복문 for, while 완벽히 이해하기 ] 같은 계산이나 명령을 계속해서 반복해야 할 때 for 나 while 을 이용해 반복문을 만들어 준다. 반복문을 사용하면 프로그램을 짜는 시간을 절약할 수 있고 계산 속도도 매우 빨라진다. for 문은 몇 번 실행해야 하는지 정해진 상황이거나, list 등과 같이 길이(length)가 정해져 있는 값을 이용할 때 사용한다. 반면 while 문은 몇 번 실행해야 할지 모르거나 사용자의 입력 또는 특정한 값이 나올 때까지 지속적으로 반복할 때 사용한다. 또한 while 문은 무한 루프를 만들기 위해서도 사용한다. [ 반복문 for 와 while의 차이 ] 간단히 정리하자만 for 문은 반복하고자 하는 특정한 값이나 객체가 다 소요될 때까지, while 문은 몇

[ 함수 function ] 8. 파이썬 python 독학 기초( 함수 def, lambda, map, filter, sorted 를 활용해 빅데이터 분석 마스터) [내부링크]

파이썬(python), 함수(function)를 이용(def) 해 나만의 프로그램을 만들어보자... [ 파이썬 python 함수를 def 로 정의하고 lambda 등 유용한 함수 알아보기 ] 함수 정의 및 사용: def 함수(function)란 특정 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합으로 정의할 수 있다. 수학적으로는 x와 y 사이에서 x의 값이 정해지면 거기에 따라 y의 값이 정해지는 관계를 가질 때 y는 x의 함수라고 부른다. 아래 그림에서 a라는 매개인자가 들어가면 정의된(def) 함수 f(x)에 의해서 f(a)가 반환(return) 된다. <파이썬으로 def 함수 만들기> 우리는 이미 len(), count(), print() 등 많은 함수(function)들을 사용해 보았다. 결국 함수는 프로그램을 미리 짜놓고 간단한 단어로 호출해 실행시키는 것이다. 여기서 말하는 함수는 나만의 프로그램을 만든다고 생각하면 된다. student_mean(A)

[ API 위키피디아 ] 파이썬 python API 위키피디아(wikipedia) 크롤링 crawling 으로 빅데이터 분석 마스터 [내부링크]

파이썬(python), 위키피디아(wikipedia)는 wikipedia-api를 install해 명령문 한줄로 크롤링하자... 파이썬(python)으로 웹 문서를 크롤링(crawling)하는 방법으로는 크게 BeautifulSoup을 이용해 태그(tag)를 추출하고 테그에 해당하는 텍스트나 표를 가져오는 방법과, API (Applacation Programming Interface)를 통해 직접 서버와 데이터베이스에 접속해 자료를 가져오는 방법이 있다. 물론 API를 통해 직접 데이터베이스에 접속하기 때문에 크롤링이 훨씬 쉽고 간편하다. API가 공개되어 있다면 당연히 API를 통해 크롤링을 수행해야 할 것이다. [ API 를 이용한 위키피디아 Wikipedia 웹 크롤링 ] 위키피디아(wikipedia)의 경우 APi를 제공하기 때문에 파이썬으로 쉽게 크롤링을 할 수 있다. 1. 위키피디아 api 설치 : !pip install wikipedia-api 2. 위키피디아 api 호

[ 자료 유형과 연산자] 2. 파이썬 python 독학 기초( 숫자, 문자, 불리언 자료와 리스트, 튜플, 집합, 딕셔너리 유형을 완벽 이해 후 빅데이터 분석 마스터 ) [내부링크]

파이썬(python) , 숫자형(int, float), 문자형(str), 불리언(bool)들이 모여 리스트(list), 튜플(tuple), 집합(set), 딕셔너리(dictionary) 형태의 자료를 구성해 [ 파이썬 자료 유형 Data Type과 연산자 Operators ] R, 파이썬 등 사용하는 프로그램에 따라 데이터 유형이나 부르는 이름이 다르다. R의 경우 스칼라(scalar), 벡터(vector), 행렬(matrix), 배열(array), 리스트(list), 데이터프레임(dataframe)으로 구분하지만(R 강의 데이터 유형 참조), 파이썬의 경우 하나의 값이 들어가는 스칼라(Scalar) 자료, 여러 값이 들어가는 컨테이너(Container) 또는 시퀀스(Sequence) 자료 형태로 크게 구분할 수 있다. 그리고 그 자료 형태에 맞춰서 들어가는 값의 유형에 따라 '문자', '숫자', '불린' 형 자료라고 한다. 단일 값(Scalar) 여려 값(Contaniner) 자료

[ 인덱싱과 슬라이싱 ] 3. 파이썬 python 독학 기초( 인덱싱 indexing과 슬라이싱 slicing을 활용해 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 인덱싱(indexing)과 슬라이싱(slicing)만으로도 데이터를 수정, 추가, 삭제 등 데이터 처리의 대부분이 가능해... [ 파이썬 python 인덱싱 indexing과 슬라이싱 slicing으로 원하는 데이터 찾기] 인덱싱(indexing) 인덱싱(indexing)이란 연속적인 객체(리스트, 튜플, 문자열)에 번호(순서)를 부여하는 것을 의미한다. 파이썬 자료에서 첫 번째 자리 인덱싱 값은 0이다. 또한 가장 마지막 값을 -1로 인덱싱하기도 한다. 다음 리스트 자료에 대해 인덱싱(자리 순서)을 해보면, 다음과 같다. data 자료에서 세 번째 객체를 불러오고 싶으면, data[2] 로 표시하고, 결과 값은 'c'가 출력된다. index 메서드 사용 index 라는 메서드를 이용해 인덱싱 값을 찾을 수도 있다. 그래서 보통 특정 문자를 찾을 때 index 메서드를 사용한다. python = "Python is not difficult" # python 이

[ 컨테이너 타입 데이터 ] 4. 파이썬 python 독학 기초( 리스트 list, 튜플 tuple, 집합 set, 딕셔너리 dictionary를 다루고 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 리스트(list), 튜플(tuple), 집합(set), 딕셔너리(dictionary) 4가지 자료 형태를 가지며, 리스트(list)와 딕셔너리(dictionary) 형태가 데이터 분석에 중심.... [ 파이썬 python 컨테이너 데이터 유형 완벽 이해하기 ] 파이썬에서 다루는 자료 형태와 유형은 4가지가 있다. 순서와 중복을 허용하는 값의 모임인 리스트(list), 리스트와 같은 역할을 하지만 수정을 불가능한 튜플(tuple), 순서와 중복을 허용하지 않는 값의 모임인 집합(set), 순서는 의미가 없지만 중복 값(value)을 키(key)로 구별하는 딕셔너리(dictionary)가 있다. [ 파이썬 python 컨테이너 container 데이터 유형 ] 리스트(list) 리스트(list) 생성 리스트는 순서를 가지는 객체의 집합으로 하나의 변수에 여러 값을 할당하는 자료형이다. 리스트는 [ ]를 이용해 리스트를 만든다. 숫자, 문자, 숫자&문자 모두 가능하

[ 표준 입출력 ] 7. 파이썬 python 독학 기초( 표준 입출력 input과 print를 활용해 빅데이터 분석 마스터 ) [내부링크]

파이썬(python), 표준 입력은 input()으로, 표준 출력은 print()로 해결해... [ 파이썬 python 표준입출력 input과 print 완벽히 이해하기 ] 표준 입력(Standard input) 표준 입력장치(키보드)로 표준 입력 함수(input())을 이용해 파이썬 프로그램에 임의의 값을 입력하면 표준 출력 함수(print())를 이용해 표준 출력장치(모니터)에 결과를 출력하게 된다. [ 파이썬 python 표준 입출력 과정] 표준 입력 함수: input() 파이썬에 값을 넣어주는 표준 입력 함수로는 input()이 있다. input() 함수는 콘솔 창을 통해서 사용자 입력을 받는 표준 입력 함수이다. input() 함수는 사용자가 입력한 것을 "문자열" 타입으로 반환한다. input() 함수를 사용하면 사용자가 입력할 수 있는 박스 창의 나오게 되고 그곳에 자료를 입력하면 된다. my_name = input("이름: ") print(my_name) -------