0% ont trouvé ce document utile (0 vote)
38 vues14 pages

Introduction au Machine Learning avec Python

Cet article présente une introduction au Machine Learning avec Python, en expliquant son importance dans l'analyse des données et ses applications dans divers domaines tels que la reconnaissance d'images, la détection de fraudes et les voitures autonomes. Il détaille également les concepts fondamentaux de l'apprentissage supervisé et non supervisé, ainsi que des exemples pratiques d'implémentation avec Python. Enfin, il aborde les étapes d'un projet de Machine Learning, en se concentrant sur la classification à l'aide de l'algorithme K-Nearest Neighbors.

Transféré par

Hamma Frombardo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues14 pages

Introduction au Machine Learning avec Python

Cet article présente une introduction au Machine Learning avec Python, en expliquant son importance dans l'analyse des données et ses applications dans divers domaines tels que la reconnaissance d'images, la détection de fraudes et les voitures autonomes. Il détaille également les concepts fondamentaux de l'apprentissage supervisé et non supervisé, ainsi que des exemples pratiques d'implémentation avec Python. Enfin, il aborde les étapes d'un projet de Machine Learning, en se concentrant sur la classification à l'aide de l'algorithme K-Nearest Neighbors.

Transféré par

Hamma Frombardo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 14

Introduction au Machine Learning avec Python

data-transitionnumerique.com/machine-learning-python/

Nous vivons à l’ère des données, qui profite d’une meilleure puissance de calcul des
ordinateurs et de l’immensité des ressources de stockage. C’est de cela que nous faisons
allusion lorsque nous parlons de Big Data. Ces données ou informations augmentent de
jour en jour, mais le véritable défi consiste à leur donner un sens.

Les entreprises et les organisations tentent d’y faire face en construisant des systèmes
intelligents utilisant les concepts et les méthodologies de la science des données, de
l’extraction de données et de l’apprentissage automatique (machine learning). Parmi
ceux-ci, l’apprentissage automatique, notamment avec Python, est le domaine le plus
passionnant. Il ne serait pas faux d’appeler apprentissage automatique l’application et
la science des algorithmes qui donnent un sens aux données.

Dans cet article, nous parlerons de ce qu’est-ce le Machine Learning, ses applications
dans l’industrie, ses grands concepts et nous mettrons en pratique ses concepts avec le
langage de programmation Python.

D’où vient ce besoin du machine learning ?


À l’heure actuelle, l’être humain est l’espèce la plus intelligente et la plus avancée sur
terre, car il peut penser, évaluer et résoudre des problèmes complexes. L’Intelligence
Artificielle est encore à son stade initial et n’a pas dépassé l’intelligence humaine dans de
nombreux aspects. La question est donc de savoir pourquoi est-il nécessaire de faire
apprendre les machines. La réponse la plus appropriée est pour « prendre des décisions,
sur la base de données, avec efficacité et à grande échelle« .

Ces derniers temps, les organisations investissent massivement dans les nouvelles
technologies telles que l’intelligence artificielle, l’apprentissage automatique et le deep
learning afin d’obtenir des informations clés à partir des données pour effectuer plusieurs
tâches et résoudre des problèmes. Nous pouvons appeler cela des décisions prises par
des machines, notamment pour automatiser le processus. Ces décisions, guidées par les
données, peuvent être utilisées, au lieu d’utiliser la logique de programmation, dans les
problèmes qui ne peuvent pas être programmés de manière inhérente.

Actuellement, l’apprentissage automatique est utilisé dans les voitures à conduite


autonome, la détection de la cyber fraude, la reconnaissance des visages, la suggestion
d’amis par Facebook, etc. Plusieurs grandes entreprises comme Netflix et Amazon ont
construit des modèles d’apprentissage automatique qui utilisent une grande quantité de
données pour analyser les intérêts des utilisateurs et recommander des produits en
conséquence.

Qu’est-ce que c’est que le machine learning ?

1/14
L’apprentissage automatique est considéré comme un sous-ensemble de l’intelligence
artificielle qui s’intéresse principalement au développement d’algorithmes permettant à un
ordinateur d’apprendre par lui-même à partir de données et d’expériences passées.

Nous pouvons le définir de manière résumée comme suit :

L’apprentissage automatique permet à une machine d’apprendre automatiquement


à partir de données, d’améliorer ses performances à partir d’expériences et de
prédire des faits sans être explicitement programmée.

Quelles sont les applications du machine learning ?


Nous utilisons l’apprentissage automatique sans le savoir dans notre vie quotidienne en
utilisant les outils suivants : Google Maps, Google Assistant, Alexa, etc. Nous détaillerons
dans cette partie les applications les plus courantes du machine learning.

La reconnaissance d’images

La reconnaissance d’images est l’une des applications les plus courantes de


l’apprentissage automatique. Elle est utilisée pour identifier des objets, des personnes,
des lieux, des images numériques, etc. Le cas d’utilisation le plus connu est celui de
Facebook.

Facebook nous offre une fonction de suggestion automatique de noms à chaque fois que
nous téléchargeons une photo avec nos amis Facebook. La technologie derrière cela est
l’algorithme de détection et de reconnaissance des visages de l’apprentissage
automatique. Elle est basée sur le projet de Facebook appelé « Deep Face« .

La reconnaissance vocale

2/14
La reconnaissance vocale est un processus qui consiste à convertir des instructions
vocales en texte, et elle est également connue sous le nom de « Speech to text » ou
« Computer speech recognition« . Les assistants vocaux Google, Siri, Cortana et Alexa
utilisent la technologie de reconnaissance vocale pour exécuter les instructions vocales.

Recommandation de produits

L’apprentissage automatique est largement utilisé par diverses entreprises de l’e-


commerce et de divertissement telles qu’Amazon, Netflix, etc. pour recommander des
produits à leurs utilisateurs. Chaque fois que nous recherchons un produit sur Amazon,
nous commençons à recevoir une publicité pour le même produit lorsque nous surfons
sur le même navigateur, et ce, grâce à l’apprentissage automatique.

Modèle de recommandation d’Amazon, qui vous


propose des produits en fonction de vos achats
passés et de vos caractéristiques

Google comprend l’intérêt de l’utilisateur en utilisant divers algorithmes d’apprentissage


automatique et suggère un produit en fonction de l’intérêt du client.

De même, lorsque nous utilisons Netflix, nous recevons des recommandations pour des
séries de divertissement, des films, etc.

Les voitures à conduite autonome

L’une des applications la plus intéressante de l’apprentissage automatique est la voiture


autonome. L’apprentissage automatique joue un rôle important dans les voitures à
conduite autonome. Tesla, la société de construction automobile la plus populaire,
travaille sur des voitures à conduite autonome. Elle utilise une méthode d’apprentissage
non supervisée pour entraîner les modèles de voiture à détecter les personnes et les
objets pendant la conduite.

La détection des fraudes


L’apprentissage automatique rend nos transactions en ligne sûres et sécurisées en
détectant les transactions frauduleuses. Chaque fois que nous effectuons une transaction
en ligne, il peut y avoir plusieurs façons de réaliser une transaction frauduleuse, comme
de faux comptes, de faux identifiants, et de voler de l’argent au milieu d’une transaction.
Pour détecter cela, le réseau neuronal Feed Forward nous aide en vérifiant s’il s’agit
d’une transaction authentique ou d’une transaction frauduleuse.

3/14
Le diagnostique médical
Dans le domaine médical, l’apprentissage automatique est utilisé pour le diagnostic des
maladies. Grâce à cela, la technologie médicale se développe très rapidement et est
capable de construire des modèles 3D qui peuvent prédire la position exacte des lésions
dans le cerveau.

Cela permet de détecter facilement les tumeurs cérébrales et autres maladies liées au
cerveau.

Les différentes techniques de machine learning avec Python


Il existe différents algorithmes, techniques et méthodes de ML qui peuvent être utilisés
pour construire des modèles afin de résoudre des problèmes de la vie réelle en utilisant
des données. Dans cette section, nous allons aborder ces différents types de méthodes.

L’apprentissage supervisé
Les algorithmes ou méthodes d’apprentissage supervisé sont les algorithmes ML les plus
couramment utilisés. Cette méthode ou algorithme d’apprentissage prend l’échantillon de
données, c’est-à-dire les données d’apprentissage, et la sortie, c’est-à-dire les étiquettes
ou les réponses, associée à chaque échantillon de données pendant le processus
d’apprentissage.

L’objectif principal des algorithmes d’apprentissage supervisé est d’apprendre une


association entre les échantillons de données d’entrée et les sorties correspondantes
après avoir effectué plusieurs instances de données d’entraînement.

Par exemple, nous avons x comme variable d’entrée et y la variable de sortie. L’objectif
d’un algorithme d’apprentissage supervisé est de trouver une fonction f de mise en
correspondance de la variable d’entrée (x) avec la variable de sortie (Y), c’est-à-dire une
expression du type Y=f(x). Ce qui permettra d’obtenir de nouvelles données d’entrée (x),
nous pouvons facilement prédire la variable de sortie (Y) pour ces nouvelles données
d’entrée.

Le fonctionnement de l’apprentissage supervisé peut être facilement compris grâce à


l’exemple et au diagramme ci-dessous :

4/14
Sur la base des tâches à effectuer, les algorithmes d’apprentissage supervisé peuvent
être divisés en deux grandes catégories :

La Classification
Et la Régression

Classification

L’objectif principal des tâches basées sur la classification est de prédire des étiquettes de
sorties catégorielles ou des réponses pour les données d’entrée données. La sortie sera
basée sur ce que le modèle a appris pendant la phase de formation. Comme nous
savons que les réponses catégorielles en sortie signifient des valeurs discrètes et non
ordonnées, chaque réponse en sortie appartiendra à une classe ou une catégorie
spécifique. Nous aborderons la classification et les algorithmes associés en détail dans
les sections suivantes.

Régression

L’objectif principal des algorithmes de régression est de prédire les étiquettes ou les
réponses de sortie qui sont des valeurs numériques continues, pour les données d’entrée
données. La sortie sera basée sur ce que le modèle a appris dans sa phase de
formation. Fondamentalement, les modèles de régression utilisent les caractéristiques
des données d’entrée (variables indépendantes) et leurs valeurs de sortie numériques
continues correspondantes (variables dépendantes ou de résultat) pour apprendre une
association spécifique entre les entrées et les sorties correspondantes.

L’apprentissage non supervisé

5/14
L’apprentissage non supervisé est un type d’apprentissage automatique dans lequel les
modèles sont formés à l’aide d’un ensemble de données non étiquetées et sont autorisés
à agir sur ces données sans aucune supervision.

L’objectif de l’apprentissage non supervisé est de trouver la structure sous-jacente d’un


ensemble de données, de regrouper ces données en fonction de leurs similarités et de
représenter cet ensemble de données dans un format compressé.

Le fonctionnement de l’apprentissage non supervisé peut être compris par le schéma ci-
dessous :

Ici, nous avons pris des données d’entrée non étiquetées, ce qui signifie qu’elles ne sont
pas catégorisées et que les sorties correspondantes ne sont pas données non plus.
Maintenant, ces données d’entrée non étiquetées sont transmises au modèle
d’apprentissage automatique afin de l’entraîner. Tout d’abord, il interprétera les données
brutes pour trouver les modèles cachés des données et appliquera ensuite des
algorithmes appropriés tels que le clustering k-means, l’arbre de décision, etc.

Une fois qu’il a appliqué l’algorithme approprié, l’algorithme divise les données en
groupes en fonction des similarités et des différences entre les données.

Sur la base des tâches à effectuer, les algorithmes d’apprentissage non supervisé
peuvent être divisés en deux grandes catégories :

Le clustering

6/14
Le clustering est une méthode permettant de regrouper les objets en clusters de telle
sorte que les objets présentant le plus de similarités restent dans un groupe. Les objets
d’un groupe doivent avoir moins, voire aucune similarité avec les objets d’un autre
groupe. L’analyse par clusters trouve les points communs entre les données et les
catégorise en fonction de la présence ou de l’absence de ces points communs.

L’association

Une règle d’association est une méthode d’apprentissage non supervisée qui est utilisée
pour trouver les relations entre les variables dans une grande base de données. Elle
détermine les éléments qui apparaissent ensemble dans une base de données. La règle
d’association rend la stratégie de marketing plus efficace. Par exemple, les personnes qui
achètent un article X (un pain, par exemple) ont également tendance à acheter un article
Y (beurre/confiture). Un exemple typique de règle d’association est l’analyse du panier de
la ménagère.

Nous allons maintenant à la mise en pratique du machine learning en Python. Mais avant
de s’y attaquer, nous vous invitons à télécharger ce livre sur l’initiation à l’écosystème
Hadoop.

Implémentation d’un projet de machine learning avec Python


Dans cette partie de l’article, nous verrons comment mener un projet de machine learning
étape par étape. Nous allons étudier en particulier la méthode de classification de
l’apprentissage supervisé.

Pour une meilleure compréhension de ce tutoriel vous devez avoir une connaissance de
base sur le langage de programmation python et une connaissance globale de la libraire
Scikit-Learn. Nos articles sur la programmation Python pour la data et sur Scikit-Learn
vous donnera toutes les bases nécessaires.

Qu’est-ce que la classification en machine learning avec Python ?

L’algorithme de classification est une technique d’apprentissage supervisé qui est utilisée
pour identifier la catégorie de nouvelles observations sur la base de données
d’apprentissage. Dans la classification, un programme apprend à partir d’un ensemble de
données ou d’observations données, puis classe les nouvelles observations dans un
certain nombre de classes ou de groupes. Par exemple, Oui ou Non, 0 ou 1, Spam ou
Non Spam, chat ou chien, etc. Les classes peuvent être appelées cibles/étiquettes ou
catégories.

Contrairement à la régression, la variable de sortie de la classification est une catégorie,


et non une valeur, comme « vert ou bleu », « fruit ou animal », etc. L’algorithme de
classification étant une technique d’apprentissage supervisé, il prend des données
d’entrée étiquetées, ce qui signifie qu’il contient des entrées avec la sortie
correspondante.

7/14
Le meilleur exemple d’un algorithme de classification ML est le détecteur de spam par
courriel.

Les algorithmes de classification peuvent être divisés en deux catégories principales :

Modèles linéaires :

Régression logistique
Support Vector Machines – SVM

Modèles non linéaires :

K-Nearest Neighbors (K plus proche voisins)


Kernel SVM
Naïve Bayes (réseaux bayésiens)
Classification par arbre de décision
Classification Random Forest

Dans cette partie, nous essayerons de résoudre un problème d’apprentissage


automatique en Python avec le modèle des K-Nearest Neighbors (K plus proche voisins).

L’algorithme KNN (K-Nearest Neighbors) est un algorithme d’apprentissage


automatique supervisé simple et non paramétrique qui peut être utilisé pour résoudre les
problèmes de classification et de régression.

Nous allons maintenant vous présenter le projet qui consiste à détecter des fruits à partir
de plusieurs caractéristiques. Sur la base de la valeur de la masse, de la largeur, de la
hauteur et du score de couleur, nous allons déterminer si un fruit est une pomme, une
mandarine, une orange ou un citron. Pour cela nous allons procéder en étapes :

Étape 1 : Charger l’ensemble de données

Importez la bibliothèque pandas pour créer un Dataframe. L’ensemble de données est au


format txt. Nous pouvons utiliser la méthode read_table() pour extraire les données et les
présenter sous dorme Dataframe. Le code est le suivant :

import pandas as pd
df= pd.read_table("fruits.txt")
df

On obtient le Dataframe suivant :

8/14
Étape 2 : Analyse des données

Cet ensemble de données est composé de 7 colonnes. Tapez la commande

df.columns

pour afficher les 7 colonnes.

Index(['fruit_label', 'fruit_name', 'fruit_subtype', 'mass', 'width', 'height',


'color_score'],
dtype='object')

Fruit Label
Fruit Name
Fruit Subtype
Mass
Width
Height
Color Score

Pour prendre les valeurs uniques des données de la colonne nom_fruit, utilisez la
méthode unique() de la bibliothèque pandas. Nous l’utiliserons sur la colonne fruit_name.
Elle retournera un tableau NumPy avec les valeurs uniques de la colonne.

nom_fruits = df['fruit_name'].unique()
nom_fruits

On obtient donc la sortie suivante :

9/14
array(['apple', 'mandarin', 'orange', 'lemon'], dtype=object)

La suite consiste à récupérer le nombre d’apparition de ces fruits dans l’ensemble de


données :

nombres_fruits = df.groupby(df['fruit_name'], sort = False).size()


nombres_fruits

On obtient la sortie suivante :

fruit_name
apple 19
mandarin 5
orange 19
lemon 16
dtype: int64

Étape 3 : Visualisation des données

Essayons de visualiser maintenant sous forme de graphique les noms des fruits en
fonction de leur nombre d’apparition. Pour ce faire, vous devez importer la librairie
matplotlib et écrire le code suivant :

import matplotlib.pyplot as plt


plt.bar(nom_fruits, nombres_fruits, color=['r','blue','orange','y'])
plt.title('Diagramme: Fruits vs Nombre')
plt.xlabel('Nom des fruits')
plt.ylabel('Nombre')
plt.show()

Le graphique qui en résulte sera :

Étape 4 : Diviser en valeurs d’entrée et de sortie

Considérez une variable x pour prendre les caractéristiques de l’ensemble de données et


une autre variable y pour les valeurs cibles des données. Nous allons utiliser l’opérateur
iloc pour faire la même chose. L’opérateur iloc récupère les lignes spécifiées du cadre

10/14
de données. Ces valeurs peuvent être converties en tableaux Numpy en utilisant l’attribut
values.

Les colonnes 3 à 6 sont considérées comme des caractéristiques et la colonne 1 est


traitée comme une sortie.

x = df.iloc[:,[3,4,5,6]].values
y = df.iloc[:,1].values
print(x,y)

Étape 5 : Diviser les données d’entraînement et de test

11/14
Nous pouvons entraîner le modèle en utilisant des données que nous appelons données
d’entraînement ou ensemble d’entraînement. Les données d’apprentissage sont celles
qui présentent déjà la valeur réelle que le modèle aurait dû prédire. L’algorithme modifie
donc la valeur des paramètres pour tenir compte des données de l’ensemble
d’apprentissage.

Mais comment savoir si, après l’apprentissage, le modèle est globalement bon ?

Pour cela, nous avons des données de test/ensemble de test qui sont essentiellement
des données différentes dont nous connaissons les valeurs mais qui n’ont jamais été
montrées au modèle auparavant. Ainsi, si le modèle, après la formation, est performant
sur l’ensemble de test, nous pouvons dire que le modèle d’apprentissage automatique
est bon.

Nous pouvons diviser les données en utilisant la fonction train_test_split de la


bibliothèque model_selection du paquet Sklearn. Elle prend 4 variables en sortie que
nous avons nommé comme suit :

x_train – Données de formation en entrée

x_test – Données de test en entrée

y_train – Données de formation en sortie

y_test – Données de test en sortie

Il y a un autre paramètre appelé random_state qui est utilisé pour initialiser le générateur
de nombres aléatoires interne. Il décidera également pour la division des données en
valeurs d’entraînement et de test.

from sklearn.model_selection import train_test_split


x_train, x_test, y_train, y_test = train_test_split(x,y,random_state = 0)

Les données de test sont prises par défaut à 0,25 des données d’origine, sauf si une
autre valeur est spécifiée. Par conséquent, la valeur de formation sera de 75% des
données originales et la valeur de test sera de 25% des données originales.

Étape 6 : Normalisation des données

L’objectif de la normalisation est de modifier les valeurs des colonnes numériques


d’entrée dans l’ensemble de données à une échelle commune, sans déformer les
différences dans les plages de valeurs. Pour l’apprentissage automatique, la
normalisation n’est pas nécessaire pour chaque ensemble de données. Elle n’est
nécessaire que lorsque les caractéristiques ont des plages différentes, comme dans notre
ensemble de données. Nous allons utiliser la technique de normalisation Min Max.

La normalisation Min Max est une stratégie de normalisation qui transforme linéairement
l’entrée y= (x-min)/(max-min), où min et max sont les valeurs minimum et maximum dans
X, où X est l’ensemble des valeurs observées de x. Lorsque x=max, alors y=1. Cela

12/14
signifie que la valeur minimale de X est mise en correspondance avec 0 et que la valeur
maximale de X est mise en correspondance avec 1.

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
x_train = scaler.fit_transform(x_train)
x_test = scaler.transform(x_test)

Étape 7 : Appelez le classificateur KNN

Cette partie de l’apprentissage automatique consiste à exécuter un classificateur. Nous


allons utiliser l’algorithme K-Nearest Neighbors Classifier.

En utilisant le package Sklearn, importez KNearestClassifier de la bibliothèque


neighbors. Ici aussi, nous considérons que la valeur de n_voisins est de 7, car les
données d’apprentissage comportent 44 lignes. La manière efficace de choisir k est de
prendre la racine carrée des données de formation et de considérer le nombre impair le
plus proche.

from sklearn.neighbors import KNeighborsClassifier


model = KNeighborsClassifier(n_neighbors= 7, metric= 'euclidean')

Étape 8 : Ajuster le modèle

L’ajustement d’un modèle signifie que vous faites en sorte que votre algorithme apprenne
la relation entre les caractéristiques et les cibles afin de pouvoir prédire les valeurs
futures d’une cible.

model.fit(x_train,y_train)

Étape 9 : Prédiction pour l’ensemble de données de test

Nous pouvons prédire la classe pour les instances de données de test en utilisant notre
modèle de classification finalisé dans scikit-learn à l’aide de la fonction predict().

y_pred = model.predict(x_test)
y_pred

array(['orange', 'orange', 'lemon', 'lemon', 'apple', 'apple', 'apple',


'lemon', 'orange', 'apple', 'mandarin', 'apple', 'orange',
'orange', 'apple'], dtype=object)

y_test

array(['orange', 'orange', 'lemon', 'orange', 'apple', 'apple', 'orange',


'lemon', 'orange', 'apple', 'mandarin', 'apple', 'orange',
'orange', 'orange'], dtype=object)

Vous pouvez vérifier la sortie prédite avec la sortie réelle de l’ensemble de données de
test qui est stocké dans la variable y_test.

13/14
Étape 10 : Score de précision et matrice de confusion

À partir de la sortie ci-dessus, nous pouvons voir que certaines valeurs prédites ne
correspondent pas à la valeur réelle. Nous pouvons comparer les deux classes et trouver
la précision.

from sklearn.metrics import accuracy_score


accuracy_score(y_test,y_pred)*100

On obtient donc :

80.0

Nous pouvons conclure à partir de ce résultat que pour 100 valeurs, 80 valeurs seront
prédites correctement.

Nous pouvons même mettre cela sous la forme d’une matrice appelée matrice de
confusion pour mieux le comprendre.

from sklearn.metrics import confusion_matrix


confusion_matrix(y_test,y_pred)

On obtient la matrice suivante :

array([[4, 0, 0, 0],
[0, 2, 0, 0],
[0, 0, 1, 0],
[2, 1, 0, 5]])

Dans cet article, nous avons effectué un tour d’horizon complet des algorithmes
d’apprentissage automatique pour l’analyse des données et les applications intelligentes.

Conformément à notre objectif, nous avons brièvement discuté de la manière dont les
différents types de méthodes d’apprentissage automatique peuvent être utilisés pour
trouver des solutions à divers problèmes du monde réel.

Un modèle d’apprentissage automatique réussi dépend à la fois des données et des


performances des algorithmes d’apprentissage. Les algorithmes d’apprentissage
sophistiqués doivent ensuite être formés à l’aide des données du monde réel collectées
et des connaissances liées à l’application cible avant que le système ne puisse aider à la
prise de décision intelligente.

Nous avons également abordé plusieurs domaines d’application populaires basés sur les
techniques d’apprentissage automatique afin de mettre en évidence leur applicabilité
dans divers problèmes du monde réel.

Nous espérons que vous avez compris l’intérêt du machine learning dans le marché et
son intérêt dans votre carrière, notamment dans le domaine du Big Data. Pour aller plus
loin dans le Big Data, nous vous proposons cette formation sur Scala.

14/14

Vous aimerez peut-être aussi