NumPy Reshape에서 -1의 역할 이해
NumPy에서 reshape는 NumPy의 모양을 변형할 수 있는 강력한 기능입니다. 기본 데이터를 유지하면서 배열합니다. reshape를 사용하면 배열의 새로운 모양을 차원의 튜플로 지정할 수 있지만 가끔 -1이라는 수수께끼 같은 값을 만날 수도 있습니다.
-1의 의미 풀기
배열을 재구성하는 기준은 새로운 모양이 원래 모양과 호환되어야 한다는 것입니다. 이 컨텍스트에서 -1은 알 수 없는 차원에 대한 자리 표시자 역할을 합니다. 한 차원을 -1로 지정하면 NumPy는 배열의 전체 길이와 지정된 다른 차원을 기반으로 해당 차원의 실제 값을 결정합니다.
-1을 사용한 재구성의 예
형상 변경 시 -1이 어떻게 작동하는지 보여주는 예를 살펴보겠습니다.
<code class="python">import numpy as np z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) print(z.shape) # (3, 4)</code>
(12,)로 형식 변경
<code class="python">reshaped_z = z.reshape(-1) print(reshaped_z.shape) # (12,)</code>
여기서 경우 새 모양은 (-1,)로 지정되며 이는 1D 배열을 원함을 나타냅니다. NumPy는 알 수 없는 차원을 12로 계산하여 원래 배열의 모든 요소를 포함하는 1D 배열을 생성합니다.
(-1, 1)
<code class="python">reshaped_z = z.reshape(-1, 1) print(reshaped_z.shape) # (12, 1)</code>
(1, -)로 재형성 1)
<code class="python">reshaped_z = z.reshape(1, -1) print(reshaped_z.shape) # (1, 12)</code>
단일 기능 또는 샘플에 -1 사용
참고하는 것이 중요합니다. NumPy는 단일 특성으로 데이터를 재구성하려면 (-1, 1)을 사용하고 단일 샘플을 포함하는 데이터에는 (1, -1)을 사용하도록 권장합니다.<code class="python"># Reshape for a single feature single_feature = np.reshape(z, (-1, 1)) # Reshape for a single sample single_sample = np.reshape(z, (1, -1))</code>
-1의 제한 사항
-1은 형태 변경 시 유연성을 제공하지만 두 치수를 모두 알 수 없음으로 지정하는 데 사용할 수 없습니다. 그렇게 시도하면 ValueError가 발생합니다.<code class="python"># Attempting to set both dimensions as -1 invalid_reshape = z.reshape(-1, -1) # ValueError: can only specify one unknown dimension</code>
위 내용은 NumPy의 Reshape 기능에서 -1의 중요성은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!