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

TensorFlow를 사용하여 Auto MPG 데이터 세트로 연비를 예측하기 위해 데이터를 어떻게 정규화할 수 있습니까?


Tensorflow는 Google에서 제공하는 기계 학습 프레임워크입니다. 알고리즘, 딥 러닝 애플리케이션 등을 구현하기 위해 Python과 함께 사용되는 오픈 소스 프레임워크입니다. 'tensorflow' 패키지는 아래 코드 줄을 사용하여 Windows에 설치할 수 있습니다. -

pip install tensorflow

Tensor는 TensorFlow에서 사용되는 데이터 구조입니다. 흐름도에서 가장자리를 연결하는 데 도움이 됩니다. 이 흐름도를 '데이터 흐름 그래프'라고 합니다. 텐서는 다차원 배열 또는 목록에 불과합니다.

회귀 문제의 목적은 가격, 확률, 비가 올지 여부 등과 같은 연속형 또는 이산형 변수의 출력을 예측하는 것입니다.

우리가 사용하는 데이터셋을 'Auto MPG' 데이터셋이라고 합니다. 1970년대와 1980년대 자동차의 연비를 담고 있습니다. 여기에는 무게, 마력, 변위 등과 같은 속성이 포함됩니다. 이를 통해 특정 차량의 연비를 예측해야 합니다.

Google Colaboratory를 사용하여 아래 코드를 실행하고 있습니다. Google Colab 또는 Colaboratory는 브라우저를 통해 Python 코드를 실행하는 데 도움이 되며 구성이 필요 없고 GPU(그래픽 처리 장치)에 대한 무료 액세스가 필요합니다. Colaboratory는 Jupyter Notebook을 기반으로 구축되었습니다.

다음은 코드 조각입니다 -

예시

print("Separating the label from features")
train_features = train_dataset.copy()
test_features = test_dataset.copy()

train_labels = train_features.pop('MPG')
test_labels = test_features.pop('MPG')
print("The mean and standard deviation of the training dataset : ")
train_dataset.describe().transpose()[['mean', 'std']]
print("Normalize the features since they use different scales")
print("Creating the normalization layer")
normalizer = preprocessing.Normalization()
normalizer.adapt(np.array(train_features))
print(normalizer.mean.numpy())
first = np.array(train_features[3:4])
print("Every feature has been individually normalized")
with np.printoptions(precision=2, suppress=True):
print('First example is :', first)
print()
print('Normalized data :', normalizer(first).numpy())

코드 크레딧 - https://www.tensorflow.org/tutorials/keras/regression

출력

Separating the label from features
The mean and standard deviation of the training dataset :
Normalize the features since they use different scales
Creating the normalization layer
[ 5.467 193.847 104.135 2976.88 15.591 75.934 0.168 0.197
0.635]
Every feature has been individually normalized
First example is : [[ 4. 105. 63. 2125. 14.7 82. 0. 0. 1. ]]

Normalized data : [[−0.87 −0.87 −1.11 −1.03 −0.33 1.65 −0.45 −0.5 0.76]]

설명

  • 대상 값(라벨)은 특성과 분리됩니다.

  • 레이블은 예측이 발생하도록 훈련해야 하는 값입니다.

  • 훈련이 안정적으로 되도록 특성을 정규화합니다.

  • Tensorflow의 '정규화' 기능은 데이터를 전처리합니다.

  • 첫 번째 레이어가 생성되고 이 레이어에 평균과 분산이 저장됩니다.

  • 이 레이어가 호출되면 모든 기능이 정규화된 입력 데이터를 반환합니다.