为什么决策树边界形成方形而 SVM 形成圆形/椭圆形?

数据挖掘 机器学习 分类 支持向量机 决策树
2021-09-30 01:56:27

我正在阅读 Udacity 教程,其中给出了一些数据点,练习是测试以下哪些模型最适合数据:线性回归、决策树或 SVM。使用sklearn,我能够确定 SVM 是最适合的,其次是决策树。当应用这两种算法时,我得到了一个非常明显的决策边界:

在此处输入图像描述

上述形状是否有任何具体原因,还是仅取决于数据集?

代码非常简单;只需读取 CSV,分离特征,然后应用如下所示的算法:

from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.svm import SVC

import pandas
import numpy

# Read the data
data = pandas.read_csv('data.csv')

# Split the data into X and y
X = numpy.array(data[['x1', 'x2']])
y = numpy.array(data['y'])

# import statements for the classification algorithms
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.svm import SVC

    # Logistic Regression Classifier
    classifier = LogisticRegression()
    classifier.fit(X,y)

    # Decision Tree Classifier
    classifier = GradientBoostingClassifier()
    classifier.fit(X,y)

    # Support Vector Machine Classifier
    classifier = SVC()
    classifier.fit(X,y)
2个回答

SVM 决策边界的形状取决于所使用的内核(相似性函数)。SVM 的“标准”版本具有线性决策边界。显示的可能是使用高斯内核。

决策树的决策边界由重叠的正交半平面(代表每个后续决策的结果)确定,最终可以如图所示。

在这里查看更多:

https://shapeofdata.wordpress.com/2013/07/02/decision-trees/

https://www.quora.com/What-are-Kernels-in-Machine-Learning-and-SVM

我发现这张幻灯片对于理解决策树生成的矩形决策边界非常有用决策边界

资料来源:http ://web.engr.oregonstate.edu/~xfern/classes/cs434/slides/decisiontree-4.pdf