Rumah >pembangunan bahagian belakang >Tutorial Python >Yang diselia berbanding pembelajaran tanpa pengawasan

Yang diselia berbanding pembelajaran tanpa pengawasan

Linda Hamilton
Linda Hamiltonasal
2025-01-26 04:10:10954semak imbas

Supervised vs. Unsupervised Learning

Pembelajaran mesin (ML) ialah alat berkuasa yang membolehkan komputer belajar daripada data dan membuat ramalan atau keputusan. Tetapi tidak semua pembelajaran mesin adalah sama – terdapat pelbagai jenis pembelajaran, setiap satu sesuai untuk tugasan tertentu. Dua jenis yang paling biasa ialah pembelajaran diselia dan pembelajaran tanpa penyeliaan. Dalam artikel ini, kami akan meneroka perbezaan antara mereka, memberikan contoh dunia sebenar dan melihat coretan kod untuk membantu anda memahami cara ia berfungsi.


Apakah pembelajaran yang diselia?

Pembelajaran diselia ialah sejenis pembelajaran mesin di mana algoritma belajar daripada data berlabel. Dalam erti kata lain, data yang anda berikan kepada model termasuk ciri input dan output yang betul (label). Matlamatnya adalah untuk model mempelajari hubungan antara input dan output supaya ia boleh membuat ramalan yang tepat pada data baharu yang tidak kelihatan.

Contoh dunia sebenar pembelajaran diselia

Pengesanan Spam E-mel:

  • Input: Teks e-mel.
  • Output: Label yang menunjukkan sama ada e-mel itu "Spam" atau "Bukan Spam".
  • Model belajar mengelaskan e-mel berdasarkan contoh berlabel.

Ramalan Harga Rumah:

  • Input: Ciri-ciri rumah (cth. rakaman persegi, bilangan bilik tidur, lokasi).
  • Keluaran: Harga rumah.
  • Model belajar meramal harga berdasarkan data sejarah.

Diagnosis Perubatan:

  • Input: Data pesakit (cth., simptom, keputusan makmal).
  • Output: Diagnosis (cth. "Kesihatan" atau "Diabetes").
  • Model belajar mendiagnosis berdasarkan rekod perubatan berlabel.

Apakah pembelajaran tanpa pengawasan?

Pembelajaran tanpa pengawasan ialah sejenis pembelajaran mesin di mana algoritma belajar daripada data tidak berlabel. Tidak seperti pembelajaran diselia, tiada output yang betul disediakan. Sebaliknya, model cuba mencari corak, struktur atau perhubungan dalam data sendiri.

Contoh dunia sebenar pembelajaran tanpa pengawasan

Pembahagian pelanggan:

  • Input: Data pelanggan (cth. umur, sejarah pembelian, lokasi).
  • Output: Kumpulan pelanggan yang serupa (cth., "pembeli frekuensi tinggi", "pembeli belanjawan").
  • Model mengenal pasti kelompok pelanggan dengan tingkah laku yang serupa.

Pengesanan anomali:

  • Input: data trafik rangkaian.
  • Output: Kenal pasti corak luar biasa yang mungkin menunjukkan serangan siber.
  • Model mengesan penyimpangan atau anomali dalam data.

Analisis Bakul Pasaran:

  • Masukkan: data transaksi kedai runcit.
  • output: Kumpulan produk sering dibeli bersama (seperti "roti dan mentega").
  • Persatuan antara produk pengiktirafan model.

perbezaan utama antara pembelajaran pengawasan dan pembelajaran tanpa pengawasan

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

mari kita mengkaji beberapa kod secara mendalam dan melihat kaedah kerja pembelajaran pengawasan dan pembelajaran tanpa pengawasan dalam amalan. Kami akan menggunakan python dan popular

scikit-learn perpustakaan.

Contoh Pembelajaran Pengawasan: Ramalkan harga rumah

Kami akan menggunakan model regresi linear mudah untuk meramalkan harga rumah berdasarkan ciri -ciri kaki persegi.

<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>
Contoh pembelajaran tanpa pengawasan: Segmentasi Pelanggan

Kami akan menggunakan algoritma kluster purata K untuk mengumpulkan pelanggan mengikut umur dan tabiat penggunaan pelanggan.

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

bila menggunakan pengawasan dan pembelajaran dan pembelajaran tanpa pengawasan

Bila Menggunakan Pengawasan dan Kajian:

    anda mempunyai data yang ditandakan.
  • anda ingin meramalkan hasil atau mengklasifikasikan data.
  • Contoh: Ramalan jualan, mengklasifikasikan dan mengesan penipuan pada imej.
bila menggunakan pembelajaran tanpa pengawasan:

    anda mempunyai data yang tidak ditandatangani.
  • anda ingin mencari mod atau struktur tersembunyi.
  • Contoh: Pengumpulan untuk pelanggan, mengurangkan dimensi data, dan mencari keabnormalan.

Kesimpulan

Pembelajaran Pengawasan dan Pembelajaran Tanpa Pengawasan adalah dua kaedah asas dalam pembelajaran mesin. Pembelajaran penyeliaan sangat sesuai untuk ramalan apabila anda mempunyai data tag, dan pembelajaran tanpa pengawasan sangat baik apabila anda ingin meneroka dan menemui cara data yang tidak ditandatangani.

dengan memahami perbezaan dan mengamalkan contoh dunia nyata (seperti contoh dalam artikel ini), anda akan menguasai teknologi pembelajaran mesin asas ini. Jika anda mempunyai sebarang pertanyaan atau ingin berkongsi pengalaman anda sendiri, sila tinggalkan mesej pada bila -bila masa.

Atas ialah kandungan terperinci Yang diselia berbanding pembelajaran tanpa pengawasan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn