统计学补充概念18-非线性决策边界

概念

在某些情况下,数据可能不适合通过线性决策边界来分割。对于这种情况,我们可以使用非线性决策边界,这通常需要使用更复杂的模型来捕捉数据的复杂关系。

一种常见的方法是使用核函数,例如径向基函数(Radial Basis Function,RBF)核,来将数据映射到一个高维空间中,从而使其在高维空间中变得线性可分。这允许我们在原始特征空间中使用一个非线性决策边界。

代码实现

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_circles
from sklearn.svm import SVC

# 生成虚拟数据集
X, y = make_circles(n_samples=200, noise=0.1, factor=0.5, random_state=42)

# 创建SVM模型(使用径向基函数核)
model = SVC(kernel='rbf', gamma=1)

# 在训练集上训练模型
model.fit(X, y)

# 可视化决策边界
plt.figure(figsize=(10, 6))
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')

# 绘制决策边界
ax = plt.gca()
xlim = ax.get_xlim()
ylim = ax.get_ylim()

xx, yy = np.meshgrid(np.linspace(xlim[0], xlim[1], 100),
                     np.linspace(ylim[0], ylim[1], 100))
Z = model.decision_function(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, colors=['blue', 'red'], alpha=0.2)

plt.title("Nonlinear Decision Boundary (RBF Kernel)")
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丰。。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值