본문 바로가기
반응형

데이터사이언스45

Start OpenCV and draw on the picture/video 1. Import Library import cv2 import matplotlib.pyplot as plt %matplotlib inline 2. Open the File # 색감이 이상하게 나옴 imgBGR = cv2.imread('./data/apples.jpg') plt.axis('off') plt.imshow(imgBGR) plt.show() # RGB로 변환해서 열어주어야 함 imgRGB = cv2.cvtColor(imgBGR, cv2.COLOR_BGR2RGB) plt.axis('off') plt.imshow(imgRGB) plt.show() # 그레이스케일 imgGray = cv2.imread('./data/apples.jpg', cv2.IMREAD_GRAYSCALE) plt.axis('of.. 2022. 1. 3.
[Books info] Naver API + BeautifulSoup + Regression Modeling 1. Import Library import os import sys import urllib.request import json import datetime import pandas as pd from bs4 import BeautifulSoup from urllib.request import urlopen import re import numpy as np import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline 2. Generate Function - gen_search_url() : url을 만들어주는 함수 - get_result_onepage() : 페이지를 열어주는 함수 - get_fields() : 정보를 찾아서 데이터.. 2022. 1. 3.
[홀로서기 #05] 회귀 모델링 하기 전에 꼭 확인하기 (2) - 타겟 분포 (Log Transformation) # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. 무작정 모델링 하기 지난 시간(OneHotEncoding: 홀로서기 #04)에 이어서 본격적으로 모델링을 진행했다. 결론부터 말하자면, 모델 성능은 처참했다. 꼭 확인해주어야 하는 부분을 확인해주지 않고 넘어갔기 때문인데, 그 부분은 뒷부분에서 확인할 수 있다. 회귀모델에 대표적으로 Linear Regression 이 있고, 각 제약식을 어떻게 주느냐에 따라서, Ridge, Lasso, ElasticNet으로 분화된다. 기본적인 회귀 분석에는 제약식이 포함될 수 있는데, 제약이 없으면 우리가 추정하려는 가중치 w가 폭발적으로 커질 수 있고, 이로 인해서 분산이 커지는 문제가 발생할 수 있다. .. 2022. 1. 3.
[홀로서기 #04] 회귀 모델링 하기 전에 꼭 확인하기 (1) - 범주형 특성 변수(Categorical Features) # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. SQL로 최종 데이터 가져오기 지난 시간에 이어서 서울권 공유자전거(따릉이) 이용 데이터를 살펴본다. 시각화를 통해 데이터의 전체적인 모양과 흐름 파악을 마쳤으니, 예측 모델링을 위한 최종 전처리를 진행하고 실제로 ML(Machine Learning) 모델을 적용해봤다. 지금까지(홀로서기 #03)는 서울 강남역 근처의 5개소 대여소만을 기준으로 데이터를 봤다면, 최종 모델링은 전체 데이터를 활용해서 진행했다. 아래 Python 코드는 AWS의 RDS(데이터베이스)에 저장된 데이터 중 최종 모델링에 활용할 데이터를 SQL Query로 불러오는 예시를 나타낸 것이다. conn_aws = mysql.. 2021. 12. 28.
[홀로서기 #02] SQL 대량 데이터, VIEW로 핸들링하기 # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. VS Code + SQL = 신세계 !! 필자는 데이터 비전공자다. 2021년 초에 스마트시티 관련 사업에 참여하면서, 데이터 비즈니스에 대한 전망을 봤다. 그리고 하반기부터 데이터를 공부하겠다고 마음 먹고, 전업을 잠시 접고 ML과 데이터 관련 학습에 매진하는 중이다. 파이썬의 '파', 아니지 'ㅍ'도 몰랐던 시절이 있었는데, 지금은 Jupyter Notebook의 테마를 바꿔보자며, 취향껏 공부를 하는 수준에 이르렀다. 그리고 최근에는 SQL 프로젝트를 진행하면서, VS Code를 쓰기 시작했다. 터미널 따로, Jupyter 웹 따로 두니까 너무 불편했었다. 하지만 지금은 VS Code에서.. 2021. 12. 14.
[8일차] 튜플(tuple)과 딕셔너리(dictionary)는 복습이 필요해. [튜플; Tuple] - 리스트와 비슷하지만 아이템 변경 불가 - 아이템 변경(수정, 삭제 등)이 불가능함 : 리스트는 가능 - ()을 이용해서 선언하고, 데이터 구분은 콤마(,)를 활용한다. - 숫자, 문자(열), 논리형 등 모든 데이터를 같이 저장할 수 있다. - 튜플에 또 다른 컨테이너 자료형 데이터를 저장할 수 있다. - 튜플 아이템 조회 : 리스트와 마찬가지로 아이템에 자동으로 부여되는 번호표가 있음 - N개의 요소가 있다면 인덱스는 0 ~ (N-1)까지 자동 부여 - 튜플 아이템은 tuple[idx] 방식으로 조회 - in /not in : 아이템 존재 유/무 판단 - item in tuple : 있으면 True, 없으면 False 결과 나옴 - in과 not in 키워드는 문자열에서도 사용 .. 2021. 10. 22.
[7일차] 리스트 요긴하게 쓰기 위한 추가/삭제/슬라이싱. 분명하게 정리하기! * Web Data 관련 강의가 함께 있어서, 오늘 수강한 강의 분량이 적다. [리스트 요소 추가, 삭제, 수정] - 추가 : list.append(요소) - append() - append로 들어갈 수 있는 요소는 또 다른 리스트도 가능하다. ex) list.append([a,b,c]) - append는 항상 리스트의 마지막 인덱스에 추가됨 - 추가2 : list.insert(인덱스, 요소) - 특정 위치(인덱스)에 아이템을 추가할 수 있음 - insert() 연습문제) 오름차순으로 정렬되어 있는 숫자들에 사용자가 입력한 정수를 추가하는 프로그램을 만들어보자. (단, 추가 후에도 오름차순 정렬이 유지되어야 한다.) - 주어진 리스트 : [1, 3, 6, 11, 45, 54, 62, 74, 85] - e.. 2021. 10. 19.
[6일차] 기초수학 연습문제로 마무리하고, 자료구조 시작! [연습문제] - N보다 작은 약수, 소수, 소인수 출력하기 -> 약수는 N에서 해당 수를 나눠서 나머지가 0이면 출력 -> 소수는 해당 수를 다시 1부터 해당 수 - 1 까지 나눠서 나머지가 0인 애가 없으면 출력 -> 소인수는 약수이면 +1, 소수이면 +1해서 2 이면 출력 - N을 소인수분해해서, 소인수들의 지수 출력하기 -> 나머지가 0이면 리스트에 추가하고 갯수 세기 : list.count(n) - list에서 n의 갯수를 카운트함 - 서로소는 1 이외에 약수가 없는 두 수를 의미함 - 최소공배수는 두 수의 곱에서 최대공약수로 나누면 구할 수 있음 : 최대공약수를 먼저 구하면 될 듯 - 2진수로 변환 : bin(n) - 8진수로 변환 : oct(n) - 16진수로 변환 : hex(n) - 10진수.. 2021. 10. 17.
[seaborn] 데이터 정리 및 다양한 시각화 실행 데이터 정리 - 우리가 사용할 데이터프레임 crime_anal_station 은 다음과 같다. - 일단 해당 데이터를 활용해서, '구별'을 인덱스로 하여, 값의 합계를 나타낸 피봇테이블을 만들었다. crime_anal_gu = crime_anal_station.pivot_table( #여기서 pd.pivot_table(crime_anal_station, ~ 으로 시작해도 된다. index="구별", aggfunc=np.sum, ) - 여기서 우리는 lat, lng 컬럼이 필요가 없기 때문에, 삭제한다. (drop()을 활용했다.) crime_anal_gu.drop(["lat", "lng"], axis=1, inplace=True) - 우리가 궁금한 수치는, 각 범죄별 '검거율'이다. 예를 들면 살인의 검.. 2021. 10. 14.
반응형