본문 바로가기
728x90
반응형

Data Analysis37

18. 네이버 영화 리뷰 데이터 분석 1. 영화 정보 크롤링 # 리뷰 정보 클래스 작성하기 import urllib.request from bs4 import BeautifulSoup class Review: def __init__(self, comment, date, star, good, bad): self.comment = comment self.date = date self.star = star self.good = good self.bad = bad def show(self): print("내용: " + self.comment + "\n날짜: " + self.date + "\n별점: " + self.star + "\n좋아요: " + self.good + "\n싫어요: " + self.bad) # 리뷰 정보 크롤링 함수 def crawl(url): # url.. 2022. 4. 16.
17. 웹 크롤링 #Web Crawler #웹 크롤러란 자동화된 방법으로 웹(Web)에서 다양한 정보를 수집하는 소프트웨어입니다. #원하는 서비스에서 원하는 정보를 편하게 얻어올 수 있습니다. #언어를 막론하고 구현할 수 있지만, 주로 Python을 이용합니다. #특정 웹 사이트 HTML 코드 추출 ① import requests # 특정 URL에 접속하는 요청(Request) 객체를 생성합니다. request = requests.get('http://www.dowellcomputer.com/main.jsp') # 접속한 이후의 웹 사이트 소스코드를 추출합니다 html = request.text.strip() print(html) 컴잘알 로그인 회원가입 공부방 대화방 공지사항 ❮ ❯ 최근 공지사항 아이디 제목 게시글 등록.. 2022. 4. 16.
16. Matplotlib # Matplotlib 라이브러리의 기초 # 다양한 데이터를 시각화할 수 있도록 도와주는 라이브러리입니다. # 간단한 데이터 분석에서부터 인공지능 모델의 시각화까지 활용도가 매우 높습니다. # 간단한 직선 그래프 그리기 import matplotlib.pyplot as plt x = [1, 2, 3] y = [1, 2, 3] plt.plot(x, y) plt.title("My Plot") plt.xlabel("X") plt.ylabel("Y") plt.show() # 그래프 저장하기 import matplotlib.pyplot as plt x = [1, 2, 3] y = [1, 2, 3] plt.plot(x, y) plt.title("My Plot") plt.xlabel("X") plt.ylabel("Y.. 2022. 4. 16.
15. Pandas Pandas 기본 사용법 # 판다스(Pandas): 데이터를 효과적으로 처리하고, 보여줄 수 있도록 도와주는 라이브러리입니다. # Numpy와 함께 사용되어 다양한 연계적인 기능을 제공합니다. # 인덱스(Index)에 따라 데이터를 나열하므로 사전(Dictionary) 자료형에 가깝습니다. # 시리즈(Series)를 기본적인 자료형으로 사용합니다. # 시리즈(Series): 시리즈는 인덱스와 값으로 구성됩니다. import pandas as pd array = pd.Series(['사과', '바나나', '당근'], index=['a', 'b', 'c']) print(array) print(array['a']) a 사과 b 바나나 c 당근 dtype: object 사과 import pandas as pd .. 2022. 4. 16.
14. KNN 숫자 인식 예제 #숫자 이미지 분류하여 저장하기 #1)숫자 인식 예제 코드 knn_trainer.py import cv2 import numpy as np img = cv2.imread('digits.png') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 세로로 50줄, 가로로 100줄로 사진을 나눕니다. cells = [np.hsplit(row, 100) for row in np.vsplit(gray, 50)] x = np.array(cells) print(x.shape) # 5000개 데이터, 20x20 크기 # 각 (20 X 20) 크기의 사진을 한 줄(1 X 400)으로 바꿉니다. train = x[:, :].reshape(-1, 400).astype(np.float32) .. 2022. 4. 16.
13. KNN Algorithm #KNN Algorithm #K-Nearest Neighbor #KNN은 비지도학습(Unsupervised Learning)의 가장 간단한 예시입니다. #다양한 레이블의 데이터 중에서, 자신과 가까운 데이터를 찾아 자신의 레이블을 결정하는 방식입니다. import cv2 import numpy as np from matplotlib import pyplot as plt # 각 데이터의 위치: 25 X 2 크기에 각각 0 ~ 100 # astype 데이터형 dtype 변환(캐스팅) #random.randint() 함수는 [최소값, 최대값)의 범위에서 임의의 정수를 만듦 trainData = np.random.randint(0, 100, (25, 2)).astype(np.float32) # 각 데이터는 0 .. 2022. 4. 16.
12. OpenCV Filtering #필터링 #이미지에 커널을 적용하여 이미지를 흐리게(Blurring = Smoothing) 처리할 수 있습니다. #이미지를 흐리게 만들면 노이즈 및 손상을 줄일 수 있습니다. #특정한 이미지에서 커널(Kernel)을 적용해 컨볼루션 계산하여 필터링을 수행할 수 있습니다. #직접 커널을 생성하여 필터 적용하기 import cv2 import matplotlib.pyplot as plt import numpy as np image = cv2.imread('cat2.jpg') plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) plt.show() size = 10 kernel = np.ones((size, size), np.float32) / (size ** 2) pri.. 2022. 4. 16.
11. OpenCV Contours 처리 #cv2.boundingRect(contour): Contour를 포함하는 사각형을 그립니다. #사각형의 X, Y 좌표와 너비, 높이를 반환합니다. import cv2 import matplotlib.pyplot as plt image = cv2.imread('image_5.png') image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(image_gray, 230, 255, 0) #논리곱(bitwise_and), 논리합(bitwise_or), 배타적 논리합(bitwise_xor), 부정(bitwise_not) #검,흰을 단절하기 위해 thresh = cv2.bitwise_not(thresh) plt.imshow(.. 2022. 4. 16.
10. OpenCV Contours #cv2.findContours(image, mode, method): 이미지에서 Contour들을 찾는 함수 #mode: Contour들을 찾는 방법 #1) RETR_EXTERNAL: 바깥쪽 Line만 찾기 #2) RETR_LIST: 모든 Line을 찾지만, Hierarchy 구성 X #3) RETR_TREE: 모든 Line을 찾으며, 모든 Hierarchy 구성 O #method: Contour들을 찾는 근사치 방법 #1) CHAIN_APPROX_NONE: 모든 Contour 포인트 저장 #2) CHAIN_APPROX_SIMPLE: Contour Line을 그릴 수 있는 포인트만 저장 #입력 이미지는 Gray Scale Threshold 전처리 과정이 필요합니다. #cv2.drawContours(im.. 2022. 4. 16.
9. OpenCV 도형 그리기 #cv2.line(image, start, end, color, thickness): 하나의 직선을 그리는 함수 #start: 시작 좌표 (2차원) #end: 종료 좌표 (2차원) #thickness: 선의 두께 import cv2 import numpy as np import matplotlib.pyplot as plt image = np.full((512, 512, 3), 255, np.uint8) image = cv2.line(image, (0, 0), (255, 255), (255, 0, 0), 5) plt.imshow(image) plt.show() #cv2.rectangle(image, start, end, color, thickness): 하나의 사각형을 그리는 함수 #start: 시작 좌표.. 2022. 4. 16.
728x90
반응형