Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 scikit-learn 라이브러리를 사용하여 데이터를 확장하는 방법은 무엇입니까?

<시간/>

피쳐 스케일링은 머신 러닝 알고리즘 구축의 데이터 전처리 단계에서 중요한 단계입니다. 특정 범위에 속하도록 데이터를 정규화하는 데 도움이 됩니다.

때로는 기계가 계산을 수행하는 속도를 높이는 데도 도움이 됩니다.

왜 필요한가요?

학습 알고리즘에 입력으로 제공되는 데이터는 일관되고 구조화되어 있어야 합니다. 값을 효과적으로 예측하려면 입력 데이터의 모든 기능이 단일 척도에 있어야 합니다. 그러나 현실 세계에서 데이터는 구조화되지 않고 대부분 동일한 규모가 아닙니다.

이것은 정규화가 그림으로 등장할 때입니다. 가장 중요한 데이터 준비 프로세스 중 하나입니다. 입력 데이터 세트의 열 값을 동일한 척도로 변경하는 데 도움이 됩니다.

Scikit 학습 라이브러리를 사용하여 Python에서 기능 확장을 수행하는 방법을 알아보겠습니다.

예시

import numpy as np
from sklearn import preprocessing
input_data = np.array(
[[34.78, 31.9, -65.5],
[-16.5, 2.45, -83.5],
[0.5, -87.98, 45.62],
[5.9, 2.38, -55.82]])
data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0,1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print ("\nThe scaled data is \n", data_scaled_minmax)

출력

The scaled data is
[[1.  1. 0.1394052 ]
[0.  0.75433767 0. ]
[0.33151326 0. 1. ]
[0.43681747 0.75375375 0.21437423]]

설명

  • 필요한 패키지를 가져옵니다.

  • 입력 데이터는 Numpy 라이브러리를 사용하여 생성됩니다.

  • 'preprocessing' 클래스에 있는 MinMaxScaler 함수는 0과 1 범위에 속하도록 데이터를 확장하는 데 사용됩니다.

  • 이렇게 하면 배열의 모든 데이터가 0과 1 사이의 값으로 축소됩니다.

  • 이 스케일된 데이터는 콘솔에 표시됩니다.