Python sklearn SVM 超平面可视化

本文详细探讨了如何使用Python的sklearn库实现支持向量机(SVM)并可视化超平面。通过实例代码,展示了SVM在二维数据上的分类过程,解释了超平面如何作为不同类别之间的决策边界,并讨论了核函数在处理非线性问题中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from sklearn import svm
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_iris
import numpy as np
import random
import numpy.random as rand

rand.seed(10)

# 读取鸢尾花数据集,并存储在变量iris中。
iris_data = load_iris()

""" 可视化 """
num_samples, num_features = iris_data['data'].shape
num_classes = 2
# 特征名称
feature_names = ['sepal length',
                 'sepal width', 'petal length', 'petal width']

# # features times features
# fig, ax = plt.subplots(num_features, num_features, figsize=(16, 16))
markers = '+o^'


# print(iris_data['data'][50:150])
# print(iris_data['target'][50:150])

feature_idx_1 = 2
feature_idx_2 = 3

type_1 = 0

nn = rand.permutation(100)
nn = [i + 50*type_1 for i in nn]
# print(nn)

""" 生成随机排列 """
train_idx = nn[0:90]
test_idx = nn[90:100]
print(train_idx)
print(test_idx)

""" 注意,这是Numpy Matrix的索引

print(type(iris_data['data']))
<class 'numpy.ndarray'>

iris_data['data']如下
[[5.1 3.5 1.4 0.2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值