ホームページ >バックエンド開発 >Python チュートリアル >教師あり学習と教師なし学習
Machine Learning(ML)は、コンピューターがデータから学習し、予測または決定を下すことができる強力なツールです。しかし、すべての機械学習が同じようなタイプの学習であるわけではなく、各学習は特定のタスクに適しています。最も一般的な2つのタイプは、監督と学習
および監視されていない学習です。この記事では、それらの違いを調査し、現実世界の例を提供し、徐々にコードクリップを紹介して、それらの作業原則を理解するのに役立ちます。
監督学習とは何ですか?監督学習の現実世界の例
入力:電子メールテキスト。
入力:家の特徴(たとえば、平方フィート、寝室の数、場所)。
出力:家の価格。入力:患者データ(たとえば、症状、テスト結果)。 出力:診断(たとえば、「健康」または「糖尿病」)。
output:同様の顧客のグループ(たとえば、「高周波購入者」と「予算買い物客」)。 同様の動作を持つモデル認識カスタマークラスター。
モデル検出データの異常な値または異常。
**方面** | **监督学习** | **无监督学习** |
---|---|---|
**数据** | 标记的(提供输入和输出) | 未标记的(仅提供输入) |
**目标** | 预测结果或对数据进行分类 | 发现数据中的模式或结构 |
**示例** | 分类、回归 | 聚类、降维 |
**复杂性** | 更容易评估(已知输出) | 更难评估(没有基本事实) |
**用例** | 垃圾邮件检测、价格预测 | 客户细分、异常检测 |
scikit-learnライブラリを使用します。
監督学習例:家の価格を予測
<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>監視されていない学習例:顧客のセグメンテーション
<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>
違いを理解し、現実の世界(この記事の例など)の例を練習することにより、これらの基本的な機械学習技術を習得します。ご質問がある場合、または自分の経験を共有したい場合は、いつでもメッセージを残してください。
以上が教師あり学習と教師なし学習の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。