Heim >Backend-Entwicklung >Python-Tutorial >Überwachtes vs. unüberwachtes Lernen
Maschinelles Lernen (ML) ist ein leistungsstarkes Werkzeug, das es Computern ermöglicht, aus Daten zu lernen und Vorhersagen oder Entscheidungen zu treffen. Aber maschinelles Lernen ist nicht gleich maschinelles Lernen – es gibt verschiedene Arten des Lernens, die jeweils für bestimmte Aufgaben geeignet sind. Die beiden häufigsten Arten sind überwachtes Lernen und unüberwachtes Lernen. In diesem Artikel werden wir die Unterschiede zwischen ihnen untersuchen, Beispiele aus der Praxis bereitstellen und Codeausschnitte durchgehen, um Ihnen zu helfen, ihre Funktionsweise zu verstehen.
Überwachtes Lernen ist eine Art maschinelles Lernen, bei dem ein Algorithmus aus gekennzeichneten Daten lernt. Mit anderen Worten: Die Daten, die Sie dem Modell bereitstellen, umfassen Eingabemerkmale und die richtigen Ausgaben (Beschriftungen). Das Ziel besteht darin, dass das Modell die Beziehung zwischen Eingaben und Ausgaben lernt, damit es genaue Vorhersagen zu neuen, unsichtbaren Daten treffen kann.
E-Mail-Spam-Erkennung:
Hauspreisprognose:
Medizinische Diagnose:
Unüberwachtes Lernen ist eine Art maschinelles Lernen, bei dem Algorithmen aus unbeschrifteten Daten lernen. Im Gegensatz zum überwachten Lernen wird keine korrekte Ausgabe bereitgestellt. Stattdessen versuchen Modelle selbstständig Muster, Strukturen oder Zusammenhänge in den Daten zu finden.
Kundensegmentierung:
Anomalieerkennung:
Warenkorbanalyse:
**方面** | **监督学习** | **无监督学习** |
---|---|---|
**数据** | 标记的(提供输入和输出) | 未标记的(仅提供输入) |
**目标** | 预测结果或对数据进行分类 | 发现数据中的模式或结构 |
**示例** | 分类、回归 | 聚类、降维 |
**复杂性** | 更容易评估(已知输出) | 更难评估(没有基本事实) |
**用例** | 垃圾邮件检测、价格预测 | 客户细分、异常检测 |
scikit-larn Bibliotheken verwenden.
Aufsichtserlernungsbeispiel: Vorhersage des Preises von Häusern
<code class="language-python"># 导入库 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}")</code>unbeaufsichtigtes Lernbeispiel: Kundensegmentierung
<code class="language-python"># 导入库 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()</code>
Wenn Sie Unterschiede verstehen und ein Beispiel für die reale Welt (z. B. Beispiele in diesem Artikel) praktizieren, werden Sie diese grundlegenden Technologien für maschinelles Lernen beherrschen. Wenn Sie Fragen haben oder Ihre eigenen Erfahrungen teilen möchten, hinterlassen Sie bitte eine Nachricht.
Das obige ist der detaillierte Inhalt vonÜberwachtes vs. unüberwachtes Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!