Table of Contents
关于SVM中线性核函数和高斯核函数的选择
SVM中常用核函数一般是线性核函数和高斯核函数。以sklearn中的SVC,提供的’linear’和’rbf’做说明。面向[n,m]原始数据集,一般的选取准则:
- 相对于n,m很大。比如m≥n, m=10000, n=10~1000,即(m/n)>10。
考虑’linear’ - m很小,n一般大小。比如m=1-1000, n=10~10000,即(m/n)在[0.0001,100].
考虑’rbf’ - 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]<

最低0.47元/天 解锁文章
7511

被折叠的 条评论
为什么被折叠?



