【Python-ML】SKlearn库支持向量机(SVM) 使用

# -*- coding: utf-8 -*-
'''
Created on 2018年1月15日
@author: Jason.F
@summary: Scikit-Learn库支持向量机分类算法
'''

from sklearn import datasets
import numpy as np
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import StandardScaler
from matplotlib.colors import ListedColormap
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
from sklearn.linear_model import SGDClassifier
#决策边界函数
def plot_decision_regions(X,y,classifier,test_idx=None,resolution=0.02):
    # 设置标记点和颜色
    markers = ('s','x','o','^','v')
    colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan')
    cmap = ListedColormap(colors[:len(np.unique(y))])

    # 绘制决策面
    x1_min, x1_max = X[:, 0].min() - 1, X[:, 0].max() + 1
    x2_min, x2_max = X[:, 1].min() - 1, X[:, 1].max() 
支持向量机(Support Vector Machine,SVM)是一种常见的机器学习算法,可用于分类和回归分析。在Python中实现SVM分类代码很简单,以下是一个基本的Python实现示例: 首先导入必要的,例如numpy、pandas和sklearn中的SVM算法: ```python import numpy as np import pandas as pd from sklearn.svm import SVC ``` 接下来加载你的数据集,可以使用pandas.read_csv方法读取csv文件: ```python url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class'] dataset = pd.read_csv(url, names=names) ``` 数据集中的列分别是物种类别和4个特征,其中花瓣长度和宽度更有助于区分类别: ```python X = dataset.iloc[:, :-1].values y = dataset.iloc[:, 4].values ``` 使用scikit-learn的train_test_split函数将数据集分为训练集和测试集: ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) ``` 接下来创建SVM分类模型并将其拟合于训练集: ```python svclassifier = SVC(kernel='linear') svclassifier.fit(X_train, y_train) ``` 使用测试数据集来预测分类: ```python y_pred = svclassifier.predict(X_test) ``` 最后计算模型的性能指标,例如准确性、精确度、召回率和F1值: ```python from sklearn.metrics import classification_report, confusion_matrix print(confusion_matrix(y_test,y_pred)) print(classification_report(y_test,y_pred)) ``` 以上是支持向量机做分类的Python实现代码,这只是一个简单的例子。在实际应用中,需要根据具体情况设置参数和优化模型以获得更好的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值