본문 바로가기

반응형

전체 글

[머신러닝] 머신러닝이란? 머신 러닝이란? 단어 그대로 기계를 학습한다 머신이란? 인간이 제공한 데이터를 표현할 수 있는 모델(함수) 학습이란? 데이터를 가장 잘 표현할 수 있는 모델을 찾는 것 (모델의 파라미터 최적화) 어떤 형태의 데이터가 머신에게 주어지는지에 따라 다음의 세부 분야들로 분류됨 비지도 학습 지도 학습 강화 학습 Supervised Learning (지도 학습) 1. 회귀 Linear and Nolinear Regression (선형 및 비선형 회귀) Gradient Descent (경사하강법) Bias and Variance Trade-off (편향 및 분산 트레이드 오프) 2. 분류 Logistic and Softmax Regression Support Vector Machine Decision Tree Li.. 더보기
[Crawling] 크롤링한 csv파일 불러와서 특수문자 제거하기 다량의 데이터를 크롤링 하다보면 데이터 상에 이모티콘, 특수문자 등이 포함된다. 데이터분석을 보다 수월하게 진행하기 위해, 크롤링이 끝났으면 데이터전처리 작업을 진행해야 한다. 크롤링 작업을 마친 csv 파일을 불러와서 이모티콘 및 특수문자를 제거하고 한글만 남긴 후, 다시 csv 파일로 저장하는 코드는 다음과 같다. import pandas as pd data = pd.read_csv("크롤링한 데이터.csv") data['title']= data['title'].str.replace(pat=r'[^가-힣]',repl=r' ',regex=True) data.to_csv("데이터 전처리 마친 데이터.csv") data['title'] 에서 'title' 대신 사용자가 데이터 전처리를 진행하고자 하는 컬럼.. 더보기
[Crawling] NoSuchFrameException and not able to identify element Selenium을 이용한 블로그 크롤링을 진행하던 중 NoSuchFrameException and not able to identify element 위와 같은 에러를 만났다. NoSuchFrameException이 발생하여 요소를 식별할 수 없다는 에러였다. 이 에러가 발생한 이유는 크롤링하는 블로그별로 CSS형식이 달라서 발생한 문제였다. 필자가 진행하던 대부분의 블로그는 제목 및 본문을 'iframe'안에 담고 있어서 iframe 안에서 제목 및 본문을 찾는 코드를 넣었는데, 형식이 다른 블로그들이 섞여있어 위와 같은 오류가 난 것이다. try: driver.switch_to.frame('mainFrame') except: driver.get(target_url) 이 오류의 해결책은 예외 처리를 활.. 더보기
[Crawling Error] enpyxl.utils.exceptions.IllegalCharacterError 해결하기 enpyxl.utils.exceptions.IllegalCharacterError 위의 에러는 크롤링하고 있는 사이트가 엑셀이 지원하지 않는 문자를 포함하고 있는 경우 발생하게 된다. 에러를 해결하려면? import re from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE 위의 코드를 추가한 후에 try, except 구문을 활용하여 예외 처리를 해주면 된다. except 구문에 추가할 코드는 아래와 같다. 문제가 생긴 크롤링하고 있는 부분= ILLEGAL_CHARACTERS_RE.sub(r'', 문제가 생긴 크롤링하고 있는 부분) 예시-> 제목을 크롤링하다 오류가 발생했을 경우 title = ILLEGAL_CHARACTERS_RE.sub(r'', title) .. 더보기
[Selenium] Selenium 이용해서 네이버 블로그 크롤링 Selenium 패키지는 chromdriver를 제어하여 원하는 정보를 얻기 위해 사용하는 패키지다. selenium 패키지 설치 방법 및 자세한 사항은 아래 사이트를 참조하길 바란다. https://wikidocs.net/137914 네이버 블로그에서 정보를 검색했을 때, 나오는 리스트를 자동으로 스크롤하여 크롤링하는 코드 import time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import pandas as pd import re from openpyxl.cell.cell import ILLEGAL_CHARACTERS_.. 더보기
[PostgreSQL] pgAdmin 4 실행 오류(The pgAdmin 4 server could not be contacted:) 해결 방법 PostgreSQL을 설치하고 이를 사용하는 툴인 pgAdmin 4를 설치하면서, 경험했던 오류 해결 방법을 설명하려 한다. 참고로 pgAdmin 4 는 https://www.pgadmin.org/download/ 위의 사이트에서 자신의 운영체제에 맞는 것을 직접 설치 할 수 있다. pgAdmin 4를 설치하던 중 아래와 같은 에러를 만났다. The pgAdmin 4 server could not be contacted: ....(중략) 연결을 할 수 없다는 에러였다. 경로 변경, 다시 설치하기 등의 방법을 사용해봤지만 해결되지 않았는데, 아래와 같은 방법으로 진행하니 바로 해결되었다. pgAdmin 디렉토리 내의 데이터 삭제 C:\Users\%USERNAME%\AppData\Roaming\pgAdmin.. 더보기
[Tableau] 시계열 그래프 그리기 1. 날짜 데이터 다루기에서 다루었던 데이터를 그대로 사용한다. https://tkfk418.tistory.com/entry/Tableau-%EB%82%A0%EC%A7%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%8B%A4%EB%A3%A8%EA%B8%B0 날짜 데이터 다루기에서 작업한 데이터는 그대로 사용한다. 다만, 행에 위치한 필드 값들은 모두 제거한다. Order Date 필드를 열에 위치시킨다. 그리고, 해당 옵션을 살펴 본다. 그 후에 월을 선택한다. Quantity 필드를 행에 놓는다. 처음에는 라인 그래프가 나타난다. 마크 탭에서 [라인]을 [막대]로 변경한다. "Category"를 색상에 추가한다. [표준]을 [전체보기]로 바꾼 후, 막대 그래프에 라벨을 입혀본다. 그래프.. 더보기
[Tableau] 날짜 데이터 다루기 1. 태블로 홈페이지에 가서 샘플 데이터를 다운로드 한다. 2. Processing Day 필드 만들기 데이터 원본에 연결 한 후, 워크시트로 이동합니다. 새로운 필드를 만든 후, Processing Day라고 명명합니다. 이 때, DATEDIFF( ) 함수를 활용합니다. DATEDIFF('day', [Order Date], [Ship Date]) [기본 속성]-[숫자 형식]-[숫자(사용자 지정)] 메뉴에서 접미사 "일 소요"를 추가합니다. Order ID, Product Name, Order Date, Ship Date를 를 행선반에 놓습니다. 그 후에, Processing Date를 텍스트에 끌어 놓습니다. 3. 평일과 주말 필드 만들기 새로운 필드를 생성 합니다. 날짜를 기준으로 주말 또는 평일을 .. 더보기

반응형