데이터 크롤링
·
Data Science
BeautifulSoup: python으로 html을 다루는 라이브러리 request: 페이지 요청 라이브러리 # 1. 스크래핑 페이지 지정 # 2. 페이지 요청 # 3. text를 html 형태로 변환 # 4. 태그값으로 원하는 데이터 추출 link = 'https://search.naver.com' url = requests.get(link) BeautifulSoup(url.text) html.find('span', attrs = {'class': 'value'}) # 1. 웹 브라우저 창 열기 # 2. 지정한 페이지 불러오기 # 3. 창이 열릴 때까지 10초 대기 # 4. html 형태로 변환 # 5. 원하는 태그 값 가져오기 # 6. 웹 브라우저 창 닫기 driver = webdriver.Chro..
데이터 시각화
·
Data Science
라이브러리 import matplotlib.pyplot as plt import seaborn as sns import plotly.graph_objects as go 1. Matplotlib plt.plot(x, y): 선 그래프 plt.bar(x, y): 막대 그래프 plt.hist(x): 히스토그램 plt.scatter(x, y): 산점도 plt.pie(x): 파이 차트 # labels: 항목 이름 # autopct: 항목 퍼센트 plt.pie(x, labels = labels, autopct = '%.2f') 여러 그래프 # 1행 2열 그래프 fig = plt.figure() ax1 = fig.add_subplot(1, 2, 1) ax2 = fig.add_subplot(1, 2, 2) ax1.pl..
데이터 분석 기초
·
Data Science
코랩에서 데이터 가져오기 from google.colab import drive drive.mount('/content/drive') loc: 레이블 기반 데이터 선택 방법 iloc: 정수 기반 데이터 선택 방법 df.loc[[0,10,100,1000],['col1','col2']] df.iloc[[0,10,100,1000],[0,1]] ## 예제 ## # loc: 값이 2인 행부터 5인 행까지와 col1인 열부터 col3인 데이터 > 네이밍 # iloc: 2번째부터 4번재 행까지와 0번째 열과 2번째 열인 데이터 > 인덱싱 df.loc[2:5, 'col1':'col3'] df.iloc[2:5,[0,2]] describe: 기술통계 value_counts: 각 요소가 나타나는 횟수 apply: 사용자 정..
통계학 기초
·
Data Science
1. 통계의 이해 기술 통계: 데이터를 요약하여 이해하기 쉬운 형태로 나타냄 Ex. 평균, 분산, 백분위수 추론 통계: 수집된 데이터를 바탕으로 예측, 결론, 일반화를 내리는데 사용되는 통계적 방법 2. 변수 연속 변수 Ex. 무게, 온도, 시간 이산 변수 Ex. 개수 범주형 변수 Ex. 순서형 변수 학점, 명목형 변수 혈액형 3. 데이터 및 확률 분포 평균: 모든 데이터의 합을 개수로 나눈 값 중앙값: 크기 순으로 나열했을 때 가운데 위치한 값 최빈값: 가장 많이 등장하는 값 범위: 최대값과 최소값 차이 분산: 각 데이터가 평균으로부터 얼마나 떨어져있는지 나타낸 값 이항 분포: 독립적인 N번의 시도에서 성공 횟수 X가 따르는 확률 분포 포아송 분포: 일정한 시간 또는 공간에서 발생하는 이벤트 발생 확률..
Python 기초
·
Data Science
숫자형 덧셈(+): 두 수를 더함 뺄셈(-): 첫 번째 수에서 두 번째 수를 뺌 곱셈(*): 두 수를 곱함 나눗셈(/): 첫 번째 수를 두 번째 수로 나눔 이 연산은 항상 실수를 반환 몫(//): 첫 번째 수를 두 번째 수로 나눈 후, 그 결과의 몫(소수점 이하를 버림)을 반환 나머지(%): 첫 번째 수를 두 번째 수로 나눈 후, 그 결과의 나머지를 반환 지수(**): 첫 번째 수를 두 번째 수만큼 거듭제곱함 문자열 f"문자열 {변수}": 변수에 입력한 값이 출력됨 in: 특정 요소가 포함되어 있는지 확인 upper: 모든 문자 대문자로 변환 lower: 모든 문자 소문자로 변환 capitalize: 문자열의 첫 글자를 대문자로, 나머지를 소문자로 변환 title: 문자열의 공백을 기준으로 각 단어의 첫..
Kafka
·
Data Science
분산 스트리밍 플랫폼이며 데이터 파이프 라인을 만들 때 주로 사용되는 오픈소스 솔루션 https://kafka.apache.org/090/documentation.html#introduction
파이썬 함수 help dir
·
Data Science
파이썬의 내장함수를 활용하여 여러 함수를 사용할 수 있다. dir(): 객체가 가지고 있는 변수와 함수 나열 help(): 해당 변수나 함수에 대한 설명 내장함수를 활용하여 함수를 사용하려면 추가적으로 아래와 같은 내용을 알아두면 좋다. 클래스(class): 객체지향 프로그래밍의 기본단위 인스턴스(instance): 클래스로부터 생성하는 변수 메서드(method): 클래스 내부에 정의된 함수 class new_class: def __init__(self): instance = new_class() instance.method() 위를 이용하여 분위수 회귀분석 함수를 찾아보자. import statsmodels.api as sm dir(sm) 위와 같이 statsmodels.api 라이브러리에 있는 함수를..
주피터 노트북 병합
·
Data Science
여러 주피터 노트북을 하나로 병합하는 파이썬 코드import osimport jsonfrom datetime import datetimedef get_files(folder: str) -> list[str]: """ 주피터 노트북 파일 이름순으로 정렬 Args: folder (str): 주피터 노트북 파일 폴더 경로 Returns: list[str]: 정렬된 주피터 노트북 파일 이름 리스트 """ notebooks = [ file.name for file in os.scandir(folder) if file.is_file() and file.name.endswith('.ipynb') ] notebooks.sort..
Machine Learning Model
·
Data Science
알고리즘 개념 장점 단점 k-최근접 이웃 (K-Nearest Neighbor) - 주변의 가장 가까운 K개의 샘플을 통해 값을 예측 - 구현 쉬움 - 알고리즘 이해하기 쉬움 - 하이퍼파라미터 적음 - 계산 속도 느림 - 메모리 많이 씀 - 노이즈 데이터에 예민 서포트 벡터 머신 (Support Vector Machine) - 데이터들과 거리가 가장 먼 초평면을 선택하여 분리 - 정확도 높음 - 예측 속도 빠름 - 고차원 데이터 효과적 - 모형 구축 시간 오래 걸림 - 해석하기 어려움 - 커널 트릭 오사용 시 과대적합되기 쉬움 의사결정트리 (Decision Tree) - 특정 분류 규칙에 따라 데이터 분리 - 결과 해석 용이 - 학습 및 예측 속도 빠름 - 전처리, 통계가정 필요없음 - 과대적합 가능성 -..
Xgboost Error
·
Data Science
WARNING: /workspace/src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror. Xgboost의 사이킷런 호환 Regressor인 XGBRegrssor의 Default 생성자로 reg:linear 가 입력됨 Xgboost 0.9 버전부터 reg:linear가 Deprecated 되고 reg:squarederror로 변경된다는 warning 메시지 Xgboost 정상 동작에는 문제가 없음 from xgboost import XGBRegressor xgb_reg = XGBRegressor(objective='reg:squarederror') [출처] 회귀 트리 관련 코드 warnin..