教師あり学習とは何ですか?
教師あり学習は機械学習のサブセットであり、教師あり学習では、機械学習モデルの入力データにラベルを付け、それを実行します。したがって、教師ありモデルはモデルの出力を最大限に予測できます。
教師あり学習の背後にある概念は、子供たちを指導する教師など、現実の生活でも見ることができます。教師が子供たちに猫と犬の画像を認識するように教えたいとします。子供に猫や犬の画像を見せ続けながら、それが犬なのか猫なのかを伝えながら家庭教師をします。
画像を表示して情報を提供するプロセスは、データのラベル付けと考えることができます。機械学習モデルのトレーニング プロセス中に、どのデータがどのカテゴリに属するかがわかります。
教師あり学習の用途は何ですか?教師あり学習は、回帰問題と分類問題の両方に使用できます。分類モデルを使用すると、アルゴリズムは、指定されたデータがどのグループに属するかを決定できます。例には、True/False、犬/猫などが含まれます。
回帰モデルは過去のデータに基づいて将来の価値を予測できるため、従業員の賃金や不動産の販売価格の予測に使用できます。
この記事では、教師あり学習に使用される一般的なアルゴリズムと、そのようなアルゴリズムに関する実践的なチュートリアルをいくつかリストします。
線形回帰
線形回帰は、指定された入力値に基づいて出力値を予測する教師あり学習アルゴリズムです。線形回帰は、ターゲット (出力) 変数が連続値を返す場合に使用されます。
線形アルゴリズムには、単純線形回帰と多重線形回帰という 2 つの主なタイプがあります。
単純な線形回帰では、1 つの独立 (入力) 変数のみが使用されます。例としては、身長から子供の年齢を予測することが挙げられます。
一方、多重線形回帰では、複数の独立変数を使用して最終結果を予測できます。例としては、場所、規模、需要などに基づいて特定の不動産の価格を予測することが挙げられます。
次は線形回帰式です
Python の例では、線形回帰を使用して、指定された x 値に対する y 値を予測します。
与えられたデータ セットには、x と y の 2 つの列のみが含まれています。 y の結果は連続値を返すことに注意してください。
以下は、指定されたデータセットのスクリーンショットです:
Python を使用した線形回帰モデルの例
1.必要なデータをインポートします。ライブラリ
import numpy as np <br>import pandas as pd <br>import matplotlib.pyplot as plt <br>import seaborn as sns from sklearn <br>import linear_model from sklearn.model_selection <br>import train_test_split import os
2. データ セットの読み取りとサンプリング
データ セットを簡素化するために、50 A をサンプリングしました。データ行のサンプルを抽出し、データ値を有効数字 2 桁に四捨五入します。
#このステップを完了する前に、指定されたデータセットをインポートする必要があることに注意してください。
df = pd.read_csv("../input/random-linear-regression/train.csv") <br>df=df.sample(50) df=round(df,2)
3. Null 値と無限値のフィルタリング
データ セットに null が含まれる場合値と無限大の値を指定すると、エラーが発生する可能性があります。したがって、clean_dataset 関数を使用して、これらの値のデータセットをクリーンアップします。
def clean_dataset(df): <br>assert isinstance(df, pd.DataFrame), "df needs to be a pd.DataFrame" <br>df.dropna(inplace=True) <br>indices_to_keep = ~df.isin([np.nan, np.inf, -np.inf]).any(1) <br>return df[indices_to_keep].astype(np.float64)<br>df=clean_dataset(df)
4. 依存と独立の価値観を選択してください
注意してくださいデータを DataFrame 形式に変換します。 データフレームのデータ型は、データを行と列に配置する 2 次元構造です。
5. データ セットの分割
データ セットをトレーニングとトレーニングに分割します。テスト部分。テスト データ セットのサイズは、データ セット全体の 20% となるように選択されました。
random_state=1 を設定すると、モデルが実行されるたびに同じデータ分割が発生し、まったく同じトレーニング データ セットとテスト データ セットが得られることに注意してください。 。
#これは、モデルをさらに調整したい場合に便利です。
x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=1)
6.建立线性回归模型
使用导入的线性回归模型,我们可以在模型中自由使用线性回归算法,绕过我们为给定模型获得的 x 和 y 训练变量。
lm=linear_model.LinearRegression() lm.fit(x_train,y_train)
7. 以分散的方式绘制我们的数据
df.plot(kind="scatter", x="x", y="y")
8. 绘制我们的线性回归线
plt.plot(X,lm.predict(X), color="red")
蓝点表示数据点,而红线是模型绘制的最佳拟合线性回归线。线性模型算法总是会尝试绘制最佳拟合线以尽可能准确地预测结果。
逻辑回归
与线性回归类似,逻辑回归根据输入变量预测输出值,两种算法的主要区别在于逻辑回归算法的输出是分类(离散)变量。
对于 Python的示例,会使用逻辑回归将“花”分成两个不同的类别/种类。在给定的数据集中会包括不同花的多个特征。
模型的目的是将给花识别为Iris-setosa、Iris-versicolor或 Iris-virginica 几个种类。
下面是给定数据集的截图:
使用 Python 的逻辑回归模型示例
1.导入必要的库
import numpy as np <br>import pandas as pd from sklearn.model_selection <br>import train_test_split import warnings warnings.filterwarnings('ignore')
2. 导入数据集
data = pd.read_csv('../input/iris-dataset-logistic-regression/iris.csv')
3. 选择我们依赖和独立的价值观
对于独立 value(x) ,将包括除类型列之外的所有可用列。至于我们的可靠值(y),将只包括类型列。
X = data[['x0','x1','x2','x3','x4']] <br>y = data[['type']]
4. 拆分数据集
将数据集分成两部分,80% 用于训练数据集,20% 用于测试数据集。
X_train,X_test,y_train,y_test = train_test_split(X,y, test_size=0.2, random_state=1)
5. 运行逻辑回归模型
从 linear_model 库中导入整个逻辑回归算法。然后我们可以将 X 和 y 训练数据拟合到逻辑模型中。
from sklearn.linear_model import LogisticRegression <br>model = LogisticRegression(random_state = 0) <br>model.fit(X_train, y_train)
6. 评估我们模型的性能
print(lm.score(x_test, y_test))
返回值为0.9845128775509371,这表明我们模型的高性能。
请注意,随着测试分数的增加,模型的性能也会增加。
7. 绘制图表
import matplotlib.pyplot as plt %matplotlib inline <br>plt.plot(range(len(X_test)), pred,'o',c='r')
输出图:
在逻辑图中,红点表示给定的数据点。这些点清楚地分为 3 类,Virginica、versicolor 和 setosa 花种。
使用这种技术,逻辑回归模型可以根据花在图表上的位置轻松对花类型进行分类。
支持向量机
支持向量机( SVM) 算法是另一个著名的监督机器学习模型,由 Vladimir Vapnik 创建,它能够解决分类和回归问题。实际上它更多地被用到解决分类问题。
SVM 算法能够将给定的数据点分成不同的组。算法在绘制出数据之后,可以绘制最合适的线将数据分成多个类别,从而分析数据之间的关系。
如下图所示,绘制的线将数据集完美地分成 2 个不同的组,蓝色和绿色。
SVM 模型可以根据图形的维度绘制直线或超平面。行只能用于二维数据集,这意味着只有 2 列的数据集。
如果是多个特征来预测数据集,就需要更高的维度。在数据集超过 2 维的情况下,支持向量机模型将绘制超平面。
在支持向量机 Python 的示例中,将对 3 种不同的花卉类型进行物种分类。我们的自变量包括花的所有特征,而因变量是花所属物种。
花卉品种包括Iris-setosa、 Iris-versicolor和Iris-virginica。
下面是数据集的截图:
使用 Python 的支持向量机模型示例
1.导入必要的库
import numpy as np <br>import pandas as pd from sklearn.model_selection <br>import train_test_split from sklearn.datasets <br>import load_iris
2. 读取给定的数据集
请注意,在执行此步骤之前,应该导入数据集。
data = pd.read_csv(‘../input/iris-flower-dataset/IRIS.csv’)
3. 将数据列拆分为因变量和自变量
将 X 值作为自变量,其中包含除物种列之外的所有列。
因变量y仅包含模型预测的物种列。
X = data.drop(‘species’, axis=1) y = data[‘species’]
4. 将数据集拆分为训练和测试数据集
将数据集分为两部分,其中我们将 80% 的数据放入训练数据集中,将 20% 放入测试数据集中。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)
5.导入SVM并运行模型
导入了支持向量机算法。然后,使用上面步骤中收到的 X 和 y 训练数据集运行它。
from sklearn.svm import SVC <br>model = SVC( ) <br>model.fit(X_train, y_train)
6. 测试模型的性能
model.score(X_test, y_test)
为了评估模型的性能,将使用 score 函数。在第四步中创建的 X 和 y 测试值输入到 score 方法中。
返回值为0.9666666666667,这表明模型的高性能。
请注意,随着测试分数的增加,模型的性能也会增加。
その他の一般的な教師あり機械学習アルゴリズム
線形、ロジスティック、および SVM アルゴリズムは非常に信頼性が高くなりますが、それでも いくつかの教師あり機械学習アルゴリズムについて言及します。
#1. 決定 ツリー
##デシジョン ツリー アルゴリズム は、ツリー構造を使用して意思決定を行う教師あり機械学習モデルです。デシジョン ツリーは、データ セット内の特定の項目がどのグループに属するかをモデルが決定できる分類問題でよく使用されます。
#使用されるツリー形式は逆ツリー形式であることに注意してください。
#2. ランダム フォレスト
はより複雑なアルゴリズムとみなされます。 ランダム フォレストアルゴリズム は、多数のデシジョン ツリーを構築することで最終的な目標を達成します。
# とは、複数のデシジョン ツリーを同時に構築し、それぞれが独自の結果を返し、それらを組み合わせてより良い結果を得るという意味です。
#分類問題の場合、ランダム フォレスト モデルは複数のデシジョン ツリーを生成し、大部分のツリーによって予測された分類グループに基づいて特定のオブジェクトを分類します。
#モデルは単一のツリーによって引き起こされる過学習を修正できます#問題 。 また、ランダム フォレスト アルゴリズムは回帰にも使用できますが、望ましくない結果が生じる可能性があります。 #3. k-recent
隣人#k最近
Neighbor
(KNN) アルゴリズムは、与えられたすべてのデータを別のグループにグループ化する教師あり機械学習手法です。 #このグループ分けは、さまざまな個人間の共通の特性に基づいています。 KNN アルゴリズムは、分類問題と回帰問題の両方に使用できます。 #KNN の
古典的
例## は #動物の画像をさまざまなグループに分類します。 この記事紹介 教師あり機械学習とその方法2 つのタイプの問題 、 および は、分類問題と回帰問題を説明します。 各出力データ型の例をいくつか示します。 #詳細線形回帰とは何か、それがどのように機能するかを説明し、Python の具体的な例を示します。 ##独立した X 変数に基づいて Y 値を予測します。 そしてはじめに#ロジスティック回帰モデル#, そして与える指定された画像を #特定の花種 # に分類する分類モデルの例を示します。 #サポート ベクター マシン アルゴリズムには、 を使用できます 3 つの異なる花種のうち、特定の花種を予測します。 最後にリスト意思決定などの他の有名な教師あり機械学習アルゴリズムツリー、ランダム フォレスト、および K 最近傍アルゴリズム。 #勉強中でも仕事でも、まだ読んでいますこの記事は楽しみのためのものです。 これらの アルゴリズムを理解することが、次のステップの始まりであると考えています。マシンに乗り込む #学習分野の始まり#。 #機械学習の分野に興味があり、さらに詳しく知りたい場合は、Go をお勧めします。 そのようなアルゴリズムがどのように機能するのか、またそのようなモデルをどのように調整してパフォーマンスをさらに向上させることができるのかをより詳しく学習します。 #翻訳者紹介 Cui Hao は、51CTO コミュニティ編集者兼シニア アーキテクトであり、ソフトウェア開発とアーキテクチャで 18 年の経験と、分散アーキテクチャで 10 年の経験があります。元HPの技術専門家。彼は喜んで共有し、600,000 回以上読まれる人気の技術記事を多数執筆してきました。 「分散アーキテクチャの原則と実践」の著者 。 #元のタイトル: ##機械学習で使用される主な教師あり学習アルゴリズム #、著者: Kevin Vu 概要
以上が教師あり学習の一般的なアルゴリズムは何ですか?それらはどのように適用されるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ジェマの範囲で言語モデルの内部の仕組みを探る AI言語モデルの複雑さを理解することは、重要な課題です。 包括的なツールキットであるGemma ScopeのGoogleのリリースは、研究者に掘り下げる強力な方法を提供します

ビジネスの成功のロック解除:ビジネスインテリジェンスアナリストになるためのガイド 生データを組織の成長を促進する実用的な洞察に変換することを想像してください。 これはビジネスインテリジェンス(BI)アナリストの力です - GUにおける重要な役割

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

導入 2人の専門家が重要なプロジェクトで協力している賑やかなオフィスを想像してください。 ビジネスアナリストは、会社の目標に焦点を当て、改善の分野を特定し、市場動向との戦略的整合を確保しています。 シム

Excelデータカウントと分析:カウントとカウントの機能の詳細な説明 特に大規模なデータセットを使用する場合、Excelでは、正確なデータカウントと分析が重要です。 Excelは、これを達成するためにさまざまな機能を提供し、CountおよびCounta関数は、さまざまな条件下でセルの数をカウントするための重要なツールです。両方の機能はセルをカウントするために使用されますが、設計ターゲットは異なるデータ型をターゲットにしています。 CountおよびCounta機能の特定の詳細を掘り下げ、独自の機能と違いを強調し、データ分析に適用する方法を学びましょう。 キーポイントの概要 カウントとcouを理解します

Google Chrome'sAI Revolution:パーソナライズされた効率的なブラウジングエクスペリエンス 人工知能(AI)は私たちの日常生活を急速に変換しており、Google ChromeはWebブラウジングアリーナで料金をリードしています。 この記事では、興奮を探ります

インパクトの再考:四重材のボトムライン 長い間、会話はAIの影響の狭い見方に支配されており、主に利益の最終ラインに焦点を当てています。ただし、より全体的なアプローチは、BUの相互接続性を認識しています

物事はその点に向かって着実に動いています。量子サービスプロバイダーとスタートアップに投資する投資は、業界がその重要性を理解していることを示しています。そして、その価値を示すために、現実世界のユースケースの数が増えています


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Dreamweaver Mac版
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
