이번 포스팅은 Dimensionality Reduction(차원 축소)에 대해 정리해보겠습니다.1. 차원 축소를 하는 이유?개와 고양이 분류 예제로 "차원 축소를 해야 하는 이유"에 대해 생각해 보겠습니다. 개와 고양이에 대한 10개의 데이터 샘플이 있다고 생각해봅시다. 이 경우 어떻게 분류할 수 있을까요? 쉽게 생각하면 두 번째 그림처럼 중간을 반을 나눠 왼쪽은 개, 오른쪽은 고양이로 분류할 수 있습니다. 하지만 이렇게 분류하게 되면 각각 양쪽에 고양이, 개가 하나씩 존재하여 완벽하게 나눠진 것처럼 보이지 않습니다. 그래서 두개를 잘 구분하기 위해 Feature 1개를 추가하여 2차원으로 구성하고 개와 고양이를 나눠 보겠습니다. Feature2를 추가하여 2차원 공간의 개와 고양이를 살펴보고 Linea..
차원의 저주 - Curse of Dimensionality에 대해 정리해보겠습니다. 1. 차원의 저주 일상적으로 경험하는 3차원 물리 공간에서 발생하지 않는 현상으로 고차원 데이터를 분석하거나 구성하는 과정에서 발생하는 다양한 현상을 말합니다. 머신러닝에서 많은 Feature를 가지고 있다는 것은 고차원 공간의 Data를 다루고 있다는 의미로 차원의 저주에 대해 생각하고 있어야 합니다. 2. 차원의 저주 현상2-1 데이터의 밀집도 (Data Density) 차원이 다르면 Data의 밀집도가 달라집니다. 위 그림은 N개의 Data를 서로 다른 차원에서 다룰때 데이터의 밀집도가 달라지는 모습을 표현하고 있습니다. - 1차원에서 데이터의 밀집도는 N/5로 하나의 큐브는 N/5 샘플을 가지게 됩니다. - 2차원..
이번 포스팅은 numpy의 boolean index, fancy index에 대해 정리글 입니다. 아래 참고 사이트 목록의 유튜브 영상을 참조하여 남깁니다. 1. boolean index numpy는 배열은 특정 조건에 따른 값을 배열 형태로 추출 할 수 있습니다. 비교 연산 함수 들도 모두 사용이 가능합니다. import numpy as np; test_array = np.array([1,4,0,2,3,8,9,7], float) # 조건에 맞으면 ture, 틀리면 false의 배열을 출력 test_array > 3 # 조건이 true인 index의 element만 추출 test_array[test_array>3] # 조건에 맞는것만 추출한다. condition = test_array 25 B # 0,1..
numpy에서 많이 사용하는 where, argmax, argmin에 대해 정리해보겠습니다. 아래 코드들은 jupyter를 활용하여 순서대로 실행해보세요. 1. numpy array 값 비교 numpy는 배열요소 그대로 비교 작업이 가능합니다. import numpy as np; a = np.arange(10) a a > 5 -- 출력 -- array([False, False, False, False, False, False, True, True, True, True]) 배열과 숫자를 비교하면 각각의 요소와 비교한 결과가 Array 형태로 출력됩니다. sum(a>5) -- 출력 -- 4 그래서 비교한 값을 sum으로 계산하면 True가 몇 개인지 확인할 수 있습니다. any any는 array 요소들 중..
Node.js를 서버를 운영하게 되면 고민되는 문제가 있습니다. 첫번째로 Node.js는 싱글 쓰레드로 동작하고 CPU의 단일 코어를 사용하기 때문에 멀티 코어 CPU를 사용하면 성능이 원하는 만큼 높아지지 않습니다. 두번째로는 서버에 에러가 발생 했을때 프로세스가 죽게 되어 서비스가 중단되게 됩니다. 이러한 문제들을 해소하기 위해 여러가지 관리 도구 들이 나왔는데 PM2도 Node.js의 프로세스를 관리하는 도구중 하나 입니다. 이 포스팅에서는 PM2를 설치하고 기본적으로 알아야할 PM2의 기능들을 저리해 보겠습니다. 1. 설치PM2 사용하려면 먼저 설치해 주어야 합니다. 기본적으로 node와 npm이 설치되어야 합니다.설치는 npm or yarn 을 활용하여 간단히 설치 할 수 있습니다. 다음 명령어..
이번 포스팅은 서포트 백터 머신에 대해 정리해보겠습니다. 머신 러닝을 공부하면서 제가 서포트 백터 머신에 대한 정리한 내용으로 잘못된 부분이 있다면 댓글로 지적해주시면 수정하겠습니다. 1. 서포트 백터 머신 서포트 백터 머신은 기계 학습 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도 학습에 한 분야이며 주로 분류와 회귀 분석을 위해 사용합니다. 두 카테고리가 있다고 가정할때 하나의 새로운 데이터가 들어오면 어떤 카테고리에 속하는지 판단하는 비확율적 선형 모델을 만드는 것이 서포트 백터 머신 입니다. 서포트 백터 머신은 위 그림과 같이 두개의 카테고리가 나눠져 있을때 어떠한 선을 그어 두개의 분류를 가장 잘 표현하는 선이 무엇인지 찾는 방법입니다. 두 개로 나뉜 데이터가 존재할 때 초평면(Heperp..
파이썬 numpy의 array 사칙연산 및 행렬 계산을 공부하면서 정리한 글입니다. 사칙연산 numpy는 기본적으로 array 간의 사칙연산을 지원합니다. 행과 열이 같은 배열을 계산하면 값은 위치에 있는 값들이 계산됩니다. 이런 현상을 Element-wise operations이라 하며 Shape이 같을 때 발생합니다. import numpy as np test_a = np.array([[1,2,3],[4,5,6]], np.float) 덧셈 test_a + test_a -- 출력 -- array([[ 2., 4., 6.], [ 8., 10., 12.]]) 뺄셈 test_a - test_a -- 출력 -- array([[0., 0., 0.], [0., 0., 0.]]) 곱셉 test_a * test_a ..
CentOS 7 사용자 추가하는 방법을 정리해보겠습니다. 리눅스에서는 유저 추가하는 방법이 거의 모두 비슷하니 CentOS 뿐만 아니라 다른 리눅스에서도 사용 가능합니다. 사용자 관리 useradd useradd 명령어를 사용하여 사용자를 추가 합니다. sudo useradd -m newuser -- 옵션 -- -m : 해당 유저의 폴더를 같이 생성 -g : 그룹 지정 -d : 디렉토리 지정 -s : 쉘(shell) 지정 -p : 패스워드(암호) 지정 passwd 명령어로 생성한 유저의 비밀번호를 설정합니다. sudo passwd newuser userdel 사용자를 삭제 하기 위해서 userdel 명령어를 사용합니다. 폴더와 관련된 정보를 모두 삭제하기 위해 -r 옵션을 꼭 주고 삭제합니다. sudo ..
CentOS에서 node 환경을 구성하기 위해 nvm 활용하여 node.js를 설치해보겠습니다. nvm을 활용하는 이유는 node, npm 버전을 상황에 따라 쉽게 사용할 수 있기 때문에 버전에 따른 테스트와 서버 구동을 빠르게 진행할 수 있습니다. 그리고 버전마다 글로벌 모듈도 따로 설치가 가능하기 때문에 관리 측면에서도 장점이 있습니다. 그럼 nvm, node, npm을 설치하고 간단한 node.js 서버를 구동해보겠습니다. 1. nvm 설치 서버상에 nvm 설치를 위해 wget 모듈이 설치되어 있는지 확인합니다. 설치가 안되어 있다면 다음 명령어로 설치해주세요. yum install wget 다음은 nvm을 wget으로 다운로드 후 바로 설치하는 명령어입니다. wget -qO- https://raw..
파이썬 numpy로 단위행렬, 대각 행렬 생성하는 방법과 대각 행렬 요소를 추출하는 방법을 정리해보겠습니다. numpy에서 identity, eye, diag 함수를 제공합니다. identity : n 단위 행렬 생성 eye : 대각 행렬 생성 diag : 대각선 요소 추출 identity identity를 활용하면 필요한 number of rows의 단위행렬을 생성할 수 있습니다. 단위행렬이란 주 대각선 원소가 모두 1이며 나머지 원소는 0인 행렬을 말합니다. np.identity(n=3, dtype=np.int8) -- 출력 -- array([[1, 0, 0], [0, 1, 0], [0, 0, 1]], dtype=int8) np.identity(5) -- 출력 -- array([[1., 0., 0.,..
- Total
- Today
- Yesterday
- 지도학습
- k8s metrics-server
- react
- 버츄얼스튜디오코드
- CHATGOT
- 노드
- Java leetcode
- numpy
- GPTGOT
- React 프로젝트 생성
- k8s metrics-server running
- git
- Java
- LeetCode 30일 챌린지
- LeetCode 알고리즘 공부
- 리엑트
- 파이썬 numpy
- 퍼셉트론
- 에라토스테네스
- 30 Day LeetCode Challenge
- 넘파이
- Node
- 파이썬
- LeetCode 5월 챌린지
- 머신러닝
- vscode
- GPT서비스
- LeetCode 풀이
- Component
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |