Vous êtes sur la page 1sur 11

Ecole Nationale d'Ingénieurs de Gabès

Sujet :

Prédiction de l’ État des panneaux


solaire avec l’algorithme K-NN
FPPT.com

Elaboré par :
 Ala Edine Lassoued
PLAN

Définition de l’algorithme KNN


Programme
Les Etapes de la méthode K-NN
Conclusion
Qu’est ce que l’algorithme KNN ?
L’algorithme des K plus proches voisins ou K-
nearest neighbors (kNN) est un algorithme de
Machine Learning qui appartient à la classe des
algorithmes d’apprentissage supervisé simple et
facile à mettre en œuvre qui peut être utilisé pour
résoudre les problèmes de classification et de
régression.
Dans cet article, nous allons revenir sur la définition
de cet algorithme, son fonctionnement ainsi qu’une
application directe en programmation pour la
classification des panneaux Photovoltaïque en des
classes ("Bon"," Mauvais" ) selon leurs caracteristiques
(température , Puissance ,courant ,rondement )
1
Panneau
Défectueux

BON Panneau

2
utilisant la méthode K-NN dans la classification des
panneaux photovoltaïque avec les caractéristiques
suivantes :
• Température
• Puissance du panneau KN-N Etat du
• Courant du court circuit Panneau
• Rayonnement solaires

On utilise ces caractéristiques comme des


entrées pour notre algorithme
3
Tableau de Mesures
Température Puissance Courant Rendement ETAT
(c°) (Wc) c.c (A) (%)
20 250 5.5 13 Bon
25 250 6 10 Mauvais
30 250 7 9 Mauvais
18 250 5 14 Bon
17 250 6.5 14.2 Bon

4
Implantation d l’algorithme KNN
programme Python :

import numpy as np
from sklearn.neighbors import KNeighborsClassifier Importation
from sklearn.model_selection import train_test_split des packs
from sklearn.metrics import accuracy_score
Charger les
X = np.array([[20, 250, 5.5, 13], [25, 250, 6, 10, [30, 250, 7, 9], données (X =
[18, 250, 5, 14], [17, 250, 6.5, 14.2]]) caractéristiques,
y = np.array(["Bon Panneau", "Mauvais Panneau " ]) y = les Etas )
Séparer les données
X_train, X_test, y_train, y_test = train_test_split(X, y, en ensemble
test_size=0.2) d'entraînement et de
5 test
Implantation d l’algorithme KNN
programme Python :

# Créer un modèle
knn = KNeighborsClassifier(n_neighbors=3) k-NN avec k=3

# Entraîner le modèle sur l'ensemble d'entraînement


knn.fit(X_train, y_train)

# Prédire sur l'ensemble de test


y_pred = knn.predict(X_test) # Evaluer la performance
print("Accuracy:", accuracy_score(y_test, y_pred)) du modèle

6
Les Étapes :

Cet algorithme permet de classifier les panneaux photovoltaïques en des classes selon
leurs êtas en utilisant la technique k-NN. Il effectue les étapes suivantes :

2) Séparation des données en ensemble


1) Chargement des données :
d'entraînement et de test : La fonction
Les données de
train_test_split() est utilisée pour
caractéristiques (X) et les
séparer les données en un ensemble
données de classes (y) sont
d'entraînement (80%) et un ensemble
chargées dans le code, mais
de test (20%). Cela permet de vérifier
elles doivent être remplacées
la performance du modèle sur des
par des données réelles pour
données qui n'ont pas été utilisées pour
l'application.
l'entraînement.

7
Les Étapes :

3) Création et entraînement du 4) Prédiction sur l'ensemble de 5) Evaluation de la


modèle k-NN : test : Le modèle entraîné est performance du modèle :
Le modèle k-NN est créé en utilisé pour prédire les classes L'accuracy score est utilisé
utilisant la classe des panneaux photovoltaïques pour évaluer la performance
KNeighborsClassifier() sur l'ensemble de test en du modèle sur l'ensemble de
avec k=5, et est entraîné sur utilisant la fonction predict(). test. Il mesure le pourcentage
l'ensemble d'entraînement en de prédictions correctes par
utilisant la fonction fit(). rapport au nombre total de
prédictions.

8
Conclusion

Avantages :
•L’algorithme K-NN est simple et facile à mettre en œuvre.
•Il n’est pas nécessaire de créer un modèle, de régler plusieurs paramètres ou de formuler des
hypothèses supplémentaires.
•L’algorithme est polyvalent. Il peut être utilisé pour la classification ou la régression.
Inconvénients :
•L’algorithme devient beaucoup plus lent à mesure que le nombre d’observation et de
variables indépendantes augmente.
Étant l’un des algorithmes les plus simples de Machine Learning, il est hautement implémenté
pour développer des systèmes basés sur l’apprentissage, intuitifs et intelligents qui pourraient
effectuer et prendre de petites décisions tout seuls.

Vous aimerez peut-être aussi