본문 바로가기

Python

(5)
[Python] 순차(Sequential) 탐색과 이진(Binary) 탐색 알고리즘 🔊 이번 포스팅에는 최근에 Python으로 알고리즘을 공부하기 시작하면서 알게 된 여러 알고리즘의 원리와 Python으로 구현하는 방법에 대해 소개해보려 한다. 필자는 최근 알고리즘 공부를 '나동빈'님의'이것이 취업을 위한 코딩 테스트다 with 파이썬'이라는 책과 백준 온라인 저지 사이트로 하고 있다. 이 중 '나동빈'님이 저자이신 책에서 가르쳐주는 내용을 기반으로 배운 내용을 정리해보려 한다. 이번 포스팅에서는 저번에 알아보았던 '탐색' 알고리즘의 또 다른 종류인 순차 탐색(Sequential Search)과 이진 탐색(Binary Search) 알고리즘에 대해 알아보고 Python으로 구현하는 방법에 대해 알아보려고 한다. 1. 순차 탐색(Sequential Search) 순차 탐색은 리스트 또는 ..
[NLP] Surprise library를 활용한 추천시스템 구현하기 저번 포스팅까지 추천 시스템의 여러가지 종류와 각각의 추천 알고리즘이 어떻게 구현되는지에 대해 자세히 알아보았다. 이번 포스팅에서는 이전까지 소개해왔던 추천 알고리즘을 간편한 API로 제공하는 Surprise 라이브러리에 대해 알아보고 이를 활용해 추천시스템을 구현해보는 시간을 가지려고 한다. 우선 Surprise 라이브러리란, Python에 기반하며 Scikit-learn API와 비슷한 형태로 제공을 하여 추천 시스템 구현을 도와주는 편리한 라이브러리이다. Surprise 라이브러리에 대해 더 자세히 알고 싶다면 공식문서를 참고하자. Surprise 라이브러리가 구현되는 프로세스와 주요 메소드 그리고 예시 데이터셋을 사용해 Surprise를 활용한 추천시스템을 직접 구현해보자. 참고로 Surprise..
[Python웹크롤링] Selenium과 Webdriver를 이용한 브라우저 자동 검색 예전에 한 아주 자그마한 토이 프로젝트 이지만 selenium과 웹드라이버를 이용해서 네이버 검색창에 자동으로 키워드를 입력하는 걸 다시 복습할 겸 진행해보았다... 사실 다른 웹크롤링 강의를 듣고 실습하려다가 에러나고 빡쳐서...복습겸 쉬운 프로젝트좀 하려고 다시 건너왔다 ㅜㅜ 그럼 이제 본격적으로 간단한 코드인지만 코드에 대해서 분석해보고 의미를 이해해 보자! 우선 가장 필요한 셀레니엄 모듈에서 웹드라이버를 임포트한다. 그리고 난 크롬브라우저를 이용했기 때문에 내 로컬에 크롬웹드라이버가 저장되어 있는 경로를 작성해주고 웹드라이버를 활성화 시켜준다. 다음에 한 두가지의 설정은 브라우저가 켜질때 내부적으로 대기하는 시간을 설정하는 것이다. 지난 글에도 한번 적었던 적이 있는 기억이 있다. 그리고 내 컴퓨..
[Python웹크롤링] REST API에 대한 이해 웹크롤링을 하면서 웹사이트에 정보를 요청하고 받는 과정을 배우면서 REST API에 대해서 공부를 좀 하게 되었다. 그런데 사실 어려운 개념이기도 한 것 같고 여러 블로그의 글을 찾아보다가 너무 모르겠어서 유투브에 깊게는 아니지만 얕게라도 쉽게 설명해 놓은 영상을 찾았고 추가적으로 조대협님의 블로그의 글을 참고하며 얕게나마 개념을 설명하고 유투브 영상 링크를 걸어 놓기로 하겠다. REST의 유래 REST는 웹의 본래 우수성을 100% 활용하지못하고 판단하여 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐 즉 개발자들끼리의 약속(?)같은 형식을 만들었는데 그것이 REST(Representational Safe Transfer) 이다. REST의 요소 REST = 리소스 + 메소드 + 메세지 이..
[Python웹크롤링] urllib 모듈로 image, html 다운로드 12월 말 종강 후 부터 우리의 자랑스러운 DSC SCH Lead인 나단이가 패스트캠퍼스 강의를 빌려주어서 파이썬 문법과 웹 크롤링에 대한 강의를 들어왔다. 그 중에 데이터를 수집하기 위해서는 웹크롤링이 필수적이라고 교수님께서 말씀하셔서 웹 크롤링에 대한 강의를 듣고 이후 복습하고 머리에 저장시키기 위해 블로그에 쓰고자 한다. 우선 현재 웹크롤링 진도가 Selenium 모듈을 쓰는 단계까지 진행되었지만 다시 초심부터 돌아가자는 의미에서 처음부터 진도를 순차적으로 진행하면서 글을 작성하려 한다. 그럼 한 번 복습해보자! 우선 내가 갖고오고자 하는 URL에서 제공하는 이미지와 HTML을 갖고오기 위해선 해당 URL에다가 요청(request)을 해야 한다. (쉽게 일상적인 예시를 들어본다면, 대학교에서 수업을..