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!

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

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 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é lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

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

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? Lorsque vous traitez avec HTML ou d'autres langues de balisage, des expressions régulières sont souvent nécessaires pour ...


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

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