728x90

AI/K-Digital Training 36

015. K-Digital Training 7-8월 월간 리뷰

지난 7월 19일에 K-Digital Training AI기반 Data Scientist 양성 과정을 시작한 이후로 한 달이 지났습니다! 데이터 사이언티스트로 직무 변경하고자 시작한 과정이라 꽤 큰 다짐을 하고 지원했던 기억이 납니다. 이 과정에 지원하기 전까지 인공지능이나 데이터 사이언티스트와 관련된 경력이나 지식이 없어서 걱정이 많았습니다. 아마 이런 점 때문에 면접 과정에서 탈락한 것 같습니다..ㅠ 운이 좋게도 추가 합격으로 좋은 기회를 얻었으니 더 굳은 마음으로 과정에 참여했습니다.. 지금까지(2021년 8월 18일) 배운 내용은 파이썬, 넘파이, 판다스, 데이터 크롤링, 탐색적 데이터 분석입니다. 파이썬까지는 이미 배웠던 내용이라 익숙했었는데 그 외의 모든 것들은 생소하게 느껴졌습니다. 왜 사람..

014. EDA프로젝트 Insatacart 고객 데이터 분석하기

서론 Instacart Market Basket Analysis는 기업측에서 제공한 고객의 실제 구매 데이터를 이용한 프로젝트가 가능하기 때문에 이 프로젝트를 진행하게 됐습니다. 무엇보다 Instacart는 올해 하반기 미국 주식시장 상장을 앞두고 있기 때문에 더 이 프로젝트에 눈이 갔습니다. 이 프로젝트의 목적은 Instacart 측에서 제공한 데이터를 바탕으로 고객들의 물품 재구매를 예측하는 것입니다. 재구매 예측을 위해서는 EDA를 통해 재구매와 상관관계가 있는 데이터를 구하는 과정이 선행되어야 합니다. 이번 프로젝트는 재구매와 상관관계가 있는 데이터를 탐색하는 과정이라고 보면 됩니다. 우선 탐색적 데이터 분석을 위해 세가지 단계를 따라가려고 합니다. 데이터셋 확인 데이터셋에서 얻을 수 있는 정보 ..

013. 데이터 베이스 개념 요약 2

테이블은 관계형 데이터베이스에서 데이터를 관리 및 저장하는 장소다. 데이터의효율적인 관리 및 적절한 조작이 매우 중요하고 현실 세계를 반영하는 형식으로 존재한다. 테이블은 집합을 나누는 방법에 따라 한 개 혹은 여러 개의 테이블이 될 수 있다. 기본키는 특정 해을 유일하게 식별할 수 있는 속성의 집합이므로 중복되면 안 된다. 정규형은 제대로 된 형태를 갖춘 테이블이다. 테이블을 쪼갤대로 쪼개는 게 정규형이라고도 부른다. 제1정규형 위반은 하나의 셀에 여러 개의 값을 포함하는 것이다. 보통 테이블에서 하나 추가하여 제1정규형 만족하게 한다. 제2정규형 위반은 부분함수 종속성을 하용하지 않아 열의 일부에 함수 종속이 일어나는 것이다. 전체 열이 기본키만으로 함수 종속을 가지게 테이블을 나누면 해소된다. 제3..

012. 데이터베이스 개념 요약1

데이터베이스는 현실 세계를 컴퓨터 시스템에 저장한 데이터 모음이다. 컴퓨터 과학이 발전하면서 점점 대용량의 데이터를 조회 사용하는 기술이 필요해졌다. 지금은 모든 것이 데이터 베이스로 관리된다. DBMS는 실시간으로 데이터에 접근하고 사용할 수 있게 하는 소프트웨어고 오라클이 대표적이다. 데이터 베이스 시스템의 특징은 실시간 접근성, 계속적인 변화, ‘동시 공유’, 내용에 따른 참조가 있다. 데이터 베이스의 기본 기능은 조회, 갱신, 장애 대응, 보안 기능이 있고 갱신은 삽입, 삭제, 수정 기능이 있다. 동시성 제어가 되지 않으면 서비스에 큰 혼란이 초래되기 때문에 비즈니스 성패를 좌우할 정도로 중요하다. 장애 대응 기능은 데이터 손실에 대비한 기능이다. 보안 기능은 사용자에게 보여줄 데이터만 보여주는 ..

011. 네이버 증권에서 내 주식 뉴스 데이터크롤링

네이버 증권에서 뉴스 크롤링¶ In [84]: stock_cd = '263750' page_n = '1' news_url = f"https://finance.naver.com/item/news_news.nhn?code={stock_cd}&page={page_n}&sm=title_entity_id.basic&clusterId=" source = urlopen(news_url).read() In [85]: src = bs4.BeautifulSoup(source, 'lxml') In [86]: td = src.find_all('td') td Out[86]: [ 펄어비스, 신작 ‘붉은사막’ 출시 연기 소식에 4% 넘게 하락 , 조선비즈, 2021.07.3..

010. 네이버 증권에서 달러 환율과 내 주식 데이터 크롤링

금 시세와 달러 환율 데이터 크롤링¶ 둘 사이의 종가 및 등락율을 분석해서 둘 사이의 상관관계를 알아보는 EDA를 가정합니다. In [1]: from urllib.request import urlopen import requests import bs4 import pandas as pd [5]: source = bs4.BeautifulSoup(src, 'lxml') source Out[5]: In [11]: import datetime as dt In [12]: date = source.find_all('td', class_="date")[0].text.replace('\t','').replace('\n','') yyyy, mm, dd = [int(x) for x in date.split('.')] yy..

009. 네이버 금융에서 원자재 시세 데이터 크롤링하기

금 시세와 달러 환율 데이터 크롤링¶ 둘 사이의 종가 및 등락율을 분석해서 둘 사이의 상관관계를 알아보는 EDA를 가정합니다. In [4]: from urllib.request import urlopen import requests import bs4 import pandas as pd 국제 금 시세 데이터 크롤링¶ In [3]: # https://finance.naver.com/marketindex/worldDailyQuote.nhn?marketindexCd=CMDT_GC&fdtc=2&page=1 index_cd = "CMDT_GC" page_n = 1 naver_index = f"https://finance.naver.com/marketindex/worldDailyQuote.nhn?marketinde..

008. json 활용한 뉴스 본문 및 댓글 크롤링

다음 뉴스에서 본문, 댓글 크롤링하기¶ In [9]: import requests from bs4 import BeautifulSoup import json In [2]: def get_daum_news_title(new_id): url = 'https://news.v.daum.net/v/{}'.format(new_id) resp = requests.get(url) soup = BeautifulSoup(resp.text) title_tag = soup.select_one('h3.tit_view') if title_tag: return title_tag.get_text() return "" In [3]: get_daum_news_title(20210730101735040) Ou..

007. 로그인 후 웹크롤링 및 셀레니움 활용 웹크롤링

웹크롤링을 위한 로그인하기 학습¶ In [1]: import requests import json from bs4 import BeautifulSoup 다음 뉴스의 댓글 개수 크롤링하기¶ 댓글 개수를 불러오는 XHR header 불러오기 json으로 변환해서 댓글 개수에 해당하는 value 불러오기 In [2]: url = 'https://comment.daum.net/apis/v1/ui/single/main/@20210729173132818' headers = { 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb3J1bV9rZXkiOiJuZXdzIiwiZ3JhbnRfdHlwZSI6ImFsZXhfY3JlZGVudGlhbHMiLCJzY..

006. BeautifulSoup으로 웹크롤링 학습2

Beautifulsoup으로 웹페이지 크롤링¶ In [3]: from bs4 import BeautifulSoup import requests 웹페이지에서 html data 가져오기¶ requests.get() soup 개체로 만들기 In [9]: url = "https://sports.news.naver.com/news?oid=108&aid=0002976247" resp = requests.get(url) resp.text soup = BeautifulSoup(resp.text) 기사 제목 텍스트 가져오기¶ In [11]: title = soup.find('h4', class_='title') title.get_text() Out[11]: "'방출 통보' 토트..

728x90
반응형