본문 바로가기
반응형

전체 글87

[웹크롤링 with Python] 페이지에서 원하는 정보들 추출하기 / GlobalFirePower 사이트 정보 추출해보기 이번에는 지난 번에 알아본 정보들을 바탕으로 페이지 내에 있는 특정 정보들에 대해서 크롤링하고 데이터프레임으로 정리해보는 시간을 가져보도록 하겠습니다.  오늘 크롤링을 해 볼 사이트는  GlobalFirePower 입니다.해당 사이트는 2006년부터 매년 본인들의 기준으로 세계 각국의 군사력 지수를 산정하여 발표하는 사이트인데요 최근에는 군사력지수 뿐만 아니라 이를 계산할때 사용했던 제반적인 정보들까지 제공하기에 여러 유용한 정보들이 국가별로 잘 정리되어있다고 볼 수 있겠습니다.  이번에 크롤링 해볼 페이지는 아래와 같습니다. https://www.globalfirepower.com/countries-listing.php 2024 Military Strength RankingRanking the nati.. 2024. 6. 15.
[딥러닝 with Python] 이미지 분류(Image Classification) Computer Vision의 기본인 이미지 분류부터 다시 기본을 잡아가고자 합니다.  이번에는 이미지 분류(Image Classification)에 대해서 알아보겠습니다. 이번에 사용할 데이터는 Kaggle에 있는 Cats vs Dogs binary classifciation dataset 입니다. 이미지 전처리 및 간단한 신경망 구현을 코드와 함께 알아보겠습니다. 먼저 사용할 기본 라이브러리를 임포트 해줍니다.import osimport numpy as npimport kerasfrom keras import layersfrom tensorflow import data as tf_dataimport matplotlib.pyplot as plt 다음은 raw data를 다운로드 받아줍니다.!curl -.. 2024. 6. 14.
[웹크롤링 with Python] 동적크롤링 / 네이버뉴스 썸네일 다운로드 이번에는 간단한 동적 웹크롤링을 알아보도록 하겠습니다. 동적 웹크롤링을 하는 대상은 네이버 뉴스 기사의 썸네일(Thumbnail) 입니다.  먼저, 동적 크롤링을 위해 selenium내 필요한 라이브러리들을 불러와주고 크롬 드라이버를 활용해 naver의 주소에 들어가게 해줍니다.from selenium import webdriver #셀레니움 웹드라이버 제어 모듈from selenium.webdriver.common.by import By #HTML 인덱싱을 위한 클래스import time #시간 지연을 위한 모듈#크롬 드라이버 실행driver = webdriver.Chrome()#크롬 드라이버에 url 입력 및 페이지 이동driver.get('https://news.naver.com/')time.sl.. 2024. 6. 13.
[웹크롤링 with Python] CNN 뉴스 기사 제목 및 본문 크롤링 웹 크롤링을 통해 CNN 뉴스 기사를 크롤링하는 방법에 대해서 알아보겠습니다.  이번 예제는 단일적인 페이지의 제목(Title)과 본문(Article Text)을 크롤링하는 코드를 소개하고자 합니다. 연습을 위해 크롤링하고자하는 페이지는 아래와 같습니다.(CNN 검색을 했을때 가장 첫번째 보이는 아무 페이지나 선택했습니다)https://edition.cnn.com/2024/06/08/middleeast/four-israeli-hostages-freed-gaza-intl/index.html 제목은 다음과 같습니다. 본문 내용의 일부는 아래와 같습니다.    크롤링을 위해 requests 와 BeatufiulSoup를 활용하겠습니다.  requests는 웹페이지를 요청하기 위해 BeautifulSoup는 h.. 2024. 6. 12.
[머신러닝 with Python] 상점 신용카드 매출 예측 (DACON 문제) (2/2) [머신러닝 with Python] 상점 신용카드 매출 예측 (DACON 문제) (1/2)  지난번 포스팅에 이어지는 내용입니다. 이번에는 상점별 매출 특성을 분석해보겠습니다.  제공된 데이터에는 총 1,967개의 상점이 있으며, 시계열 그래프를 통해 데이터에 있는 상점들이 어떤 특성을 가지는지 파악해보겠습니다. 상점의 특징을 계절성이 있는 상점, 추세가 있는 상점, 휴업중인 상점  이렇게 3가지로 분류했습니다. 1) 계절성이 있는 상점 예측할 시기는 봄이고, 1학기, 상반기, 축제 등 다양한 계절성을 가지고 있습니다. 먼저 시각화를 통해 변환된 데이터를 출력해봅니다. # 상점 아이디가 257번인 데이터를 시리즈 객체로 데이터 출력store_257 = time_series(resampling_data, 2.. 2024. 6. 11.
[머신러닝 with Python] 상점 신용카드 매출 예측 (DACON 문제) (1/2) 이번에는 DACON에서 진행되었던 "상점 신용카드 매출 예측" 문제를 해결해가며, 머신러닝 기법을 익혀보도록 하겠습니다.  1. 문제 소개- 해당 대회는 2019년 7월 11일부터 10월 21일까지 이어진 대회입니다. - 해당 대회는 2016년 6월 1일부터 2019년 2월 28일까지의 카드 거래 데이터를 이용해 2019년 3월 1일부터 5월 31일까지의 각 상점별 3개월의 총 매출을 예측하는 문제입니다. * 이때 중요한 것은 3,4,5월이라는 것이며, 새 학기, 새 출발을 의미하는 월들이기에 여러 변수가 발생하고 황사 등 봄철 날씨의 영향을 받을 수 있으며, 가정의 달인 5월이 포함되어 있다는 것도 중요한 변수입니다.  - 문제 유형은 시계열 회귀분석이며, 평가 척도는 MAE(Mean Absolute .. 2024. 6. 10.
[딥러닝 with Python] 노멀라이징 플로(Normalizing Flow) [본 포스팅은 "만들면서 배우는 생성 AI 2판" 을 참조했습니다] 이번에 알아볼 모형은 노멀라이징 플로(Normalizing Flow) 입니다.   노멀라이징 플로는 기존에 알아본 변이형 오토인코더(VAE)와 유사합니다. 변이형 오토 인코더에서는 인코더를 학습하여 복잡한 분포와 샘플링이 가능한 훨씬 간단한 분포 사이를 매핑하지였고, 그런 다음 디코더를 학습하여 단순한 분포에서 복잡한 분포로 매핑하는 과정을 거쳤습니다.  따라서 단순한 분포에서 포인트 z를 샘플링하여 학습된 변환을 적용하면 새로운 데이터 포인트를 생성할 수 있었습니다.   이 과정을 확률적으로 표현해보자면   디코더 : p(xㅣz)      인코더 : q(zㅣx)     (디코더의 분포인 p()의 근사치인 q를 활용함) 과 같습니다. 즉.. 2024. 6. 9.
[개념 정리] 생성 모델에서 가우시안 분포가 사용되는 이유 생성 모델은 데이터를 학습하고 새로운 데이터를 생성하는 능력을 갖춘 기계 학습 모델입니다. 이 모델들은 종종 복잡한 데이터 분포를 단순한 분포로 변환하거나 반대로 단순한 분포에서 복잡한 데이터를 생성하는 과정에서 가우시안 분포(Gaussian Distribution)를 활용합니다. 그 이유는 무엇일까요?  이번 포스팅에서는 생성 모델의 주요 유형인 Variational Autoencoder(VAE), Normalizing Flow, Diffusion Models에서 가우시안 분포가 왜 중요한지에 대해 자세히 살펴보겠습니다.  [가우시안 분포 : 연속 확률 분포의 한 종류로 다음과 같은 확률 밀도 함수를 가지며, 평균과 분산을 통해 해당 데이터의 분포를 표현가능가우시안 분포의 특징 * 대칭성 : 분포는 평.. 2024. 6. 8.
반응형