[Aiffel] 아이펠 42일차 개념 정리 및 회고

Gongsam·2022년 2월 25일
0

1. 웹크롤링

1) 사용한 패키지

  1. BeautifulSoup
  2. newspaper3k

2) BeautifulSoup

  1. 정적 웹을 크롤링 할 수 있는 패키지
from bs4 import BeautifulSoup

#- HTML 문서를 문자열 html로 저장합니다.
html = '''
<html> 
    <head> 
    </head> 
    <body> 
        <h1> 장바구니
            <p id='clothes' class='name' title='라운드티'> 라운드티
                <span class = 'number'> 25 </span> 
                <span class = 'price'> 29000 </span> 
                <span class = 'menu'> 의류</span> 
                <a href = 'http://www.naver.com'> 바로가기 </a> 
            </p> 
            <p id='watch' class='name' title='시계'> 시계
                <span class = 'number'> 28 </span>
                <span class = 'price'> 32000 </span> 
                <span class = 'menu'> 악세서리 </span> 
                <a href = 'http://www.facebook.com'> 바로가기 </a> 
            </p> 
        </h1> 
    </body> 
</html>
'''

#- BeautifulSoup 인스턴스를 생성
#- 두번째 매개변수는 분석할 분석기(parser)의 종류
soup = BeautifulSoup(html, 'html.parser')
  1. 사용 방법
  • soup.select('태그명')
  • 포함관계
    • `soup.select('태그명 > 태그명')
    • soup.select('태그명 .class #id)

3) newspaper3k

뉴스 데이터를 크롤링하기 위해 만들어진 패키지

4) 나이브 베이즈 분류기

  1. 베이즈 정리 증명

P(AB)=P(AB)P(B)P(A|B) = \frac{P(A∩B)}{P(B)}

P(AB)=P(AB)P(B)P(A∩B) = P(A|B)P(B)

P(BA)=P(BA)P(A)P(B∩A) = P(B|A)P(A)

P(BA)=P(BA)P(A)=P(AB)P(B)=P(AB)P(B∩A) = P(B|A)P(A) = P(A|B)P(B) = P(A∩B)

P(BA)P(A)=P(AB)P(B)P(B|A)P(A) = P(A|B)P(B)

P(BA)=P(AB)P(B)P(A)P(B|A) = \frac{P(A|B)P(B)}{P(A)}

5) TF-IDF

주어진 문서에서 단어별로 문서의 연관성을 알고싶을 때 사용
⇒ 각 단어가 문서에 대한 정보를 얼마나 가지고 있는가.
1. TF: 문서에 특정 단어가 몇 번 나왔는지

  • 여러 번 나온 만큼 연관성이 높을 거라는 가정에서 사용
  • 불용어와 나머지 단어의 중요도를 구별하지 못함
  1. IDF
  • 문서의 중요도와 상관없는 것을 제외하기 위한 방법

2. 회고

마지막 날이다! 앞으로는 Going Deeper를 진행한다. 중간에 그만둘까 생각을 한 적 있었는데 어찌저찌 하다보니 그래도 절반 가까이 오게 됐다. 잘할 수 있을까 싶을 때가 많았는데 그래도 페이스대로 나름 잘하고 있다고 생각한다. 프로그래머스 레벨 1도 끝낸 만큼 자료구조 알고리즘 책 하나를 완독하고 레벨 2도 찬찬히 풀어봐야겠다. 시간 정말 빠르다..

profile
🐬 파이썬 / 인공지능 / 머신러닝

0개의 댓글