본문 바로가기

전체 글116

[OpenCV] 이미지에 문자열 넣기 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 참고 자료들은 최대한 Reference에 넣었으며 문제가 생길시 연락 부탁드립니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. Computer Vision 관련 이미지 처리 및 딥러닝을 하다보면 이미지에 문자열을 입력해야하는 경우가 생긴다. 이때 OpenCV를 사용하여 텍스트를 입력할 수 있다. OpenCV는 Drawing Function을 통해 선이나 도형, 문자열을 넣을수 있는 기능을 제공한다. 이 중에서 putText() 라는 메소드를 이용해서 이미지에 텍스트를 입력할 수 있다. cv2.putText cv2.putText(img, text, org, fontFa.. 2022. 12. 20.
[ML] 선형 회귀(Linear, Polynomial, Multiple) 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 선형 회귀란? 하나의 종속변수와 하나 이상의 독립변수 사이에 최적의 직선을 찾는 알고리즘 예측값과 실제값의 오차를 최소화하는 선을 찾아서 모델을 최적화 수식을 도출하기에 매우 쉽게 때문에 그 해석도 직관적 단순 선형 회귀(Linear Regression) 독립변수도 하나, 종속변수도 하나인 단순한 형태의 선형 회귀 단순 선형 회귀에서는 기울기 $w_1$과 절편 $w_0$을 회귀 계수로 지칭하고 구한다. 아래 그래프는 생선의 길이와 무게 데이터로 선형 회귀선을 구해 본 것이다. 다항 선형 회귀(Polynomial Regress.. 2022. 12. 19.
[Algorithm] 프로그래머스 - 가운데 글자 가져오기 시작하며... 모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다. 마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다. [Level 1] 가운데 글자 가져오기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 My Solution def so.. 2022. 12. 19.
[Algorithm] 프로그래머스 - 같은 숫자는 싫어 시작하며... 모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다. 마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다. [Level 1] 같은 숫자는 싫어 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 .. 2022. 12. 19.
[Algorithm] 프로그래머스 - 문자열 내 p와 y의 개수 시작하며... 모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다. 마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다. [Level 1] 문자열 내 p와 y의 개수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 .. 2022. 12. 19.
[Algorithm] 프로그래머스 - 약수의 합 시작하며... 모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다. 마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다. [Level 1] 약수의 합 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. .. 2022. 12. 19.
[Algorithm] 프로그래머스 - 서울에서 김서방 찾기 시작하며... 모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다. 마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다. [Level 1] 서울에서 김서방 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 .. 2022. 12. 19.
[Algorithm] 프로그래머스 - 수박수박수박수박수박수? 시작하며... 모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다. 마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다. [Level 1] 수박수박수박수박수박수? 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,0.. 2022. 12. 16.
[Algorithm] 프로그래머스 - 두 정수 사이의 합 시작하며... 알고리즘 문제를 직접 풀어보고 풀이를 정리하고 더 나은 풀이를 찾아보기 위한 내용을 정리합니다. 몇 문제를 풀고 다른 사람들의 풀이를 보다보니 개발 시작을 Java로 시작해서 그런지 아직 List Comprehension을 이용하는 부분이 많이 약하다고 느껴졌습니다. 그런 부분들도 추가적으로 정리해보도록 하겠습니다. [Level 1] 두 정수 사이의 합 구하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들.. 2022. 12. 16.
[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.