- Projects Automation System for Crawling Information from Sustainalytics 1. Imports import pandas as pd import numpy as np import re import requests import bs4 from bs4 import BeautifulSoup from selenium import webdriver from selenium.common.exceptions import * from selenium.webdriver.common.keys import Keys import time data = pd.read_excel(r'C:\dataset\crawling_url_total_.xlsx') data company main_url sub_url 0 Novo Nordisk A/S https://www.novonordisk.com/ https://ww..
- Projects WebPage Content Crawling & Preprocessing Imports import pandas as pd import numpy as np import re import requests import bs4 from bs4 import BeautifulSoup from selenium import webdriver from selenium.common.exceptions import * from selenium.webdriver.common.keys import Keys import time 1. Data Load data = pd.read_csv(r'C:\dataset\URLS_1_75.csv') del data['Unnamed: 0'] data ETF Company base_url main_url ESG_related 0 EDEN Novo Nordisk h..
- Projects 기업의 ESG 요소와 수익률 간의 상관관계 분석(2) - Clustering Analysis Data Load from google.colab import drive drive.mount('/gdrive') Mounted at /gdrive import pandas as pd import numpy as np from sklearn.metrics import silhouette_score as sil from sklearn.cluster import KMeans import seaborn as sns from sklearn.manifold import TSNE import matplotlib.pyplot as plt Unnamed: 0 company code esg e s g AV ret sector sector_class AV_log ret_group sector_num sector_count..
- Projects 기업의 ESG 요소와 수익률 간의 상관관계 분석(1) - Data Prep & Exploration Data Preparation !pip install yfinance from google.colab import drive drive.mount('/gdrive') 먼저, 한국기업지배구조원에서 공개한 각 기업들의 ESG의 평가등급과 각 기업들의 수익률, 시가총액, 산업군을 column으로 한 데이터를 불러온다. ESG의 평가등급이 기업의 규모에 따라 상이할 수 있다는 가능성을 배제하지 못하기 때문에 독립변수로 로그화된 시가총액을 고려할 예정이다. 또한, ESG와 무관하게 특정 섹터의 수익률이 다른 산업군에 비해 상대적으로 높거나 낮을 수 있으므로 섹터의 영향 유무에 대한 분석을 함께 실시하고자 한다. 기업의 수는 약 560개이며, Data Preparation & Exploration 단계에서 변수들의..
- Notes CRISP-DM 공공자전거 데이터 분석 CRISP-DM Cross-industry standard process for data mining CRISP-DM이란, 데이터로부터 의미를 도출해내는 일반적인 접근법이자 표준 절차다. 분야/산업군을 막론하고 가장 널리 사용되고 있는 분석 모델이라고 볼 수 있다. 해당 모델에서는, 데이터 마이닝 프로세스를 총 6가지 단계로 나누어 분석한다. 1) Business Understanding:대상분야 이해단계 (비즈니스 로직 이해, 도메인 이해) 2) Data Understanding: 데이터 이해단계 (가용 데이터 품질, 형태, 정보 등 확인) 3) Data Exploration: 데이터 탐색단계 (그래프 그리는 단계) 4) Data Preparation: 데이터 준비단계, 학습(데이터에 들어 있는 패턴을..
- Notes Web_Crawler(3)_HTML HTML Crawling 해당 포스팅은 kgitbank의 웹크롤링 수업에 대한 내용을 일부 발췌하여 정리한 내용이다. 지난 Web Crawler(1), (2) 포스팅에서 JSON과 XML 형식 파일을 크롤링하는 방법에 대해 다루었다. HTML은 XML과 어떻게 다를까? XML은 태그 이름이 태그 안 정보의 제목 역할을 할 수 있다. HTML의 경우 태그 이름이 태그 안에 있는 정보와 관련이 없다는 특징이 있다. 이를 "HTML 태그"라고 부르며, 내용적 의미보다는 디자인/기능적 의미를 지닌다. 따라서, 태그 이름이 같은 여러 개의 정보 중에서 내가 관심 있는 것을 가져올 수 있어야 한다. Best Seller 50 오늘 사용할 URL은 알라딘 중고서점 사이트이다. 먼저, 베스트셀러 책 50권에 대한 정보..
- Notes 금융데이터 다루기 - 패키지 설치와 Plotting 금융데이터 다루기 금융데이터를 불러오기 위해 필요한 Library 설치 yahoo 에서 제공하는 금융 데이터를 활용할 것이다. yfinance 를 설치한 후 yf라는 이름으로 불러온다. 명칭 yahoo finance 사이트에 접속하여 (https://finance.yahoo.com/) 회사 이름을 검색하면 종목에 어떤 명칭을 사용해야 할 지 알 수 있다. 아래 예시로부터, tesla 의 경우 TSLA라는 명칭을 사용하고 있음을 알 수 있다. !pip install yfinance import yfinance as yf Collecting yfinance Downloading https://files.pythonhosted.org/packages/7a/e8/b9d7104d3a4bf39924799067592..
- Notes Web Crawler(2) - XML 뉴스 정보 가져오기 해당 포스팅은 kgitbank의 웹크롤링 수업에 대한 내용을 일부 발췌하여 정리한 내용이다. 지난 Web Crawler(1) 포스팅에서는 웹 크롤링의 종류에 대해 설명하고, JSON 파일을 불러오는 방법에 대해 다루었다. JSON 파일은 Dictionary 형식으로 구성되어 있어 url을 request 모듈로 받은 후, 원하는 정보가 들어 있는 Key 값을 직접적으로 지정하여 접근할 수 있었다. 한편, XML 파일을 불러오는 경우, 파일을 Dictionary 형식으로 변환해 주는 모듈을 추가적으로 사용해야 한다. 그 중 xmltodict와 BeautifulSoup 모듈을 사용하여 최신 뉴스 정보를 불러오는 방법에 대해 알아볼 것이다. I. XML - Using Dictionary 우선 url을 불러오기 ..
- Projects 국가 및 연도 별 총생산량(GDP)과 1인당 GDP에 대한 비교분석(2) - 시각화와 결과 지난 번 국가 별 GDP 분석 포스팅에서는 데이터를 전처리하고(PigStorage) 시각화(Python Matplotlib)하는 과정에 대한 구현 코드를 소개하였다. 오늘은 해당 구현 코드를 실행하였을 때 얻을 수 있는 그래프와 시각화 결과에 대한 의미론적 해석을 중점으로 다룰 것이다. V. 데이터 분석 결과 - 국가별 2009년과 2019년의 1인당 GDP 1) 데이터 가시화 그래프 파란색 원 2019년의 1인당 GDP가 2009년과 비교하였을 때 상승하였음을 의미한다. 분홍색 원 2019년의 1인당 GDP가 2009년과 비교하였을 때 하락하였음을 의미한다. 원의 크기 원의 크기는 2009년과 2019년의 1인당 GDP 차이의 크기를 상징한다. 즉, 증가폭 및 감소폭을 나타낸다. 가시화된 결과를 통해 ..
- Notes R 프로그래밍(3) - Factor & DataFrame 04 Factor 팩터 1. 문자열 표현 방식 ‘The ‘R’ project’ >> Error “The “R” project” >> Error “The ‘R’ project” >> [1] “The ‘R’ project” ‘The “R” project’ >> [1] “The \’R\’ project” a [1] “The ‘R’ project” [1] “The \”R\” project” print(a) >> [1] “The ‘R’ project” cat(a, ‘\n’) >> [1] The ‘R’ project cat(b, ‘\n’) >> [1] The “R” project 2. 이스케이프 Escape 문자 a > "a'b\"c\td\ne" *** ‘ 앞의 \ 만 생략됨 print(a) >> "a'b\"c\t..
- Notes R 프로그래밍(1) - 코퍼스 언어학이란? 지난 학기에 수강했던 "코퍼스 언어학"의 내용을 여러 포스팅에 걸쳐 요약 정리할 것이다. * 홍정하 교수님의 코퍼스 언어학 수업자료를 참고하였다. 00 Prologue 코퍼스 언어학 1. 코퍼스 언어학 ( = 텍스트 마이닝) 계량/통계적 분석을 통해 코퍼스 및 텍스트로부터 인간의 직관으로 발견하기 어려운 유의미한 정보를 도출하는 것이 목적임, 인간의 언어, 경험, 마음, 지식을 탐색하는 것 2. 빅데이터와 R · 빅데이터의 특성 정리되지 않은 데이터이므로 가공이 필요함 대규모 데이터이므로 통계 분석이 필요함 · Data Science / Data Mining 숨겨져 있는 유의미한 새로운 정보를 추출하여 전달하는 학문 데이터 수집, 가공, 분석, 전달, 시각화 전산학 + 통계학 + 정보이용 학문분야 … (..
- Projects COVID19 - Consumption Pattern Change in Itaewon 0. COVID19 - Consumption Pattern Change in Itaewon * There was an administrative order after a large scale of infection of COVID19 that started from a club located in Itaewon. * The order was about the refrain from operating entertainment facilities (clubs, entertainment bars, etc.) * Effective period: 2020.05.08 ~ 2020.06.07 (1 month, can be extended) 1. Data Preprocessing * First of all, I col..
- Notes Web Crawler(1) - JSON Web Crawler What is a Web Crawler? It is an Internet bot that systematically browses the World Wide Web, typically for the purpose of Web indexing (web spidering). It copies pages for processing by a search engine, which indexes the downloaded pages so that users can search more efficiently. There are three types of Crawling JSON - requests uses dictionary XML - requests uses dictionary & Beauti..
- Projects 국가 및 연도 별 총생산량(GDP)과 1인당 GDP에 대한 비교분석(1) I. 데이터분석 목적 1) 목적 연도별 각 국가의 GDP 및 1인당 GDP 데이터를 통해, 크게 아래의 세 가지를 주제로 비교분석할 것이다. * 특정 시점의 1인당 GDP에 대한 국가 간 횡단면 비교 * 한 국가의 성장을 나타내는 1인당 GDP의 시계열 분석 * 총생산량과 1인당 GDP 규모 간의 연관성 유무 분석 2) 얻고자 하는 Value * 1970년과 2019년의 국가 별 1인당 GDP 차이, 성장 수준 비교 * 각 대륙 별 대표 국가의 1인당 GDP 변화 비교 * 각 대륙 별 대표 국가의 총생산량 변화 비교 총생산량이 높은 국가가 1인당 GDP도 높을까? 1인당 GDP가 높은 대륙/국가? 총생산량이 높은 대륙/국가? II. 입력 데이터 한국은행에서 제공하는 경제통계 시스템을 활용하여 각 나라의 ..
- Projects 팝 명곡 가사 텍스트 분석(3) - 키워드 & 탐색적 분석 D. 키워드 분석 1. 입력 코드 앞선 분석에서 살펴보았듯이, 팝 가수들의 명곡 속 가사에는 공통적으로 사랑에 대한 이야기가 많이 나타났다. 비슷한 장르적 특성을 지녔기 때문에 공통점에 대해 더욱 자세히 살펴볼 수 있었다. 남성과 여성 가수의 가사에 나타난 특징을 비교분석 하기 위해서는 TDM의 카이스퀘어 잔차를 산출하는 방법이 적절하다고 판단하였다. 따라서 키워드 분석에서는 여러 가수들의 가사들을 성별로 구분하여 분석하였다. 아래 코드는 strisplit를 사용하여 가수들의 이름을 조건문으로 구분한 후 성별로 각각 다른 벡터에 저장하는 과정을 나타낸다. 아래의 코드 그림은 여성 가수와 남성 가수의 가사들에 대한 텍스트를 TDM으로 만들어 가공한 과정을 보여준다. 여성 가수에 대한 데이터와 남성 가수에 ..
- Projects 팝 명곡 가사 텍스트 분석(2) - Ngram + 연어분석 지난 번 빈도분석에 이어 이번 포스팅에서는 Ngram 분석과 연어분석에 대한 소개를 할 것이다. B. N-gram 분석 1. 입력 코드 N-gram 분석에서는 Bruno Mars의 텍스트파일을 대표로 분석해 보고자 하였다. BRUNO_NGRAM이라는 변수에 해당 파일을 저장하여 bi-gram으로 변환한 후 빈도 수와 함께 bi.Freq이라는 table에 출력되게 하였다. 해당 빈도 수를 wordcloud 상에서도 확인해 보았다. 또한, write.table 를 이용하여 bi.gram으로 메모장에 나타냈다. 해당 과정은 위의 입력 코드와 같이 입력하였다. 위 그림은 같은 파일에 대해 tri-gram으로 나타내기 위해 작성한 코드이다. Bi-gram과 같은 방식으로 wordcloud을 생성하였으며 메모장에 ..
- Projects 팝 명곡 가사 텍스트 분석(1) - 서론 + 빈도분석 지난 학기, "코퍼스언어학"이라는 과목에서 R 프로그래밍을 활용한 텍스트 분석으로 진행한 프로젝트를 소개해 보고자 한다. 이번 포스팅에서는 조사동기를 포함한 서론에 이어 첫 번째 분석 기법인 "빈도분석"에 대해 소개할 것이다. I. 서론 A. 주제 및 조사동기 세계적인 팝 가수들의 명곡에 사용된 가사를 텍스트 데이터로 설정하여 이를 분석해 보고자 한다. 대표 곡들의 가사를 살펴봄으로써 가수 별로 텍스트에 어떠한 특성이 담겨 있는 지 알아볼 수 있을 것이다. 세계적으로 큰 인기를 끌었던 팝 가수들은 그들의 명성만큼이나 전 세계의 팬들에게 많은 영향력을 끼쳐왔다. 그들의 음악이 큰 인기를 끌었던 중대한 요인 중 하나는 대표 곡들에 포함된 진정성 있는 가사라고 생각한다. 곡의 가사는 가수 본인의 정체성을 보여..