多项式核和高斯核进行SVM分类

复制代码
from sklearn.datasets import make_moons
import matplotlib.pyplot as plt

X, y = make_moons(n_samples=100, noise=0.15, random_state=42)

plt.scatter(X[y == 0][:, 0], X[y == 0][:, 1], color='red', marker='o')
plt.scatter(X[y == 1][:, 0], X[y == 1][:, 1], color='blue', marker='^')
plt.title("Generated Data")
plt.show()

显示如下图

使用多项式核和高斯核进行SVM分类

复制代码
from sklearn.svm import SVC
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler

# 多项式核
poly_kernel_svm = Pipeline([
    ("scaler", StandardScaler()),
    ("svm", SVC(kernel="poly", degree=3, coef0=1, C=5))
])
poly_kernel_svm.fit(X, y)

# 高斯核(径向基函数)
rbf_kernel_svm = Pipeline([
    ("scaler", StandardScaler()),
    ("svm", SVC(kernel="rbf", gamma=5, C=0.001))
])
rbf_kernel_svm.fit(X, y)

可视化结果
为了可视化决策边界和决策函数,我们需要创建一个辅助函数:

复制代码
import numpy as np

def plot_predictions(clf, axes):
    x0s = np.linspace(axes[0], axes[1], 100)
    x1s = np.linspace(axes[2], axes[3], 100)
    x0, x1 = np.meshgrid(x0s, x1s)
    X = np.c_[x0.ravel(), x1.ravel()]
    y_pred = clf.predict(X).reshape(x0.shape)
    y_decision = clf.decision_function(X).reshape(x0.shape)
    plt.contourf(x0, x1, y_pred, cmap=plt.cm.brg, alpha=0.2)
    plt.contourf(x0, x1, y_decision, cmap=plt.cm.brg, alpha=0.1)

plt.figure(figsize=(12, 6))

plt.subplot(121)
plot_predictions(poly_kernel_svm, [-1.5, 2.5, -1, 1.5])
plt.scatter(X[y == 0][:, 0], X[y == 0][:, 1], color='red', marker='o')
plt.scatter(X[y == 1][:, 0], X[y == 1][:, 1], color='blue', marker='^')
plt.title("Polynomial Kernel SVM")

plt.subplot(122)
plot_predictions(rbf_kernel_svm, [-1.5, 2.5, -1, 1.5])
plt.scatter(X[y == 0][:, 0], X[y == 0][:, 1], color='red', marker='o')
plt.scatter(X[y == 1][:, 0], X[y == 1][:, 1], color='blue', marker='^')
plt.title("RBF Kernel SVM")

plt.show()

显示结果如下图:

相关推荐
yujkss28 分钟前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx99101331 分钟前
小程序开发APP
开发语言·人工智能·python·yolo
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】二维码与查找模式检测系统源码和数据集:改进yolo11-CSwinTransformer
python·yolo·计算机视觉·数据集·yolo11·二维码与查找模式检测
大霞上仙1 小时前
实现自学习系统,输入excel文件,能学习后进行相应回答
python·学习·excel
Caven771 小时前
【pytorch】reshape的使用
pytorch·python
无规则ai1 小时前
动手学深度学习(pytorch版):第四章节—多层感知机(5)权重衰减
人工智能·pytorch·python·深度学习
你知道网上冲浪吗2 小时前
【原创理论】Stochastic Coupled Dyadic System (SCDS):一个用于两性关系动力学建模的随机耦合系统框架
python·算法·数学建模·数值分析
钢铁男儿2 小时前
Python 正则表达式核心元字符全解析
python
杨荧3 小时前
基于Python的宠物服务管理系统 Python+Django+Vue.js
大数据·前端·vue.js·爬虫·python·信息可视化
CodeCraft Studio3 小时前
在 Python 中操作 Excel 文件的高效方案 —— Aspose.Cells for Python
python·ui·excel·报表·aspose·aspose.cells