Rumah >pembangunan bahagian belakang >Tutorial Python >Yang diselia berbanding pembelajaran tanpa pengawasan
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.
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.
Pengesanan Spam E-mel:
Ramalan Harga Rumah:
Diagnosis Perubatan:
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.
Pembahagian pelanggan:
Pengesanan anomali:
Analisis Bakul Pasaran:
**方面** | **监督学习** | **无监督学习** |
---|---|---|
**数据** | 标记的(提供输入和输出) | 未标记的(仅提供输入) |
**目标** | 预测结果或对数据进行分类 | 发现数据中的模式或结构 |
**示例** | 分类、回归 | 聚类、降维 |
**复杂性** | 更容易评估(已知输出) | 更难评估(没有基本事实) |
**用例** | 垃圾邮件检测、价格预测 | 客户细分、异常检测 |
scikit-learn perpustakaan.
Contoh Pembelajaran Pengawasan: Ramalkan harga rumah
<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
<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>
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!