recherche
Maisondéveloppement back-endTutoriel PythonApprentissage supervisé vs non supervisé

Supervised vs. Unsupervised Learning

L'apprentissage automatique (ML) est un outil puissant qui permet aux ordinateurs d'apprendre à partir de données et de faire des prédictions ou des décisions. Mais tous les apprentissages automatiques ne sont pas identiques : il existe différents types d’apprentissage, chacun adapté à des tâches spécifiques. Les deux types les plus courants sont l'apprentissage supervisé et l'apprentissage non supervisé. Dans cet article, nous explorerons les différences entre eux, fournirons des exemples concrets et passerons en revue des extraits de code pour vous aider à comprendre leur fonctionnement.


Qu'est-ce que l'apprentissage supervisé ?

L'apprentissage supervisé est un type d'apprentissage automatique dans lequel un algorithme apprend à partir de données étiquetées. En d’autres termes, les données que vous fournissez au modèle incluent les entités en entrée et les sorties correctes (étiquettes). L’objectif est que le modèle apprenne la relation entre les entrées et les sorties afin de pouvoir faire des prédictions précises sur de nouvelles données invisibles.

Exemples concrets d'apprentissage supervisé

Détection du spam par courrier électronique :

  • Saisie : Le texte de l'e-mail.
  • Sortie : Libellé indiquant si l'e-mail est "Spam" ou "Not Spam".
  • Le modèle apprend à classer les e-mails en fonction d'exemples étiquetés.

Prévisions des prix des maisons :

  • Entrée : Caractéristiques de la maison (par exemple, superficie en pieds carrés, nombre de chambres, emplacement).
  • Sortie : Prix de la maison.
  • Le modèle apprend à prédire les prix sur la base de données historiques.

Diagnostic médical :

  • Entrée : données du patient (par exemple, symptômes, résultats de laboratoire).
  • Sortie : Diagnostic (par exemple « Santé » ou « Diabète »).
  • Le modèle apprend à diagnostiquer sur la base de dossiers médicaux étiquetés.

Qu'est-ce que l'apprentissage non supervisé ?

L'apprentissage non supervisé est un type d'apprentissage automatique dans lequel les algorithmes apprennent à partir de données non étiquetées. Contrairement à l’apprentissage supervisé, aucun résultat correct n’est fourni. Au lieu de cela, les modèles tentent de trouver par eux-mêmes des modèles, des structures ou des relations dans les données.

Exemples concrets d'apprentissage non supervisé

Segmentation client :

  • Entrée : données client (par exemple, âge, historique des achats, emplacement).
  • Résultat : groupes de clients similaires (par exemple, « acheteurs à haute fréquence », « acheteurs à petit budget »).
  • Le modèle identifie des groupes de clients ayant un comportement similaire.

Détection d'anomalies :

  • Entrée : données de trafic réseau.
  • Résultat : identifiez les modèles inhabituels pouvant indiquer une cyberattaque.
  • Le modèle détecte les valeurs aberrantes ou les anomalies dans les données.

Analyse du panier de marché :

  • Entrée : données de transaction d'épicerie.
  • Sortie : groupes de produits qui sont souvent achetés ensemble (par exemple, « pain et beurre »).
  • Le modèle identifie les associations entre les produits.

Les principales différences entre l'apprentissage supervisé et l'apprentissage non supervisé

**方面** **监督学习** **无监督学习**
**数据** 标记的(提供输入和输出) 未标记的(仅提供输入)
**目标** 预测结果或对数据进行分类 发现数据中的模式或结构
**示例** 分类、回归 聚类、降维
**复杂性** 更容易评估(已知输出) 更难评估(没有基本事实)
**用例** 垃圾邮件检测、价格预测 客户细分、异常检测
---

Exemple de code

Examinons un peu de code et voyons comment l'apprentissage supervisé et non supervisé fonctionne dans la pratique. Nous utiliserons Python et la populaire bibliothèque Scikit-learn.

Exemple d'apprentissage supervisé : Prédire les prix de l'immobilier

Nous utiliserons un modèle de régression linéaire simple pour prédire le prix d'une maison en fonction de caractéristiques telles que la superficie en pieds carrés.

# 导入库
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 创建样本数据集
data = {
    'SquareFootage': [1400, 1600, 1700, 1875, 1100, 1550, 2350, 2450, 1425, 1700],
    'Price': [245000, 312000, 279000, 308000, 199000, 219000, 405000, 324000, 319000, 255000]
}
df = pd.DataFrame(data)

# 特征 (X) 和标签 (y)
X = df[['SquareFootage']]
y = df['Price']

# 将数据分成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)

# 做出预测
y_pred = model.predict(X_test)

# 评估模型
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差:{mse:.2f}")

Exemple d'apprentissage non supervisé : segmentation client

Nous utiliserons l'algorithme de clustering K-means pour regrouper les clients en fonction de leur âge et de leurs habitudes de dépenses.

# 导入库
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# 创建样本数据集
data = {
    'Age': [25, 34, 22, 45, 32, 38, 41, 29, 35, 27],
    'SpendingScore': [30, 85, 20, 90, 50, 75, 80, 40, 60, 55]
}
df = pd.DataFrame(data)

# 特征 (X)
X = df[['Age', 'SpendingScore']]

# 训练 K 均值聚类模型
kmeans = KMeans(n_clusters=3, random_state=42)
df['Cluster'] = kmeans.fit_predict(X)

# 可视化集群
plt.scatter(df['Age'], df['SpendingScore'], c=df['Cluster'], cmap='viridis')
plt.xlabel('年龄')
plt.ylabel('消费评分')
plt.title('客户细分')
plt.show()

Quand utiliser l'apprentissage supervisé ou l'apprentissage non supervisé

Quand utiliser l'apprentissage supervisé :

  • Vous avez étiqueté les données.
  • Vous souhaitez prédire des résultats ou classer des données.
  • Exemples : Prédire les ventes, classer les images, détecter les fraudes.

Quand utiliser l'apprentissage non supervisé :

  • Vous disposez de données non étiquetées.
  • Vous souhaitez découvrir des motifs ou des structures cachés.
  • Exemples : regroupez les clients, réduisez les dimensions des données et recherchez les anomalies.

Conclusion

L'apprentissage supervisé et l'apprentissage non supervisé sont deux méthodes de base de l'apprentissage automatique, chacune avec ses propres avantages et cas d'utilisation. L'apprentissage supervisé est idéal pour faire des prédictions lorsque vous disposez de données étiquetées, tandis que l'apprentissage non supervisé est idéal lorsque vous souhaitez explorer et découvrir des modèles dans des données non étiquetées.

En comprenant les différences et en vous entraînant avec des exemples concrets, tels que ceux présentés dans cet article, vous maîtriserez ces techniques de base d'apprentissage automatique. Si vous avez des questions ou souhaitez partager vos propres expériences, n'hésitez pas à laisser un commentaire ci-dessous.

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
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Le plan Python de 2 heures: une approche réalisteLe plan Python de 2 heures: une approche réalisteApr 11, 2025 am 12:04 AM

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python: Explorer ses applications principalesPython: Explorer ses applications principalesApr 10, 2025 am 09:41 AM

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Combien de python pouvez-vous apprendre en 2 heures?Combien de python pouvez-vous apprendre en 2 heures?Apr 09, 2025 pm 04:33 PM

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu?Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu?Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Que dois-je faire si le module '__builtin__' n'est pas trouvé lors du chargement du fichier de cornichon dans Python 3.6?Que dois-je faire si le module '__builtin__' n'est pas trouvé lors du chargement du fichier de cornichon dans Python 3.6?Apr 02, 2025 am 07:12 AM

Chargement des fichiers de cornichons dans Python 3.6 Rapport de l'environnement Erreur: modulenotFoundError: NomoduLenamed ...

Comment améliorer la précision de la segmentation des mots jieba dans l'analyse des commentaires pittoresques?Comment améliorer la précision de la segmentation des mots jieba dans l'analyse des commentaires pittoresques?Apr 02, 2025 am 07:09 AM

Comment résoudre le problème de la segmentation des mots jieba dans l'analyse des commentaires pittoresques? Lorsque nous effectuons des commentaires et des analyses pittoresques, nous utilisons souvent l'outil de segmentation des mots jieba pour traiter le texte ...

Comment utiliser l'expression régulière pour correspondre à la première étiquette fermée et à s'arrêter?Comment utiliser l'expression régulière pour correspondre à la première étiquette fermée et à s'arrêter?Apr 02, 2025 am 07:06 AM

Comment utiliser l'expression régulière pour correspondre à la première étiquette fermée et à s'arrêter? Lorsque vous traitez avec HTML ou d'autres langues de balisage, des expressions régulières sont souvent nécessaires pour ...

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),