ホームページ  >  記事  >  テクノロジー周辺機器  >  教師あり学習の一般的なアルゴリズムは何ですか?それらはどのように適用されるのでしょうか?

教師あり学習の一般的なアルゴリズムは何ですか?それらはどのように適用されるのでしょうか?

王林
王林転載
2023-04-10 08:21:144951ブラウズ

教師あり学習とは何ですか?

教師あり学習は機械学習のサブセットであり、教師あり学習では、機械学習モデルの入力データにラベルを付け、それを実行します。したがって、教師ありモデルはモデルの出力を最大限に予測できます。

教師あり学習の背後にある概念は、子供たちを指導する教師など、現実の生活でも見ることができます。教師が子供たちに猫と犬の画像を認識するように教えたいとします。子供に猫や犬の画像を見せ続けながら、それが犬なのか猫なのかを伝えながら家庭教師をします。

画像を表示して情報を提供するプロセスは、データのラベル付けと考えることができます。機械学習モデルのトレーニング プロセス中に、どのデータがどのカテゴリに属する​​かがわかります。

教師あり学習の用途は何ですか?教師あり学習は、回帰問題と分類問題の両方に使用できます。分類モデルを使用すると、アルゴリズムは、指定されたデータがどのグループに属するかを決定できます。例には、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-versicolorIris-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 サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。