Heim >Technologie-Peripheriegeräte >KI >Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

王林
王林nach vorne
2023-04-10 08:21:145002Durchsuche

​Was ist überwachtes Lernen?

Überwachtes Lernen ist eine Teilmenge des maschinellen Lernens. Überwachtes Lernen kennzeichnet die Eingabedaten des maschinellen Lernmodells und trainiert sie. Daher kann das überwachte Modell die Ausgabe des Modells maximal vorhersagen.

Das Konzept des überwachten Lernens findet sich auch im wirklichen Leben wieder, etwa wenn Lehrer Kindern Nachhilfe geben. Angenommen, der Lehrer möchte Kindern beibringen, Bilder von Katzen und Hunden zu erkennen. Er/sie wird das Kind unterrichten, indem er dem Kind kontinuierlich ein Bild einer Katze oder eines Hundes zeigt und ihm gleichzeitig mitteilt, ob es sich bei dem Bild um einen Hund oder eine Katze handelt.

Der Prozess der Anzeige und Information von Bildern kann als Kennzeichnung von Daten betrachtet werden. Während des Trainingsprozesses des maschinellen Lernmodells wird Ihnen mitgeteilt, welche Daten zu welcher Kategorie gehören.

Was nützt überwachtes Lernen? Überwachtes Lernen kann sowohl für Regressions- als auch für Klassifizierungsprobleme eingesetzt werden. Mithilfe von Klassifizierungsmodellen können Algorithmen bestimmen, zu welcher Gruppe bestimmte Daten gehören. Beispiele könnten Wahr/Falsch, Hund/Katze usw. sein.

Da das Regressionsmodell zukünftige Werte auf Basis historischer Daten vorhersagen kann, wird es zur Vorhersage von Mitarbeiterlöhnen oder Immobilienverkaufspreisen verwendet.

In diesem Artikel werden wir einige gängige Algorithmen für überwachtes Lernen sowie praktische Tutorials zu solchen Algorithmen auflisten.

lineare Regression

Lineare Regression ist ein überwachter Lernalgorithmus, der einen Ausgabewert basierend auf einem gegebenen Eingabewert vorhersagt. Die lineare Regression wird verwendet, wenn die Zielvariable (Ausgabevariable) einen kontinuierlichen Wert zurückgibt.

Es gibt zwei Haupttypen linearer Algorithmen: einfache lineare Regression und multiple lineare Regression.

Einfache lineare Regression verwendet nur eine unabhängige (Eingabe-)Variable. Ein Beispiel ist die Vorhersage des Alters eines Kindes anhand einer Körpergröße.

Andererseits kann die multiple lineare Regression mehrere unabhängige Variablen verwenden, um ihre Endergebnisse vorherzusagen. Ein Beispiel ist die Vorhersage des Preises einer bestimmten Immobilie anhand ihrer Lage, Größe, Nachfrage usw. 🎜🎜 Der y-Wert des Wertes.

Unser gegebener Datensatz enthält nur zwei Spalten: x und y. Beachten Sie, dass das y-Ergebnis kontinuierliche Werte zurückgibt.

Unten ist ein Screenshot des angegebenen Datensatzes: Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

Beispiel eines linearen Regressionsmodells mit Python

#🎜 🎜#1. Importieren Sie die erforderlichen Bibliotheken

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

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?2. Lesen und testen Sie unseren Datensatz

#🎜🎜 ##🎜 🎜#

Um den Datensatz zu vereinfachen, haben wir eine Stichprobe von 50 Datenzeilen genommen und die Datenwerte auf 2 signifikante Ziffern gerundet.

Bitte beachten Sie, dass Sie den angegebenen Datensatz importieren sollten, bevor Sie diesen Schritt abschließen.

df = pd.read_csv("../input/random-linear-regression/train.csv") <br>df=df.sample(50) df=round(df,2)
3. Null- und Unendlichwerte filtern

#🎜 🎜#Fehler können auftreten, wenn der Datensatz Null- und Unendlichwerte enthält. Daher werden wir die Funktion clean_dataset verwenden, um den Datensatz von diesen Werten zu bereinigen.

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. Wählen Sie unsere Werte der Abhängigkeit und Unabhängigkeit

#🎜 🎜# Bitte beachten Sie, dass wir die Daten in das

DataFrame-Format konvertieren.

DataFrame-Datentyp ist eine zweidimensionale Struktur, die unsere Daten in Zeilen und Spalten ausrichtet. 5. Teilen Sie den Datensatz auf Wir unterteilen den Datensatz in Trainings- und Testteile. Die Größe des Testdatensatzes wurde auf 20 % des Gesamtdatensatzes festgelegt.

Bitte beachten Sie, dass durch die Einstellung von random_state=1 bei jeder Ausführung des Modells die gleiche Datenaufteilung erfolgt, was zu einem vollständigen Ergebnis führt Gleiche Trainings- und Testdatensätze.

Dies ist in Situationen nützlich, in denen Sie das Modell weiter optimieren möchten.

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

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

蓝点表示数据点,而红线是模型绘制的最佳拟合线性回归线。线性模型算法总是会尝试绘制最佳拟合线以尽可能准确地预测结果。

逻辑回归

与线性回归类似,逻辑回归根据输入变量预测输出值,两种算法的主要区别在于逻辑回归算法的输出是分类(离散)变量。

对于 Python示例,使用逻辑回归将”分成两个不同的类别/种类。给定的数据集中会包括不同花的多个特征。

模型的目的是将给花识别为Iris-setosa、Iris-versicolor或 Iris-virginica 几个种类

下面是给定数据集的截图

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

使用 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')

输出图:

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

在逻辑图中,红点表示给定的数据点。这些点清楚地分为 3 类,Virginica、versicolor 和 setosa 花种。

使用这种技术,逻辑回归模型可以根据花在图表上的位置轻松对花类型进行分类。

支持向量机

支持向量机( SVM) 算法是另一个著名的监督机器学习模型,由 Vladimir Vapnik 创建,它能够解决分类和回归问题。实际上它更多地被用到解决分类问题。

SVM 算法能够将给定的数据点分成不同的组。算法绘制数据之后,可以绘制最合适的线将数据分成多个类别,从而分析数据之间的关系

如下图所示,绘制的线将数据集完美地分成 2 个不同的组,蓝色和绿色。

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

SVM 模型可以根据图形的维度绘制直线或超平面。行只能用于二维数据集,这意味着只有 2 列的数据集。

如果是多个特征来预测数据集,就需要更高的维度。在数据集超过 2 维的情况下,支持向量机模型将绘制超平面。

在支持向量机 Python 的示例中,将对 3 种不同的花卉类型进行物种分类。我们的自变量包括花的所有特征,而因变量是花所属物种。

花卉品种包括Iris-setosa Iris-versicolorIris-virginica

下面是数据集的截图:

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

使用 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,这表明模型的高性能。

请注意,随着测试分数的增加,模型的性能也会增加。

Andere beliebte überwachte Algorithmen für maschinelles Lernen

Während lineare, logistische und SVM-Algorithmen sehr zuverlässig sind, werden wirdauch einige überwachte Algorithmen für maschinelles Lernen erwähnt. 1. Entscheidung

Baum Entscheidungsbaumalgorithmus ist ein nützlicher A überwachtes maschinelles Lernmodell, das eine baumartige Struktur zur Entscheidungsfindung nutzt. Entscheidungsbäume werden häufig bei Klassifizierungsproblemen verwendet, bei denen ein Modell entscheiden kann, zu welcher Gruppe ein bestimmtes Element in einem Datensatz gehört. Bitte beachten Sie, dass es sich bei dem verwendeten Baumformat um ein invertiertes Baumformat handelt.

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

2. Random Forest

Random Forest-Algorithmus

Erreichen Sie das ultimative Ziel, indem Sie eine große Anzahl von Entscheidungsbäumen erstellen. bedeutet, mehrere Entscheidungsbäume gleichzeitig zu erstellen, wobei jeder seine eigenen Ergebnisse zurückgibt, die dann kombiniert werden, um ein besseres Ergebnis zu erzielen.

Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?

Bei Klassifizierungsproblemen generiert das Random-Forest-Modell mehrere Entscheidungsbäume und klassifiziert ein bestimmtes Objekt basierend auf der von der Mehrheit der Bäume vorhergesagten Klassifizierungsgruppe.

Das Modell kann das durch einen einzelnen Baum verursachte Überanpassungsproblem beheben. Außerdem kann der Random-Forest-Algorithmus auch für die Regression verwendet werden, obwohl dies zu unerwünschten Ergebnissen führen kann.

3. kRecent

neighbor

(KNN)-Algorithmus ist eine überwachte maschinelle Lernmethode, die alle gegebenen Daten in separate Gruppen gruppiert. Diese Gruppierung basiert auf gemeinsamen Merkmalen verschiedener Personen. Der KNN-Algorithmus kann sowohl für Klassifizierungs- als auch für Regressionsprobleme verwendet werden. KNNs klassisches

Beispiel besteht darin, Tierbilder in verschiedene Gruppen zu klassifizieren.

Zusammenfassung

In diesem Artikel wurde überwachtes maschinelles Lernen und die beiden Arten von Problemen, die es lösen kann, vorgestellt , und erklärte das Klassifizierungs- und Regressionsproblem, gibt einige Beispiele für jeden Ausgabedatentyp. erklärt im Detail

was lineare Regression ist und wie sie funktioniert, und liefert ein konkretes Beispiel in Python, das den Y-Wert basierend auf unabhängigen X-Variablen vorhersagen wird. Dann und

wurde das logistische Regressionsmodell eingeführt, und gibt ein Beispiel für ein Klassifizierungsmodell, das bestimmte Bildkategorien angibt spezifische Blumenarten. Für den Support Vector Machine-Algorithmus kann verwendet werden, um eine bestimmte Blumenart von 3 verschiedenen Blumenarten vorherzusagen. Schließlich

listet andere bekannte Algorithmen für überwachtes maschinelles Lernen auf, wie z. B. Entscheidungsbaum, Zufallswald und K-Algorithmus für den nächsten Nachbarn. Egal, ob Sie diesen Artikel lesen, um zu lernen, für die Arbeit oder zum Spaß, wir denken,das Verstehen dieser Algorithmen ist der richtige Ausgangspunkt

Betreten Sie die Maschine Ein Anfang im Bereich Lernen. Wenn Sie Interesse haben und mehr über den Bereich des maschinellen Lernens erfahren möchten, empfehlen wir Ihnen, sich mit der Funktionsweise solcher Algorithmen und der Optimierung solcher Modelle zu befassen, um sie weiter zu verbessern Leistung. Übersetzer-Einführung

Cui Hao, 51CTO-Community-Redakteur, leitender Architekt, verfügt über 18 Jahre Erfahrung in der Softwareentwicklung und Architektur, 10 Jahre Erfahrung in der verteilten Architektur. . Ehemals technischer Experte bei HP. Er ist bereit zu teilen und hat viele beliebte Fachartikel geschrieben, die mehr als 600.000 Mal gelesen wurden. ​​Autor von „Prinzipien und Praxis der verteilten Architektur“

​​. Originaltitel:

Primary Supervised Learning Algorithms Used in Machine Learning

, Autor: Kevin Vu

Das obige ist der detaillierte Inhalt vonWas sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen