SVM的核函数之线性和高斯的选择

Table of Contents

关于SVM中线性核函数和高斯核函数的选择

SVM中常用核函数一般是线性核函数和高斯核函数。以sklearn中的SVC,提供的’linear’和’rbf’做说明。面向[n,m]原始数据集,一般的选取准则:

  1. 相对于n,m很大。比如m≥n, m=10000, n=10~1000,即(m/n)>10。
    考虑’linear’
  2. m很小,n一般大小。比如m=1-1000, n=10~10000,即(m/n)在[0.0001,100].
    考虑’rbf’
  3. m很小,n很大。比如n=1-1000,m=50000+,即(m/n)在[~,0.02].
    增加m的量,考虑’linear’

补充:logistic约等同于’linear’的选择

#!/usr/bin/python
# encoding: utf-8


"""
@author : jack_lu
@contact : my@google
@File : SVM
@time : 2018/12/12 12:12
"""
# 练习所用数据集
from sklearn.datasets import fetch_lfw_people,olivetti_faces

# 特征提取方法
from sklearn.decomposition import PCA
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
# 特征转换方法
from sklearn.preprocessing import StandardScaler

# sklearn模型方法
from sklearn.model_selection import train_test_split

# metric方法
from sklearn.metrics import accuracy_score

# 机器学习模型
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.svm import SVC

1.基本数据准备

print('#'*50 + '  1.基本数据准备  ' + '#'*50)
lfw_people2 = fetch_lfw_people(min_faces_per_person=70, resize=0.4)  # 需要通过翻墙下载,C:\Users\Administrator\scikit_learn_data\lfw_home\joblib\sklearn\datasets\lfw\_fetch_lfw_people
##################################################  1.基本数据准备  ##################################################
n_samples, h, w = lfw_people2.images.shape
X = lfw_people2.data
y = lfw_people2.target
n_features = X.shape[1]

target_names = lfw_people2.target_names
n_class = target_names.shape[0]<
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值