목록Data/Python (25)
짜리몽땅 매거진
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqOKo5/btsIb21s8YE/5L8WqWU3BkjFwpIG1lfPSk/img.png)
금산인삼축제와 금산천벚꽃축제에 대한 전반적인 여론과 인식을 파악하고자 해당 축제명을 네이버에 검색했을 때 뜨는 뉴스기사 리스트를 크롤링한 후 크롤링한 기사의 제목을 네이버 CLOVA Sentiment API를 활용해 감성분석해보자. 먼저 네이버 뉴스기사를 크롤링해보자.1. 라이브러리 호출import pandas as pdimport numpy as npimport timeimport refrom bs4 import BeautifulSoupfrom datetime import datetimefrom tqdm import tqdmimport requestspath = "/Users/your name/Desktop/" 2. 검색 키워드 및 개수 설정# 필요한 키워드 입력search_content = input..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/04c9z/btsGQ1Xk9AP/ZFH01PzNNwhcs30sOdQ1J1/img.png)
데이터 전처리에는 여러 과정이 포함되지만, 그 중에서도 이상치(Outlier) 처리는 매우 중요한 단계이다. 이상치란 일반적인 데이터 패턴에서 벗어난 값으로, 종종 잘못된 데이터 입력이나 측정 오류로 인해 발생한다. 이상치 처리는 데이터 분석 결과의 신뢰성을 높이고 모델 성능을 향상시키는 데 도움을 준다. 0. 이상치 처리 방법 이상치 탐색: 가장 먼저 해야 할 작업은 데이터에서 이상치를 탐색하는 것이다. 상자 그림(box plot)이나 히스토그램(histogam) 등의 시각화 도구를 사용하여 데이터의 분포를 확인하고 이상치를 찾을 수 있다. 이상치 제거: 이상치를 발견했다면, 해당 이상치를 제거하는 것이 일반적이다. 이 단계에서는 이상치가 잘못된 데이터 입력이나 측정 오류로 인해 발생한 것인지 확인해야..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmCMI2/btsGZMlWtt2/imiu96QBSERvdLnyvkRRG0/img.png)
지난번 beautifulsoap 라이브러리를 활용해 당근마켓 인기매물 리스트를 정적 크롤링해보았다. 오늘은 워크넷 구인구직 플랫폼에서 검색어와 클릭에 따라 원하는 정보를 크롤링하는 동적 크롤링을 학습했다. 정적 크롤링과 동적 크롤링의 개념 및 차이에 대해서는 지난 포스팅을 참고하면 된다. [Python] beautifulsoap으로 당근마켓 정적 크롤링하기당근마켓은 모바일에 최적화된 서비스 구조이기 때문에 웹크롤링을 통해서는 한정적인 정보만을 가져올 수 밖에 없다. 하지만 나의 동네 인기 매물을 검색했을 때 인기 게시글들의 '제목', '주zzarimongddang.tistory.com워크넷 구인구직 사이트에서 중장년층과 상용직 필터만 클릭했을 때, 뜨는 구인구직 게시글들의 제목, 기..
당근마켓은 모바일에 최적화된 서비스 구조이기 때문에 웹크롤링을 통해서는 한정적인 정보만을 가져올 수 밖에 없다. 하지만 나의 동네 인기 매물을 검색했을 때 인기 게시글들의 '제목', '주소', '가격', '게시글 내용' 정보만 가져오면 되기 때문에 웹으로도 충분히 크롤링을 진행할 수 있었다. 크롤링은 크게 두 가지 유형으로 분리되는데, 정적 크롤링이란 멈춰있는 페이지의 HTML을 requests 혹은 urllib 패키지를 이용해 가져와서 beautifulsoap 패키지로 파싱(=복잡한 HTML 문서를 잘 분류, 정리하여 다루기 쉽게 바꾸는 작업) 하여 원하는 정보를 수집하는 과정이다. 동적 크롤링이란 계속 움직이는 페이지를 다루기 위해 selenium 패키지로 chromdriver를 제어하는 크롤링 과정..
우리가 흔히 분석하고 시각화, 더 나아가 모델링을 하는 과정까지 이어나가기 위해서는 앞단에서 데이터를 분석할 수 있는 형태로 잘 가공하고 전처리해야한다. 전처리해야하는 요소는 여러가지가 있지만 그 중에서 데이터프레임에 빈칸/None/NaN 으로 표시되는 결측값(Missing Value) 처리에 대해 알아보고자 한다. 실제 데이터는 우리 입맛에 맞게 원하는 변수(=칼럼), 결측치 없이 모든 값이 들어가 있는 행 등 이미 가공된 형태로 제공되지 않는다. 전처리되지 않은 데이터를 분석하거나 모델에 적용하게 되면 그 결과는 엉망이 되어버린다. 따라서 오늘 다루고자 하는 '결측값'은 꼭 적절한 방법으로의 처리가 필요하다. 0. 결측값의 종류 - MCAR : Missing Completely at Random (완..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/T1Wth/btsCP3L2fWH/QGShAgWknfTPET9zsAliUk/img.png)
그동안 배운 pandas 문법을 사용해 마켓컬리 리뷰로부터 자주 언급되는 단어를 추출해 인사이트를 도출하기 위한 전처리 작업을 진행해보았습니다. 시각화는 각 토큰화 단어와 전체 문장 길이의 직관적 비교를 위한 [히스토그램]과 최빈 노출 단어 파악을 위한 [워드클라우드]를 출력했습니다. 각 시각화 그래프는 어떻게 출력됐으며, 어떤 인사이트를 뽑아낼 수 있는지 차근히 살펴보겠습니다. (1) 기초 작업 import pandas as pd data = pd.read_csv('마켓컬리 리뷰.csv') 우선 판다스를 import하고 마켓컬리 리뷰 데이터를 불러옵니다. 데이터는 이렇게 5개의 칼럼과 490개의 행으로 구성되어있는 것을 알 수 있습니다. df = data[['상세제품명','리뷰내용']] df['리뷰내용..
반복문 복습과 데이터프레임 적용 반복문 : 데이터프레임 전처리 과정에서 다양한 데이터를 빠르게 전처리하기 위해서는 반복문이 필요하다! import pandas as pd df = pd.read_csv('mpg.csv') df manufacturermodeldisplyearcyltransdrvctyhwyflcategory 0audia41.819994auto(l5)f1829pcompact 1audia41.819994manual(m5)f2129pcompact 2audia42.020084manual(m6)f2031pcompact 3audia42.020084auto(av)f2130pcompact 4audia42.819996auto(l5)f1626pcompact ...............................
데이터 변수의 개념으로 바라보면 여러가지 정의된 것들이 있다. 양적변수 : 양을 표현하는 것, 학교 시험 점수나, 우리 키, 몸무게 질적변수 : 안경을 쓴 유무, 서베이의 만족도 조사 점수 변수를 가지고 척도를 생각해 보자! 간격척도 : 온도 ( 30도와 60도가 정말 2배의 차이인 것이냐? 절대 영점의 유무 ) 비례척도 : 길이 ( 2배 차이가 많다. 5cm 10cm는 2배의 차이 ) 명의척도 : 성별, 학생번호, 전화번호, 주민번호 순서척도 : 시험 점수 등수 ( 반별 등수 ) 이산형 : 0,1 이진분류, 만족도 점수 같은, 여러가지 값이 있지만 -> 서로 인접한 숫자 사이의 값이 존재하지 않는다.0, 1 두 개만 존재하지 1.5 x 없다. 연속형 : 연속적인 값 0,1 기준으로 보면 무한대 0.00..