python 画出使用分类器得到的决策边界

下面是使用Python画出使用分类器得到的决策边界的完整攻略:

1. 准备数据集

我们需要一个可视化的数据集,这里我们使用sklearn自带的Iris数据集。我们可以先将数据集导入:

from sklearn import datasets
import pandas as pd

iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target

然后,我们选择两个特征作为X,一个特征作为y。这里我们选择花萼长度和宽度作为X,花瓣长度作为y。

X = df[['sepal length (cm)', 'sepal width (cm)']]
y = df['target']

2. 确定模型

这里我们使用支持向量机(SVM)作为分类器。我们需要先对SVM进行拟合,然后预测一些值。

from sklearn import svm

clf = svm.SVC(kernel='linear', C=1)
clf.fit(X, y)

predicted = clf.predict(X)

3. 画出决策边界

我们需要画出决策边界。首先我们需要确定坐标轴的最小值和最大值。

x_min = X['sepal length (cm)'].min() - 0.5
x_max = X['sepal length (cm)'].max() + 0.5
y_min = X['sepal width (cm)'].min() - 0.5
y_max = X['sepal width (cm)'].max() + 0.5

然后我们可以生成一个网格来画出决策边界。

import numpy as np

xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),
                     np.arange(y_min, y_max, 0.02))
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)

最后,我们可以将决策边界画出来。

import matplotlib.pyplot as plt

plt.figure(1, figsize=(6, 5))
plt.clf()
plt.contour(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)

# 将训练数据集画出来
plt.scatter(X['sepal length (cm)'], X['sepal width (cm)'],
            c=y, cmap=plt.cm.Paired)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.xticks(())
plt.yticks(())
plt.show()

上述代码执行后,我们便可以画出使用SVM得到的决策边界图像。

除了Iris数据集之外,我们还可以使用其他人工或真实数据集进行实验。例如在进行分类器的比较时,可以选择sklearn自带的手写数字数据集,用SVM、逻辑回归等分类器进行拟合,然后画出决策边界,并比较准确率等指标。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 画出使用分类器得到的决策边界 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 如何使用Python在MySQL中使用外键?

    在MySQL中,可以使用外键来建立表之间的关系。在Python中,可以使用MySQL连接来执行外键查询。以下是在Python中使用外键的完整攻略,包括外键的基本语法、使用外键的示例及如何在Python中使用外键。 外键的基本语法 在MySQL中,可以使用FOREIGN KEY关键字来创建外键以下是创建外键的基本语法: CREATE TABLE table_n…

    python 2023年5月12日
    00
  • python判断完全平方数的方法

    下面是“python判断完全平方数的方法”的完整攻略。 判断完全平方数的方法 方法一:使用平方根函数 首先,我们可以使用Python内置的平方根函数判断一个数是否为完全平方数。具体做法如下: import math def isPerfectSquare(num: int) -> bool: if num < 0: return False if…

    python 2023年5月31日
    00
  • Python中根据时间自动创建文件夹的代码实现

    下面是针对Python中根据时间自动创建文件夹的代码实现的完整攻略: 1. 原理说明 在Python中,我们可以通过调用time模块中的time()函数来获取当前的时间戳,并通过datetime模块中的datetime类来将时间戳转化为格式化的日期数据。 接下来,我们可以将这些日期数据拼接成一个指定的文件夹路径,并通过调用os模块中的makedirs()函数…

    python 2023年5月19日
    00
  • Python实现获取命令行输出结果的方法

    当我们在使用 Python 时,常常需要通过执行命令行来获得命令的输出结果。本篇文章将详细讲述 Python 实现获取命令行输出结果的方法。 subprocess 模块的介绍 Python 内置的 subprocess 模块可以用于与子进程进行交互,其中包括启动子进程并且读取子进程的输出。这是实现获取命令行输出结果的常用手段。 下面是基于 subproces…

    python 2023年6月5日
    00
  • Python基础第三方模块requests openpyxl

    Python基础第三方模块requests和openpyxl requests模块 requests是Python中用于简化HTTP请求的常用库,支持HTTP/1.1和HTTPS,并且具有动态属性表现形式,可以方便地处理GET、POST等HTTP请求。 安装方法 使用pip install requests指令即可完成requests的安装。 request…

    python 2023年5月13日
    00
  • Python利用pywin32库实现将PPT导出为高清图片

    下面是“Python利用pywin32库实现将PPT导出为高清图片”的完整攻略: 简介 PPT是常用的演示文稿制作工具,在做有关PPT的项目或文档时,有时需要把PPT中的某些特定页转为图片。Python可以利用第三方库pywin32来实现将PPT导出为高清图片的功能。pywin32是Python下实现访问Windows API的库,可以实现对Microsof…

    python 2023年5月19日
    00
  • pytorch 如何查看数据类型和大小

    在 PyTorch 中,可以使用 .dtype 和 .size() 两个函数来查看数据类型和大小。下面是具体的步骤: 查看数据类型 可以使用 .dtype 函数来查看 Tensor 的数据类型,具体步骤如下: 通过加载PyTorch库和创建一个张量,如下代码所示: import torch x = torch.ones(2, 3) 这里创建了一个大小为 $2…

    python 2023年6月2日
    00
  • Django RestFramework 全局异常处理详解

    Django RestFramework 全局异常处理详解 在Django RestFramework中,全局异常处理是一种非常重要的概念。全局异常处理可以帮助我们捕获处理应用程序的异常,从而提高应用程序稳定性和可靠性。本文将介绍Django RestFramework中的全局异常处理,包括处理的定义、异常处理器的注册、异常器的使用等方面的内容。 异常处理器…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部