프로그래밍 12

[machine learning] 하이퍼파라미터 최적화(Optuna)

최적화 된 파라미터를 찾기 위해서 하이퍼파라미터 값을 조정하면서, 가장 좋은 결과가 나올 때까지 돌려봐야한다 이거 너무 번거롭고 귀찮고 시간도 오래 걸릴 때가 많다. Optuna : 하이퍼파라미터 최적화 : 하이퍼 파라미터 최적화를 도와주는 프레임워크 파라미터의 범위나 리스트를 지정해주면, trail마다 파라미터를 변경하면서 최적의 파라미터를 지정해준다. optuna는 study 개체를 기반으로 한다. 이 개체에는 필요한 파라미터 공간에 대한 정보와 sampler 방법과 pruning에 대한 정보가 포함되어 있다. from sklearn.model_selection import train_test_split from sklearn.metrics import log_loss import optuna #정의..

[OpenCV-Python] 그리기 함수 사용하기(다각형, 이미지에 텍스트 추가)

5. 다각형 그리기 다각형을 그리기 위해서 정점을 잡아준다 ==> pts import numpy as np import cv2 img = np.zeros((512,512,3), np.uint8) pts = np.array([[10,5], [20,30], [70,20], [50,10]], np.int32) #점 4개, int32형식 pts = pts.reshape((-1,1,2)) #이거는 빼도 실행 똑같이 되더라 img = cv2.polylines(img, [pts], True, (0,255,255)) cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() 정점은 배열 형태로, int32유형이어야 한다. img = cv2.polylines(img..

[OpenCV-Python] 그리기 함수 사용하기(직선, 직사각형, 원, 타원)

# 기하학적 모양을 그리는 방법 #cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText() 1. 선 그리기 import numpy as np import cv2 #검은색 이미지 만들기 img = np.zeros((512,512,3), np.uint8) #5px의 굵기로 파란 선 만들기 img = cv2.line(img, (0,0), (511,511),(255,0,0), 5) cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() img = cv2.line(img, (0,0), (511,511),(255,0,0), 5) img : 이미지 (0, 0) : 시작점 좌표 (511, ..

[OpenCV-Python] 비디오 시작하기

#비디오 읽기, 비디오 디스플레이 및 비디오 저장하기 #카메라에서 캡처하여 표시하는 방법 #cv2.VideoCapture(), cv2.VideoWriter() 먼저, 비디오를 캡처하려면 VideoCapture 객체를 만들어야한다. 인수는 장치 색인(카메라를 지정하는 번호)나 비디오 파일 이름으로 설정 일반적으로는 카메라 한 대를 사용하여 0 또는 -1을 전달 ==> 1을 전달하면 두 번째 카메라를 선택할 수 있음 노트북에 내장된 카메라를 사용하는 코드 import cv2 cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read() cv2.imshow('frame', frame) if cv2.waitKey(1) == ord('q'): break cap.r..

[OpenCV-Python] Matplotlib 연습

import cv2 from matplotlib import pyplot as plt img = cv2.imread('vv.jpg') #opencv로 이미지로드 -> BGR 이미지로 로드 b,g,r = cv2.split(img) #이미지 b,g,r로 분리 img2 = cv2.merge([r,g,b]) plt.subplot(121); plt.imshow(img) plt.subplot(122); plt.imshow(img2) plt.show() cv2.imshow('bgr image', img) cv2.imshow('rgb image', img2) cv2.waitKey(0) cv2.destroyAllWindows() OpenCV로 로드된 컬러 이미지는 BGR 모드, Matplotlib는 RGB모드로 표시된다..

[OpenCV-Python] Matplotlib 사용하기

Matplotlib 라이브러리 사용하기 -> 파이썬에서 자료를 chart하거나 plot으로 시각화 하는 패키지 Matplotlib를 사용해서 이미지를 표시하는 방법을 배운다! Matplotlib를 사용하면 이미지를 확대/축소하고 저장할 수 있음. import cv2 from matplotlib import pyplot as plt file = 'vv.jpg' img = cv2.imread(file, 0) #grayscale로 이미지 로드하기 plt.imshow(img, cmap='gray', interpolation='bicubic') #interpolation => 보간법 : bicubic plt.xticks([]), plt.yticks([]) #xticks, yticks - 눈금값 plt.show()..

[OpenCV-Python] 이미지로드, 저장하기

이미지를 로드하고 저장하는 과정 import cv2 img = cv2.imread('vv.jpg') #이미지 로드 cv2.imshow('창이름', img) #이미지 열기 cv2.imread() : 이미지 로드 cv2.imshow() : 이미지 열기 cv.imwrite() : 이미지 저장 imwrite()함수는 기본적으로 PNG 형식으로 이미지 저장함 img = cv2.imread('vv.jpg', 0) #그레이스케일로 이미지 로드하기(원래 컬러 이미지였음) cv2.imshow('image', img) # 창 이름은 image로 지정하고 창 띄우기 k = cv2.waitKey(0) if k == 27: #esc키 누르면 cv2.destroyAllWindows() #창 닫기 elif k==ord('s'): ..

[기계학습] 데이터 전처리(with scikit learn) - 데이터 실수화

● 데이터 전처리란? - 데이터의 품질을 올리는 과정 ● 데이터 전처리 과정(주요 기법) - 데이터 실수화(Data Vectorization) : 범주형 자료, 텍스트 자료, 이미지 자료 -> 컴퓨터가 이해할 수 있는 실수로 변환하는 것 - 데이터 정제(Data Cleaning) : 없는 데이터는 채우고, 잡음 데이터는 제거하고, 모순 데이터는 올바른 데이터로 교정 - 데이터 통합(Data Integration) : 여러 개의 데이터 파일을 하나로 합치는 과정 - 데이터 축소(Data Reduction) : 데이터가 과도하게 클 경우, 분석 및 학습에 시간이 오래 걸리고 비효율적이기 때문에 데이터의 수를 줄이거나(Sampling), 데이터의 차원을 축소하는 작업 - 데이터 변환(Data Transform..

[파이썬 웹크롤링] 인스타그램 크롤링 & 이미지 다운로드 받기 - 1

오늘은 인스타그램 크롤링! 아 너무 얕게만 하는 거 같아서 걱정이긴 한데 뭐 이거라도 하는 게 어디야 맞지맞지...? 오늘 할 거는 인스타그램 태그 검색하면 검색한 결과 이미지를 다운로드 받는 거를 해 볼거다! 먼저, 사용한 라이브러리는 BeautifulSoup, Selenium이다. 전에 beautifulSoup을 다뤄본 적이 있다. 새로 사용해 볼 라이브러리는 Selenium Selenium이란? - 여러 언어에서 웹 드라이버를 통해서 웹 사이트 자동화 테스트를 위한, 또는 웹 자동화를 도와주는 라이브러리 (나무위킨가 어디 출처) Selenium을 쓰는 이유는? - 동적 웹페이지로 구성 되어 있는 경우, requests 라이브러리만으로는 크롤링하기가 어렵다 - 원하는 웹 사이트가 프로그램을 통한 접근..

[파이썬 웹크롤링] 파이썬으로 네이버 영화 댓글 데이터 분석 해 보기

세상 세상 세상에 일주일 넘게 노트북 열지도 않았어.... 오엠지 초심을 잃은거야 뭐야ㅜㅡㅜ 오랜만에 공부하려니 힘들다 인스타그램(@study_zz._.one) 마지막 글 보면 네이버 영화 평점 댓글을 크롤링해 보고 싶었는데, 난 이 부분에 대한 데이터를 가지고 오고 싶었는데, 이 밑에처럼 전문가 분석?만 계속 가지고 오는거임🤦🏻‍♀️ 둘 다 div class="score_result"라서 이렇게 find도 써보고 find_all 함수도 써 봤는데도 안 되는겨 ㅋ ㅋ ㅋㅋ ㅜ ㅜ (의문인 거는 find_all 쓰면 왜 len이 1이 나오고 find 쓰면 len이 왜 3이 나오는 거지?) 진짜 이거 때문에 이틀인가를 붙잡고 있었다... 페이지 소스가 다른가 해서, 페이지 소스 보기를 했다?????? 페이지..