본문 바로가기

전체 글72

[ML] 선형 회귀(Linear, Polynomial, Multiple) 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 선형 회귀란? 하나의 종속변수와 하나 이상의 독립변수 사이에 최적의 직선을 찾는 알고리즘 예측값과 실제값의 오차를 최소화하는 선을 찾아서 모델을 최적화 수식을 도출하기에 매우 쉽게 때문에 그 해석도 직관적 단순 선형 회귀(Linear Regression) 독립변수도 하나, 종속변수도 하나인 단순한 형태의 선형 회귀 단순 선형 회귀에서는 기울기 $w_1$과 절편 $w_0$을 회귀 계수로 지칭하고 구한다. 아래 그래프는 생선의 길이와 무게 데이터로 선형 회귀선을 구해 본 것이다. 다항 선형 회귀(Polynomial Regress.. 2022. 12. 19.
[ML] Encoding : Label & One Hot 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 데이터 인코딩 머신러닝을 위한 대표적인 인코딩 방식 : 레이블 인코딩(Label Encoding) & 원-핫 인코딩(One Hot Encoding) 레이블 인코딩은 범주형 데이터의 피처를 unique한 코드형 숫자값으로 변환하는 방식 원-핫 인코딩은 피처 값의 유형에 따라 새로운 피처를 추가해 고유 값에 해당하는 컬럼에만 1을 표시하고 나머지 컬럼에는 0을 표시하는 방식 레이블 인코딩 Scikit Learn의 LabelEncoder 클래스로 구현 from sklearn.preprocessing import LabelEncod.. 2022. 12. 16.
[ML] Data Pre-processing : Scaling 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. Data Scaling 데이터 전처리 과정 중 하나인 데이터 스케일링을 다룹니다. 데이터 간의 거리에 영향을 받는 알고리즘을 사용할 때, 특성들의 스케일이 차이가 많이 나면 머신러닝 모델이 잘 작동하지 않을 수 있습니다. 이때, 데이터의 스케일을 일정한 기준으로 맞춰 주는 방법으로 Data Scaling 을 하게됩니다. 대표적인 Scaling 개념 Standardization(표준화) 특성들의 평균을 0, 분산을 1로 스케일링 표준점수(z-Score)를 활용해 Numpy로 표준화하기 mean = mp.mean(train_in.. 2022. 12. 16.
[ML] KNN(K-Nearest Neighbor) K-최근접 이웃(KNN) 지도 학습 알고리즘 중 하나, 굉장히 직관적이고 간단하다. 어떤 데이터가 주어지면 그 주변(이웃)의 데이터를 살펴본 뒤 더 많은 데이터가 포함되어 있는 범주로 분류하는 방식 KNN은 분류와 회귀 문제 둘다 사용할 수 있다. KNN Classification 새로운 데이터(빨간 점) 이 주어졌을 때 이를 A로 분류할지, B로 분류할지 판단하는 문제 k=3(안쪽 원)일 때, 노란색 점(Class A) 1개와 보라색 점(Class B) 2개가 있다. 따라서 k=3일 때 빨간 점은 B로 분류 된다. k=6(바깥쪽 원)일 때, 노란색 점 4개와 보라색 점 2개가 있으므로 노란색 점으로 분류된다. K의 값에 따라 결과가 달라지므로 너무 작아서도 안되고 너무 커서도 안된다. 보통 K 값은 홀.. 2022. 12. 12.
[OpenCV] Error : Can't parse 'center'. Sequence item with index 0 has a wrong type OpenCV 를 이용하여 Face alignment 를 진행하는 도중에 발생한 오류 Github 코드 GitHub - Byeon-MJ/Computer_Vision_Project Contribute to Byeon-MJ/Computer_Vision_Project development by creating an account on GitHub. github.com 두 눈을 중앙점으로 두 눈 사이의 중앙점을 구해서 회전하기위해 getRotationMatrix2D 메소드를 사용하였는데 아래 에러가 발생하였다. rotate = cv2.getRotationMatrix2D(eyes_center, degree, scale) TypeError: Can't parse 'center'. Sequence item with i.. 2022. 12. 9.
[Python] map, zip, filter, enumerate 정리 Built-in Functions 파이썬에는 이미 만들어진 많은 내장함수들이 존재하지만 오늘은 map, zip, filter, enumerate를 공부하고 정리해보려고 한다. 나도 여기저기서 자주 보았고, 사용도 해봤지만 할때마다 기억이 잘 안나서 이번 기회에 제대로 정리해두려고 한다. 1. map map(function, iterable, *iterables) map은 입력된 iterable에 function이 적용된 iterator를 반환한다. function에는 내장함수, 람다함수, method 등을 사용할 수 있다. data = list(range(10)) data [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 1.1 Python 내장함수 사용 str() 함수 활용하여 data의 내용을 .. 2022. 12. 9.
[ML] 지도 학습, 비지도 학습, 강화 학습 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 머신 러닝(Machine Learning) - 머신러닝은 데이터를 사용하여 기계가 스스로 학습하는 방식 - 머신러닝의 학습 방법에 따라 지도 학습, 비지도 학습, 강화 학습으로 구분할 수 있다. 출처 https://wendys.tistory.com/169 지도 학습(Supervised Learning) 지도 학습은 데이터 중에서도 정답이 있는 데이터를 이용하여 학습 정답이란 데이터에 레이블(Label)이란 이름으로 가지고 있다. 정답이 있는 데이터를 인공지능에 입력하여 학습시키면 인공지능은 여러 장의 사진 중에서도 해당 정답.. 2022. 12. 9.
[OpenCV] BRG 이미지를 RGB 이미지로 변환하기 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 시각화/OpenCV 짤막 지식 저장된 이미지를 파이썬에서 OpenCV를 사용해서 불러오면 기존 이미지와 색이 바뀌게 된다. import cv2 img_data = cv2.imread('fig1.jpg') # 이미지를 화면에 출력 plt.imshow(img_data) plt.grid(False) plt.axis('off') plt.show() 색이 바뀌어 보이는 이유는, 컬러 사진의 경우 OpenCV에서는 'BRG' 순으로 저장을 하는데 matplotlib 에서는 'RGB' 순으로 색을 저장하기 때문이다. 따라서 BRG를 RG.. 2022. 12. 9.
[Pandas] 데이터 타입 - 카테고리 자료형 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 파이썬/판다스 짤막 지식 Categorical Dtype 데이터를 전처리 할때 카테고리 데이터를 인코딩해줘야 할 필요가 있다. 이때, Pandas에는 범주형 데이터를 표현할 수 있는 Categorical형 이라고 하는 특수한 데이터 형이 존재한다. Categorical 메서드 범주형 데이터를 담고 있는 Series는 특화된 문자열 메서드인 Series.str과 유사한 특수 메서드인 cat 속성이 있다. 이를 통해 categories와 codes나 categorical 메서드 등에 쉽게 접근할 수 있다. 예시를 위한 데이터프레.. 2022. 12. 9.
[Web Crawling] Requests 와 URLLIB 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 먼저 웹 크롤링을 시작하기에 앞서 HTTP 요청 및 URL 작업을 위한 모듈에 대해 알아보자 Python에서는 대표적으로 'requests' 와 'urllib' 라는 두 모듈이 있다. Requests requests 모듈은 Python에서 HTTP 요청을 보낼 수 있는 모듈이다. URL과 Parameter를 통해 요청을 보내고 응답(Response)를 받는다. Response 객체 요청(request)을 보내면 응답(response)를 받는데, 이 응답은 Python의 객체로 받게 된다. response에는 여러가지 정보와 .. 2022. 12. 9.
[Web Crawling] 웹 크롤링 개요 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 웹 크롤링에 대한 정리를 해보려 한다. 웹에서 데이터를 수집하는 방법으로는 대표적으로 다음과 같은 방법이 있다. - 웹 스크래핑(웹 크롤링)을 통한 수집 - 공공데이터 포털 등에서 제공하는 CSV, EXCEL 파일 - 네이버, 카카오 등에서 제공하는 API 서비스 웹 크롤러(Web Crawler) "웹 크롤러" 는 웹 상에 있는 웹 문서나 이미지 등의 콘텐츠들을 자동으로 수집하는 프로그램의 일종이다. 웹 크롤링 작업을 통해 얻은 다양한 데이터들을 정리하여 데이터베이스에 저장하거나, 파일로 만들어서 사용할 수 있게 된다. 웹 .. 2022. 12. 9.
[Jupyter Notebook] 시작 경로 변경 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 오늘은 Jupyter Notebook의 시작 경로를 바꾸는 방법을 포스팅 하려 합니다. Python을 다루시는 분들 중에서 많은 분들이 Jupyter Notebook을 사용하고 있을 것으로 생각됩니다. 여러 가상환경을 사용하게 되고 가상환경마다 Jupyter Notebook을 사용하다보니 가상환경마다 시작 경로를 바꾸고 싶어서 찾아보다가 공유하기 위해 포스팅을 합니다. 시작 경로 변경 방법은 두가지 방법이 있습니다. 1. jupyter_notebook_config.py 에서 시작 위치 변경 2. Jupyter Notebook.. 2022. 12. 9.