用scikit-learn 训练SVM的例子, clf.fit() clf.predict() 的作用

本文通过使用Python的scikit-learn库实现支持向量机(SVM)分类器,并以具体数据集为例,演示了如何训练模型及进行预测。首先定义了特征数据与标签,接着利用SVC类创建分类器并拟合数据,最后对未知数据点进行预测。

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

 import numpy as np
 X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) #数据特征
 y = np.array([1, 1, 2, 2])  # 数据对应的标签
 from sklearn.svm import SVC  # 导入svm的svc类(支持向量分类)
 clf = SVC()  # 创建分类器对象
 clf.fit(X, y)  # 用训练数据拟合分类器模型
 SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
    decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',
    max_iter=-1, probability=False, random_state=None, shrinking=True,
    tol=0.001, verbose=False)
 clf.predict([[-0.8, -1]])  # 用训练好的分类器去预测[-0.8, -1]数据的标签[1]
### 关于 Scikit-Learn 支持向量机 (SVM) Scikit-learn 提供了多种实现支持向量机的方法,其中最常用的是 `svm.SVC` 类用于分类任务。为了使用 SVM 进行数据拟合和预测,通常需要经过以下几个方面的工作。 #### 导入必要的库 在 Python 中应用 scikit-learnSVM 需要先导入相应的模块: ```python from sklearn import svm import numpy as np ``` #### 创建和支持向量机模型实例化 创建一个线性核的支持向量机分类器可以如下操作: ```python clf = svm.SVC(kernel='linear') # 使用线性内核初始化 SVC 模型 ``` 这里指定了 kernel 参数为 'linear' 表明选择了线性的决策边界;当然也可以选择其他类型的核函数如多项式 ('poly'), 径向基函数 ('rbf') 或 Sigmoid 函数等[^1]。 #### 训练模型 准备好训练集之后就可以调用 fit 方法来训练这个模型了: ```python X_train = [[0, 0], [1, 1]] # 特征矩阵 X y_train = [0, 1] # 标签 y clf.fit(X_train, y_train) # 对给定的数据进行建模并求解最优超平面 ``` 此段代码定义了一个简单的二维特征空间中的两个样本点及其类别标签,并将其传递给之前建立好的 clf 来完成一次完整的训练过程。 #### 测试与评估 一旦完成了上述步骤,则可以通过 predict() 方法来进行新的未知样例的分类预测工作: ```python predictions = clf.predict([[2., 2.]]) # 输入待测样本得到其对应的类别编号 print(predictions) ``` 除了基本的功能之外,在实际项目里还需要考虑诸如参数调整、交叉验证等问题以提高泛化能力以及防止过拟合现象的发生。对于这些高级话题可以在官方文档中找到更详细的说明[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值