Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để dữ liệu có thể được chuẩn hóa để dự đoán hiệu quả nhiên liệu với bộ dữ liệu Auto MPG sử dụng TensorFlow?


Tensorflow là một khuôn khổ học máy do Google cung cấp. Nó là một khung công tác mã nguồn mở được sử dụng cùng với Python để triển khai các thuật toán, ứng dụng học sâu và hơn thế nữa. Gói 'tensorflow' có thể được cài đặt trên Windows bằng dòng mã bên dưới -

pip install tensorflow

Tensor là một cấu trúc dữ liệu được sử dụng trong TensorFlow. Nó giúp kết nối các cạnh trong một sơ đồ luồng. Sơ đồ luồng này được gọi là 'Biểu đồ luồng dữ liệu'. Tensors không là gì ngoài mảng nhiều chiều hoặc một danh sách.

Mục đích đằng sau bài toán hồi quy là dự đoán đầu ra của một biến số liên tục hoặc rời rạc, chẳng hạn như giá cả, xác suất, liệu trời có mưa hay không, v.v.

Tập dữ liệu chúng tôi sử dụng được gọi là tập dữ liệu ‘Auto MPG’. Nó chứa hiệu suất nhiên liệu của ô tô những năm 1970 và 1980. Nó bao gồm các thuộc tính như trọng lượng, mã lực, dịch chuyển, v.v. Với điều này, chúng ta cần dự đoán hiệu quả sử dụng nhiên liệu của các loại xe cụ thể.

Chúng tôi đang sử dụng Google Colaboratory để chạy đoạn mã dưới đây. Google Colab hoặc Colaboratory giúp chạy mã Python qua trình duyệt và không yêu cầu cấu hình cũng như quyền truy cập miễn phí vào GPU (Đơn vị xử lý đồ họa). Colaboratory đã được xây dựng trên Jupyter Notebook.

Sau đây là đoạn mã -

Ví dụ

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())

Tín dụng mã - https://www.tensorflow.org/tutorials/keras/regression

Đầu ra

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]]

Giải thích

  • Giá trị đích (nhãn) được tách biệt với các tính năng.

  • Nhãn là giá trị cần được đào tạo để các dự đoán xảy ra.

  • Các tính năng được chuẩn hóa để quá trình đào tạo diễn ra ổn định.

  • Chức năng 'Chuẩn hóa' trong Tensorflow xử lý trước dữ liệu.

  • Lớp đầu tiên được tạo, giá trị trung bình và phương sai được lưu trữ trong lớp này.

  • Khi lớp này được gọi, nó trả về dữ liệu đầu vào mà mọi tính năng đã được chuẩn hóa.