[Clean Code] 1장 깨끗한 코드
·
Data Science
프로그래밍은 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업이며, 이렇게 명시한 결과가 바로 코드다. 궁극적으로 코드는 요구사항을 표현하는 언어이다. 르블랑의 법칙(leblanc's Law): 나중에 코드를 정리하겠다고 하지만, 나중은 결코 오지 않는다.나쁜 코드가 샇일수록 팀 생산성은 떨어진다.요구사항 변경, 일정 등의 핑계를 대나, 잘못은 전적으로 프로그래머에게 있다.빨리 가는 유일한 방법은 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.비야네 스트롭스트룹(C++ 창시자)보는 사람에게 즐거움을 선사해야 한다.속도 뿐만 아니라 CPU 자원을 낭비하지 않는 코드오류 없이 세세한 사항까지 꼼곰하게 처리하는 코드한 가지를 잘하는 코드그래드 부치잘 쓴 문장처럼 읽힌다.설계자의 의도를 숨기지 않는다.추..
SMOTE
·
Data Science
SMOTE는 불균형 데이터를 분류하고자 할 때 사용하는 방법으로 minority 데이터를 oversampling하는 방법입니다. T: minority 표본 수 N: Amount of SMOTE N% k: Number of nearest neighbors x점과 k-nearest neighbor 내에 있는 점 중 임의의 점 y 선택 minority 데이터 x와 임의의 점 y의 차이 diff 계산 x + gap * diff (이 때, gap은 0과 1사이의 난수) 위의 과정 N번 반복 위와 같은 과정으로 두 개의 점을 잇는 선을 따라 임의의 점을 선택하여 oversampling할 수 있습니다.
Mac M1 Konlpy
·
Data Science
konlpy 설치 pip install konlpy JAVA Download - ARM64 DMG Installer https://www.oracle.com/java/technologies/downloads/ Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 확인 from konlpy.tag import Okt okt = Okt() WordCloud 라이브러리 설치 Conda install -c conda-forge wordcloud
Mac M1 Chromedriver
·
Data Science
pip3 install selenium brew install --cask chromedriver pip3 install webdriver_manager from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome()
네이버 부동산 기사 크롤링
·
Data Science
네이버 부동산 기사 제목을 크롤링하고자 합니다. 네이버 부동산 > 뉴스 > 우리동네뉴스로 접속하면 지역의 시군구별 기사를 볼 수 있습니다. 다음 페이지로 넘어가거나 다른 지역을 선택하면 링크가 함께 바뀌기 때문에 동적 크롤링에 사용되는 Selenium이 아닌 BeautifulSoup을 사용합니다. 먼저 접속 시 기본으로 보여지는 첫 페이지에서 기사 제목을 크롤링합니다. from bs4 import BeautifulSoup import pandas as pd import requests link = 'https://land.naver.com/news/region.naver?city_no=1100000000&dvsn_no=1114000000&page=1' url = requests.get(link) html..
pyLDAvis A task has failed to un-serialize 오류
·
Data Science
pandas 버전 오류 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. google-colab 1.0.0 requires pandas==1.5.3, but you have pandas 2.1.0 which is incompatible. numba 0.56.4 requires numpy=1.18, but you have numpy 1.25.2 which is incompatible. tensorflow 2.13.0 requires numpy=1...
Google Colab에서 Konlpy 설치
·
Data Science
!apt-get update !apt-get install g++ openjdk-8-jdk !pip install konlpy JPype1-py3 !bash
토픽 모델링
·
Data Science
토픽 모델링: 문서의 집합에서 토픽을 찾아내는 프로세스 출처: https://wikidocs.net/30708
빈도분석
·
Data Science
단어 빈도 사전 # 문자 단어 형태로 분리 words = text.split() # 단어 빈도 사전 dic = {} for i in words: if i not in dic: dic[i] = 1 else: dic[i] += 1 # 데이터프레임화 df = pd.DataFrame({'단어':dic.keys(), '빈도수':dic.values()}) 워드클라우드 from wordcloud import WordCloud import matplotlib.pyplot as plt # 워드클라우드 설정 # background_color = 'white' # font_path = '폰트파일.ttf' # mask = img wc = WordCloud() cloud = wc.generate_from_frequencies(..
Google Colab에서 Selenium 사용하기
·
Data Science
!pip install selenium !apt-get update !apt install chromium-chromedriver !cp /usr/lib/chromium-browser/chromedriver /usr/bin Selenium 설치 apt 업데이트 chromedriver 설치 해당 경로에 설치한 chromedriver 복사 import selenium print(selenium.__version__) Selenium 버전 확인 # Selenium 버전이 3에서 4로 업그레이드되면서 from selenium.webdriver.common.by import By 실행 from selenium import webdriver from selenium.webdriver.common.by import ..