Recent Posts
Link
250x250
오늘보다 더 나은 내일의 나에게_
비전공자의 IoT 국비 교육 수강일지 Day_83 본문
728x90
머신러닝
일반화, 과대적합, 과소적합
일반화(Generalization)
- 훈련세트로 학습한 모델이 테스트 세트에 대해 정확히 예측 하도록 하는 것
과대적합(Overfitting)
- 훈련 세트에 너무 맞추어져 있어 테스트 세트의 성능 저하
과소적합(Underfitting)
- 훈련 세트를 충분히 반영하지 못해 훈련 세트, 테스트 세트에서 모두 성능이 저하
일반화 성능이 최대화 되는 모델을 찾는 것이 목표
과대적합
- 너무 상세하고 복잡한 모델링을 하여 훈련데이터에만 과도하게 정확히 동작하는 모델
과소적합
- 모델링을 너무 간단하게 성능이 제대로 나오지 않는 모델
해결방법
- 주어진 훈련데이터의 다양성이 보장되어야 한다. 다양한 데이터 포인트를 골고루 나타내야 한다.
- 일반적으로 데이터 양이 많으면 일반화에 도움이 된다.
- 하지만 편중된 데이터를 많이 모으는 것은 도움이 되지 않는다.
- 규제(Regularization)를 통해 모델의 복잡도를 적정선으로 설정한다.
크롤링 기본개념
웹 크롤링 흐름
크롤링 실습
import requests as rq #서버에 요청을 보내는 도구 from bs4 import BeautifulSoup #응답받은 문서에서 데이터를 추출하는 도구 #네이버 포켓몬빵 검색결과 주소 url = 'https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%ED%8F%AC%EC%BC%93%EB%AA%AC%EB%B9%B5' res = req.get(url) #요청보내기 res.status_code #=> 200 응답성공 res.text
naver_dom = BeautifulSoup(res.text,'html.parser') #파싱할 데이터, 파서 a = naver_dom.select("div.news_area > a.news_tit") #선택자를 이용해서 원하는 태그들을 추출하는 기능 a[0]
for tag in a: print(tag.text) #출력결과 #포켓몬빵 애벌레 발견…제조사 "빵 회수해 원인 조사" #‘포켓몬빵’ 오픈런 열풍...포켓몬코리아 매출 3배 ‘껑충’ #[단독] ‘포켓몬빵’서 벌레 발견…“아이들 먹는 건데 철저히 관리해야” #'노재팬' 식었나…죽쑤던 데상트·미즈노·아식스 줄줄이 흑자전환
이미지 크롤링
url2 = 'https://search.naver.com/search.naver?where=image&sm=tab_jum&query=%ED%8F%AC%EC%BC%93%EB%AA%AC%EB%B9%B5' res = req.get(url2) res.status_code #200 res.text naver_img_dom = BeautifulSoup(res.text,'html.parser') img_tags = naver_img_dom.select('img._image._listImage') img_tags # => 출력결과 X
크롬브라우저용 제어도구 링크
- 현재 requests로 이용해서 얻어오는 페이지는 동적으로 나중에 정보를 삽입하기 때문에 내가 원하는 정보를 추출하기 어렵다.
- 동적인 페이지는 selenium을 활용해 수집한다.
버전 확인하고 다운로드
=> 다운로드 후 파일 위치이동(주피터노트북 폴더로 이동)
# selenium 설치 !pip install selenium from selenium import webdriver # 브라우저 객체 browser_obj = webdriver.Chrome() # 크롬 브라우저 객체 생성 browser_obj.get(url2) naver_img_dom2 = BeautifulSoup(browser_obj.page_source,'html.parser') img_tags = naver_img_dom2.select('img._image._listImage') len(img_tags) #img_tags 갯수 확인 img_tags[0]
src = img_tags[0].get('src') #태그의 속성을 추출하는 기능 src #'https://search.pstatic.net/common/?src=http%3A%2F%2Fblogfiles.naver.net%2FMjAyMjA0MDdfOTAg%2FMDAxNjQ5MzE3NjAyODE2.iak0_eMIFUP9Erd0AQOXBUXnKQQYghtBtnhhuBNPBbkg.OPe1_A0_3sUIAeN2F_gDnhqEG_kZHU9nUNNDnq8NYzUg.JPEG.ehdgns104%2F1649316331745%25A3%25AD3.jpg&type=a340'
from urllib.request import urlretrieve # url로부터 파일을 다운받는 기능 dest = "./포켓몬빵.png" //경로 위치 변수 urlretrieve(src,dest) # 다운받을 원본의 URL, 다운로드할 경로 # => ('./포켓몬빵.png', <http.client.HTTPMessage at 0x1e4d4f26ac0>)
728x90
'비전공자의 코딩일지' 카테고리의 다른 글
비전공자의 IoT 국비 교육 수강일지 Day_85 (0) | 2022.04.19 |
---|---|
비전공자의 IoT 국비 교육 수강일지 Day_84 (0) | 2022.04.18 |
비전공자의 IoT 국비 교육 수강일지 Day_82 (0) | 2022.04.14 |
비전공자의 IoT 국비 교육 수강일지 Day_81 (0) | 2022.04.13 |
비전공자의 IoT 국비 교육 수강일지 Day_80 (0) | 2022.04.12 |
Comments