📜  分类入门(1)

📅  最后修改于: 2023-12-03 14:50:11.831000             🧑  作者: Mango

分类入门

分类是机器学习中最基本的任务之一,它是将一个未知样本分配到一组已知标签之一的任务。在本文中,我们将介绍分类的基本概念和常见算法。

基本概念
特征

特征是描述样本的属性,也称为变量。例如,对于一个人的样本,身高、体重、年龄等都可以作为特征。

标签

标签是样本的类别,也称为目标变量。例如,对于一个人的样本,男、女两个标签可以用来描述性别。

数据集

数据集是由多个样本组成的集合。每个样本都有多个特征和一个相应的标签。在机器学习中,我们通常将数据集分成训练集和测试集。

模型

模型是基于训练数据得到的结果。在分类任务中,模型将样本的特征映射为相应的标签。

常见算法
k-最近邻算法(k-Nearest Neighbor,kNN)

k-最近邻算法是一种基于实例的学习方法,它通过测量不同特征值之间的距离来进行分类。对于一个未知的样本,通过其最近邻的k个样本的标签,来得到相应的分类结果。

from sklearn.neighbors import KNeighborsClassifier

# 创建kNN分类器
knn = KNeighborsClassifier(n_neighbors=3)

# 训练模型
knn.fit(X_train, y_train)

# 预测样本标签
y_pred = knn.predict(X_test)
决策树算法(Decision Tree)

决策树是一种基于树形结构的分类方法,它通过对特征进行分裂,最终得到一个由各个节点构成的树形结构。对于一个未知的样本,通过遍历各个节点,最终到达叶子节点,来得到相应的分类结果。

from sklearn.tree import DecisionTreeClassifier

# 创建决策树分类器
tree = DecisionTreeClassifier()

# 训练模型
tree.fit(X_train, y_train)

# 预测样本标签
y_pred = tree.predict(X_test)
支持向量机算法(Support Vector Machine,SVM)

支持向量机是一种二分类模型,通过寻找最适合样本的决策边界来进行分类。对于一个未知的样本,通过与决策边界的距离,来得到相应的分类结果。

from sklearn.svm import SVC

# 创建SVM分类器
svm = SVC(kernel='linear')

# 训练模型
svm.fit(X_train, y_train)

# 预测样本标签
y_pred = svm.predict(X_test)
总结

分类是机器学习中最基本的任务之一,它通过将未知样本分配到已知标签之一,来进行分类任务。常见的分类算法包括k-最近邻、决策树和支持向量机算法,每个算法都有各自的优缺点,我们需要根据具体场景来选择合适的算法。