홈>
다음과 같은 numpy 배열이 있습니다 :
foo = np.array([[0.0, 10.0], [0.13216, 12.11837], [0.25379, 42.05027], [0.30874, 13.11784]])
다음을 산출합니다 :
[[ 0. 10. ]
[ 0.13216 12.11837]
[ 0.25379 42.05027]
[ 0.30874 13.11784]]
이 배열의 Y 구성 요소를 어떻게 정규화 할 수 있습니까? 그래서 그것은 나에게 다음과 같은 것을 준다 :
[[ 0. 0. ]
[ 0.13216 0.06 ]
[ 0.25379 1 ]
[ 0.30874 0.097]]
- 답변 # 1
- 답변 # 2
당신이 이것을 원한다고 생각합니다 :
foo[:,1] = (foo[:,1] - foo[:,1].min()) / (foo[:,1].max() - foo[:,1].min())
- 답변 # 3
sklearn.preprocessing.MinMaxScaler도 사용할 수 있습니다 (
feature_range=(0, 1)
기본값입니다) :from sklearn import preprocessing min_max_scaler = preprocessing.MinMaxScaler() v = foo[:,1] v_scaled = min_max_scaler.fit_transform(v) foo[:,1] = v_scaled print(foo)
출력 :
[[ 0. 0. ] [ 0.13216 0.06609523] [ 0.25379 1. ] [ 0.30874 0.09727968]]
장점은 모든 범위로 확장 할 수 있다는 것입니다.
- 답변 # 4
두 번째 열만 0에서 1 사이의 최소-최대 스케일을 시도하고 있습니다.
sklearn.preprocessing.minmax_scale
사용 문제를 쉽게 해결해야합니다.예 :
from sklearn.preprocessing import minmax_scale column_1 = foo[:,0] #first column you don't want to scale column_2 = minmax_scale(foo[:,1], feature_range=(0,1)) #second column you want to scale foo_norm = np.stack((column_1, column_2), axis=1) #stack both columns to get a 2d array
수율이어야한다
<시간>array([[0. , 0. ], [0.13216 , 0.06609523], [0.25379 , 1. ], [0.30874 , 0.09727968]])
두 열 모두 0에서 1 사이의 최소-최대 스케일을 원할 수 있습니다. 이 경우 다음을 사용하십시오 :
foo_norm = minmax_scale(foo, feature_range=(0,1), axis=0)
어떤 수확량
array([[0. , 0. ], [0.42806245, 0.06609523], [0.82201853, 1. ], [1. , 0.09727968]])
참고: 벡터의 표준 (길이)을 특정 값 (일반적으로 1)으로 조정하는 연산과 혼동하지 마십시오. 일반적으로 정규화라고도합니다.
관련 자료
- python 3.x - numpy - 2d 배열 행렬의 크기?
- python - tensorflow EagerTensors 목록을 numpy 배열로 변환하는 방법
- numpy 배열에 상수를 추가하지만 Python에서 첫 번째 행을 건너 뛰는 방법
- python - 두 배열 및 조건을 기반으로 numpy 배열을 정렬하는 방법
- python - numpy 객체 배열을 해싱하면 hashlib는 포인터뿐만 아니라 객체의 내용을 어떻게 볼 수 있습니까?
- pandas - Python DataFrame을 NumPy 배열로 변환하는 방법
- python - numpy - 배열의 슬라이스 방법이 배열의 한계를 통과하고 처음으로 돌아가는 방법
- python - numpy 배열의 정렬 결과를 수정하는 방법
- python - N 차원 numpy 배열을 필터링하고 특정 요소 만 유지
- python - txt (문자열) 파일에서 부동의 4D 배열을 부동의 numpy 배열로 변환
- FORTRAN 배열을 numpy 배열로 변환
- Python으로 추가되는 다차원 numpy 배열
- Python 클래스를 Numpy 배열로 캐스트
- python - Excel에서 2D numpy 배열로 가져 오는 방법은 무엇입니까?
- python - NumPy 배열에 정수 값만있는 방법은 무엇입니까?
- python - numpy 배열 조작을위한 런타임 최소화
- python - 블록 단위로 numpy 배열 추가
- python - 다른 2d 배열에서 발생하는 2d numpy 배열의 인덱스를 찾는 방법
- 다른 2D 배열에서 numpy 2d 배열의 행 인덱스 찾기
- python - ModernGL 버퍼와의 Numpy 배열 (cv2로 열고 저장)
관련 질문
- python : ID가 없는 축소 작업 최대값에 대한 0 크기 배열
- python : 다른 배열에 있는 배열에서 요소 제거
- python : Numpy 문자열 배열 -numpy 문자열 배열에서 tobytes()를 호출하는 이상한 동작
- python : Numpy 배열의 빙고
- python : 루프가 없는 고르지 않은 반복의 경우 np.repeat()와 동일
- python : 이 작업을 더 빠르게 수행할 수 있는 방법이 있습니까?
- python : TypeError: matplotlib에서 플롯의 정수 스칼라 배열만 스칼라 인덱스로 변환할 수 있습니다.
- python : 프로젝트 오일러 11 Pyth0n
- python : 3059x704760 픽셀의 이미지 크기가 너무 큽니다. 각 방향으로 2^16보다 작아야 합니다.
- python : for 루프 내에서 numpy vstack 및 numpy hstack 초기화 및 업데이트
이 Cross Validated Link, 데이터를 0-1 범위로 정규화하는 방법을 참조하면
<시간>foo
의 마지막 열에서 최소 최대 정규화를 수행 할 수있는 것처럼 보입니다. .OP가 제안한 정규화를 수행하는 또 다른 옵션은
sklearn.preprocessing.normalize
를 사용하는 것입니다. , 약간 다른 결과가 나타납니다-