Maison  >  Article  >  développement back-end  >  Prédire l'efficacité énergétique à l'aide de Tensorflow en Python

Prédire l'efficacité énergétique à l'aide de Tensorflow en Python

PHPz
PHPzavant
2023-08-25 14:41:061426parcourir

Prédire lefficacité énergétique à laide de Tensorflow en Python

La prévision du rendement énergétique est essentielle pour optimiser les performances des véhicules et réduire les émissions de carbone, et cela peut être facilement prédit à l'aide de la bibliothèque Python Tensorflow. Dans cet article, nous explorerons comment exploiter la puissance de la célèbre bibliothèque d'apprentissage automatique Tensorflow pour prédire l'efficacité énergétique à l'aide de Python. En créant un modèle prédictif basé sur l'ensemble de données Auto MPG, nous pouvons estimer avec précision le rendement énergétique d'un véhicule. Examinons en profondeur le processus de création de prévisions précises en matière d'efficacité énergétique à l'aide de Tensorflow en Python.

Ensemble de données MPG automatique

Pour prédire avec précision l’efficacité énergétique, nous avons besoin d’ensembles de données fiables. L'ensemble de données Auto MPG provient du référentiel UCI Machine Learning et fournit les informations nécessaires à notre modèle. Il contient divers attributs tels que le nombre de cylindres, la cylindrée, le poids, la puissance, l'accélération, le pays d'origine et l'année modèle. Ces attributs servent de caractéristiques, tandis que l'efficacité énergétique (mesurée en miles par gallon, ou MPG) sert d'étiquette. En analysant cet ensemble de données, nous pouvons entraîner le modèle à reconnaître des modèles et à faire des prédictions basées sur des caractéristiques de véhicules similaires.

Préparer l'ensemble de données

Avant de construire le modèle de prédiction, nous devons préparer l'ensemble de données. Cela implique de gérer les valeurs manquantes et de normaliser les fonctionnalités. Les valeurs manquantes peuvent perturber le processus de formation, nous les supprimons donc de l'ensemble de données. La normalisation des caractéristiques telles que la puissance et le poids garantit que chaque caractéristique se situe dans une plage similaire. Cette étape est cruciale car les fonctionnalités avec de grandes plages numériques peuvent dominer le processus d’apprentissage du modèle. La normalisation de l'ensemble de données garantit que toutes les fonctionnalités sont traitées équitablement pendant la formation.

Comment prédire l'efficacité énergétique à l'aide de TensorFlow ?

Voici les étapes que nous suivrons pour prédire l'efficacité énergétique à l'aide de Tensorflow -

  • Importez les bibliothèques nécessaires - nous importons Tensorflow, Keras, Layers et Pandas.

  • Charger l'ensemble de données Auto MPG. Nous spécifions également les noms de colonnes et traitons les valeurs manquantes.

  • Divisez l'ensemble de données en fonctionnalités et étiquettes - Nous divisons l'ensemble de données en deux parties - fonctionnalités (variables d'entrée) et étiquettes (variables de sortie).

  • Fonctionnalités normalisées - Nous utilisons la mise à l'échelle min-max pour normaliser les fonctionnalités.

  • L'ensemble de données est divisé en ensemble d'entraînement et ensemble de test.

  • Définir l'architecture du modèle - Nous définissons un modèle séquentiel simple avec trois couches denses, avec 64 neurones par couche et utilisant la fonction d'activation ReLU.

  • Compilez le modèle - Nous compilons le modèle en utilisant la fonction de perte d'erreur quadratique moyenne (MSE) et l'optimiseur RMSprop.

  • Entraîner le modèle - Entraînez le modèle pendant 1 000 époques sur l'ensemble d'entraînement et spécifiez une répartition de validation de 0,2.

  • Évaluez le modèle - Effectuez une évaluation du modèle sur l'ensemble de test et calculez le MSE moyen ainsi que l'efficacité énergétique et l'erreur absolue (MAE).

  • Calculez le rendement énergétique d'une nouvelle voiture - Nous utilisons pandas DataFrame pour créer la fonction d'une nouvelle voiture. Nous normalisons les caractéristiques des nouvelles voitures en utilisant le même facteur d'échelle que l'ensemble de données d'origine.

  • Prédisez le rendement énergétique des nouvelles voitures à l'aide de modèles entraînés.

  • Imprimer l'efficacité énergétique prévue - Nous imprimons l'efficacité énergétique prévue des nouvelles voitures sur la console

  • Imprimer les métriques de test - Nous imprimons les tests MAE et MSE sur la console.

Le programme ci-dessous utilise Tensorflow pour créer un modèle de réseau neuronal permettant de prédire l'efficacité énergétique sur la base de l'ensemble de données Auto MPG.

Exemple

# Import necessary libraries
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
import pandas as pd

# Load the Auto MPG dataset
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data"
column_names = ['MPG','Cylinders','Displacement','Horsepower','Weight',
   'Acceleration', 'Model Year', 'Origin']
raw_dataset = pd.read_csv(url, names=column_names,
   na_values='?', comment='\t', sep=' ', skipinitialspace=True)

# Drop missing values
dataset = raw_dataset.dropna()

# Separate the dataset into features and labels
cfeatures = dataset.drop('MPG', axis=1)
labels = dataset['MPG']

# Normalize the features using min-max scaling
normalized_features = (cfeatures - cfeatures.min()) / (cfeatures.max() - cfeatures.min())

# Split the dataset into training and testing sets
train_features = normalized_features[:300]
test_features = normalized_features[300:]
train_labels = labels[:300]
test_labels = labels[300:]

# Define the model architecture for this we will use sequential API of the keras
model1 = keras.Sequential([
   layers.Dense(64, activation='relu', input_shape=[len(train_features.keys())]),
   layers.Dense(64, activation='relu'),
   layers.Dense(1)
])
#if you want summary of the model’s architecture you can use the code: model1.summary()

# Model compilation
optimizer = tf.keras.optimizers.RMSprop(0.001)
model1.compile(loss='mse', optimizer=optimizer, metrics=['mae', 'mse'])

# Train the model
Mhistory = model1.fit(
   train_features, train_labels,
   epochs=1000, validation_split = 0.2, verbose=0)

# Evaluate the model on the test set
test_loss, test_mae, test_mse = model1.evaluate(test_features, test_labels)
# Train the model
model1.fit(train_features, train_labels, epochs=1000, verbose=0)

# Calculation of the fuel efficiency for a new car
new_car_features = pd.DataFrame([[4, 121, 110, 2800, 15.4, 81, 3]], columns=column_names[1:])

normalized_new_car_features = (new_car_features - cfeatures.min()) / (cfeatures.max() - cfeatures.min())
fuel_efficiencyc = model1.predict(normalized_new_car_features)

# Print the test metrics
print("Test MAE:", test_mae)
print("Test MSE:", test_mse)
print("Predicted Fuel Efficiency:", fuel_efficiencyc[0][0])

Sortie

C:\Users\Tutorialspoint>python image.py
3/3 [==============================] - 0s 2ms/step - loss: 18.8091 - mae: 3.3231 - mse: 18.8091
1/1 [==============================] - 0s 90ms/step
Test MAE: 3.3230929374694824
Test MSE: 18.80905532836914
Predicted Fuel Efficiency: 24.55885

Conclusion

En résumé, prédire l'efficacité énergétique à l'aide de Tensorflow en Python est un outil puissant qui peut aider les fabricants et les consommateurs à prendre des décisions éclairées. En analysant diverses caractéristiques du véhicule et en entraînant un modèle de réseau neuronal, nous pouvons prédire avec précision le rendement énergétique.

Ces informations peuvent promouvoir le développement de véhicules plus économes en énergie, réduire l'impact environnemental et réduire les coûts pour les consommateurs. La polyvalence et la facilité d'utilisation de Tensorflow en font un atout précieux pour l'industrie automobile dans sa quête d'amélioration du rendement énergétique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer