| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- 데이터분석
- 컴퓨터과학
- 네트워크보안
- 자료구조
- 보안
- 컴퓨터비전
- 소프트웨어공학
- 자바스크립트
- 네트워크
- 인공지능
- 디자인패턴
- 프로그래밍언어
- 소프트웨어
- 웹개발
- 클라우드컴퓨팅
- 프로그래밍
- 알고리즘
- 사이버보안
- 버전관리
- 데이터구조
- I'm Sorry
- 딥러닝
- 컴퓨터공학
- 파이썬
- 데이터베이스
- 데이터과학
- Yes
- 빅데이터
- springboot
- 머신러닝
- Today
- Total
스택큐힙리스트
넘파이에서 인덱스 배열을 원-핫 인코딩 된 배열로 변환하십시오. 본문
인덱스 1D 배열이 주어졌을 때:
a = array([1, 0, 3])
이것을 2D 배열로 원핫 인코딩하고 싶습니다.
b = array([[0,1,0,0], [1,0,0,0], [0,0,0,1]])
답변 1
충분한 열을 가진 b 0으로 초기화된 배열을 만듭니다. 그런 다음 각 행 i 에 대해 a[i] 열을 1 로 설정합니다.
>>> a = np.array([1, 0, 3])
>>> b = np.zeros((a.size, a.max() + 1))
>>> b[np.arange(a.size), a] = 1
>>> b
array([[ 0., 1., 0., 0.],
[ 1., 0., 0., 0.],
[ 0., 0., 0., 1.]])
답변 2
NumPy에서 인덱스 배열을 원-핫 인코딩 배열로 변환하는 방법을 알아보세요.NumPy는 파이썬에서 배열 및 행렬 계산을 위한 대표적인 라이브러리입니다. 이 라이브러리는 다양한 수학 함수를 제공하며, 인덱싱(indexing) 및 슬라이싱(slicing) 기능을 지원하는 다차원 배열 객체를 사용합니다.
인덱스 배열은 0에서부터 n까지의 정수로 이루어진 1차원 배열입니다. 이 배열을 one-hot encoded 배열로 변환하려면, 우선 원하는 배열의 크기를 정의해야 합니다. 이 크기는 인덱스 배열에서 최댓값을 찾아 +1을 하면 됩니다.
다음으로, np.eye() 함수를 사용하여 one-hot encoded 배열을 생성합니다. 이 함수는 대각 행렬(diagonal matrix)을 생성하는데, 대각선에는 1이 있고 나머지는 0인 행렬입니다. 이 함수를 사용하면 one-hot encoded 배열을 쉽게 생성할 수 있습니다.
예를 들어, 다음과 같은 인덱스 배열이 있다고 가정해보겠습니다.
```
import numpy as np
idx = np.array([2, 0, 1, 3])
```
이 배열을 one-hot encoded 배열로 변환하려면 다음과 같이 코드를 작성할 수 있습니다.
```
one_hot = np.zeros((idx.size, idx.max()+1))
one_hot[np.arange(idx.size), idx] = 1
```
이 코드는 먼저 one-hot encoded 배열의 크기를 정의합니다. idx.size는 인덱스 배열의 길이이고, idx.max()+1은 원-핫 인코딩된 배열의 크기입니다. 그리고 np.zeros() 함수를 사용하여 모든 요소가 0인 배열을 생성합니다.
이후 np.arange() 함수를 사용하여 인덱스 배열의 인덱스를 생성합니다. 이 함수는 0부터 인덱스 배열의 길이까지의 정수를 생성합니다.
마지막으로, 생성된 인덱스 배열과 one-hot encoded 배열을 매핑하는 코드(`one_hot[np.arange(idx.size), idx] = 1`)를 작성합니다. 이 코드는 np.eye() 함수처럼 각 행의 대각선 요소를 1로 바꾸는데 사용됩니다.
결과적으로, one-hot encoded 배열은 다음과 같이 출력됩니다.
```
[[0. 0. 1. 0.]
[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 0. 1.]]
```
이렇게 인덱스 배열을 one-hot encoded 배열로 변환하는 방법을 알아보았습니다. 이 함수는 다양한 딥 러닝 모델에서 사용되며, 데이터 전처리에 유용하게 사용됩니다.