Heim >Technologie-Peripheriegeräte >KI >Was sind die gängigen Algorithmen für überwachtes Lernen? Wie werden sie angewendet?
Ü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 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:
Beispiel eines linearen Regressionsmodells mit Python
#🎜 🎜#1. Importieren Sie die erforderlichen Bibliothekenimport 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. Lesen und testen Sie unseren Datensatz
#🎜🎜 ##🎜 🎜#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-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.
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)
使用导入的线性回归模型,我们可以在模型中自由使用线性回归算法,绕过我们为给定模型获得的 x 和 y 训练变量。
lm=linear_model.LinearRegression() lm.fit(x_train,y_train)
df.plot(kind="scatter", x="x", y="y")
plt.plot(X,lm.predict(X), color="red")
蓝点表示数据点,而红线是模型绘制的最佳拟合线性回归线。线性模型算法总是会尝试绘制最佳拟合线以尽可能准确地预测结果。
与线性回归类似,逻辑回归根据输入变量预测输出值,两种算法的主要区别在于逻辑回归算法的输出是分类(离散)变量。
对于 Python的示例,会使用逻辑回归将“花”分成两个不同的类别/种类。在给定的数据集中会包括不同花的多个特征。
模型的目的是将给花识别为Iris-setosa、Iris-versicolor或 Iris-virginica 几个种类。
下面是给定数据集的截图:
import numpy as np <br>import pandas as pd from sklearn.model_selection <br>import train_test_split import warnings warnings.filterwarnings('ignore')
data = pd.read_csv('../input/iris-dataset-logistic-regression/iris.csv')
对于独立 value(x) ,将包括除类型列之外的所有可用列。至于我们的可靠值(y),将只包括类型列。
X = data[['x0','x1','x2','x3','x4']] <br>y = data[['type']]
将数据集分成两部分,80% 用于训练数据集,20% 用于测试数据集。
X_train,X_test,y_train,y_test = train_test_split(X,y, test_size=0.2, random_state=1)
从 linear_model 库中导入整个逻辑回归算法。然后我们可以将 X 和 y 训练数据拟合到逻辑模型中。
from sklearn.linear_model import LogisticRegression <br>model = LogisticRegression(random_state = 0) <br>model.fit(X_train, y_train)
print(lm.score(x_test, y_test))
返回值为0.9845128775509371,这表明我们模型的高性能。
请注意,随着测试分数的增加,模型的性能也会增加。
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。
下面是数据集的截图:
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
请注意,在执行此步骤之前,应该导入数据集。
data = pd.read_csv(‘../input/iris-flower-dataset/IRIS.csv’)
将 X 值作为自变量,其中包含除物种列之外的所有列。
因变量y仅包含模型预测的物种列。
X = data.drop(‘species’, axis=1) y = data[‘species’]
将数据集分为两部分,其中我们将 80% 的数据放入训练数据集中,将 20% 放入测试数据集中。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)
导入了支持向量机算法。然后,使用上面步骤中收到的 X 和 y 训练数据集运行它。
from sklearn.svm import SVC <br>model = SVC( ) <br>model.fit(X_train, y_train)
model.score(X_test, y_test)
为了评估模型的性能,将使用 score 函数。在第四步中创建的 X 和 y 测试值输入到 score 方法中。
返回值为0.9666666666667,这表明模型的高性能。
请注意,随着测试分数的增加,模型的性能也会增加。
Während lineare, logistische und SVM-Algorithmen sehr zuverlässig sind, werden wirdauch einige überwachte Algorithmen für maschinelles Lernen erwähnt. 1. Entscheidung
Random Forest-Algorithmus
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
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!