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

yizhihongxing

下面是使用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中使用NumPy计算给定复数根的切比雪夫级数的根

    要在Python中使用NumPy计算给定复数根的切比雪夫级数,可以遵循以下步骤: 导入NumPy库。 import numpy as np 定义复数根。 z = 1 + 2j 定义切比雪夫级数的阶数。 N = 5 创建切比雪夫多项式的系数向量,其中每个系数都等于1或-1。 c = np.zeros(N+1, dtype=np.complex128) c[0]…

    python-answer 2023年3月25日
    00
  • python-opencv如何读取图片及尺寸修改

    下面是详细的攻略: 1. 安装OpenCV 首先,我们需要安装OpenCV模块,可以通过以下命令进行安装: pip install opencv-python 安装完成后,就可以开始使用OpenCV模块。 2. 读取图片 要读取图片,可以使用OpenCV中的imread()函数。该函数的语法如下: img = cv2.imread(path, flag) 其…

    python 2023年5月18日
    00
  • 一篇文章带你入门Python正则表达式

    下面是详细的攻略: 一篇文章带你入门Python正则表达式 正则表达式是一种用于匹配字符串的模式,可以用于搜索、替换、验证等操作。Python提供了re模块,可以方便地使用正则表达式。本文将介绍Python正则表达式的基本语法和常用函数,包括示例说明。 正则表达式的基本语法 正则表达式由普通字符和特殊字符组成。普通字符表示它本身,特殊字符表示一类字符。下面是…

    python 2023年5月14日
    00
  • 跟老齐学Python之玩转字符串(1)

    我来详细讲解一下“跟老齐学Python之玩转字符串(1)”的完整攻略。 文章背景 在日常编程中,字符串是一种常见的数据类型。学好字符串的使用,对程序员来说非常重要。本文将详细介绍Python中字符串的定义、常用操作和实际应用。 什么是字符串? 在Python中,字符串是由一系列字符组成的。字符可以是字母、数字、符号等。用引号括起来的字符均被视为字符串。 字符…

    python 2023年5月20日
    00
  • Pandas中DataFrame常用操作指南

    我们来详细讲解一下Pandas中DataFrame常用操作指南。 Pandas中DataFrame常用操作指南 1. DataFrame简介 DataFrame是Pandas库中最基本的数据结构之一,类似于Excel或SQL中的表格。它是一个由行和列组成的二维标签化数据结构,可以用于数据清洗、处理等操作。每一列可以是不同的数据类型(例如整数、浮点数、字符串等…

    python 2023年5月13日
    00
  • Python实现将Excel转换成xml的方法示例

    下面就为您详细讲解“Python实现将Excel转换成xml的方法示例”的完整实例教程,包含以下步骤: 环境准备 读取Excel中的数据 将数据转换为xml 将xml保存到文件中 接下来我们逐步分步讲解: 环境准备 在进行Excel转换成xml的操作之前,我们需要安装openpyxl库。这个库可以让我们读取Excel文件中的数据,同时也可以将数据转换成xml…

    python 2023年5月13日
    00
  • Python求两个文本文件以行为单位的交集、并集与差集的方法

    下面是Python求两个文本文件以行为单位的交集、并集与差集的方法的完整攻略。 1. 读取文件并转换为集合 首先需要将两个文本文件中的内容逐行读取并转换为集合,方便进行交集、并集和差集的操作。可以使用Python的文件操作来读取文件内容,并使用set()函数将其转换为集合。 # 读取文件并转换为集合 with open(‘file1.txt’, ‘r’) a…

    python 2023年5月14日
    00
  • python3中set(集合)的语法总结分享

    Python3中的set(集合)是一个无序、不重复元素的集合。集合类似于列表或元组,但是不允许有重复的元素。 语法总结 创建集合 可以使用花括号{}或内置函数set()来创建集合。 # 使用花括号创建集合 set1 = {1, 2, 3, 4, 5} # 使用内置函数set()创建集合 set2 = set([5, 6, 7, 8, 9]) 集合操作 添加元…

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