十二、支持向量机

def svmm():
    '''
    支持向量机(完善):用超平面对高纬空间中的样本进行分类,为了解决线性不可分问题,引入了核函数,常用核函数有线性核函数、多项式核函数、高斯核函数和sigmoid核函数
    API:sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True,
                probability=False, tol=0.001, cache_size=200, class_weight=None,
                verbose=False, max_iter=-1, decision_function_shape='ovr',
                random_state=None)
                C (float参数 默认值为1.0):惩罚项系数
                kernel (str参数 默认为‘rbf’):核函数选择(linear:线性核函数,poly:多项式核函数,rbf:径像核函数/高斯核,sigmod:sigmod核函数,precomputed:核矩阵)
                degree (int型参数 默认为3):只对'kernel=poly'(多项式核函数)有用,是指多项式核函数的阶数n,如果给的核函数参数是其他核函数,则会自动忽略该参数。
                gamma (float参数 默认为auto):如果gamma设置为auto,代表其值为样本特征数的倒数,即1/n_features,也有其他值可设定。
                coef0:(float参数 默认为0.0):核函数中的独立项,只有对‘poly’和‘sigmod’核函数有用,是指其中的参数c。
                probability( bool参数 默认为False):是否启用概率估计。
                shrinkintol: float参数 默认为1e^-3g(bool参数 默认为True):表示是否选用启发式收缩方式。
                tol( float参数 默认为1e^-3):svm停止训练的误差精度,也即阈值。
                cache_size(float参数 默认为200):指定训练所需要的内存,以MB为单位。
                class_weight(字典类型或者‘balance’字符串。默认为None):该参数表示给每个类别分别设置不同的惩罚参数C,如果没有给,则会给所有类别都给C=1,即前面参数指出的参数C。如果给定参数‘balance’,则使用y的值自动调整与输入数据中的类频率成反比的权重。
                verbose ( bool参数 默认为False):是否启用详细输出。
                max_iter (int参数 默认为-1):最大迭代次数,-1表示不受限制。
                random_state(int,RandomState instance ,None 默认为None):随机数种子
    '''
    daj = load_digits()
    images = daj.images
    labels = daj.target
    n_samples = len(images)
    image_vectors = images.reshape((n_samples,-1))
    sample_index = list(range(n_samples))
    test_size = int(n_samples*2)
    random.shuffle(sample_index)
    train_index,test_index = sample_index[test_size:],sample_index[:test_size]
    x_train,y_train = image_vectors[train_index],labels[train_index]
    x_test, y_test = image_vectors[test_index], labels[test_index]
    classifier = SVC(kernel='rbf',C=1.0,gamma=0.001)
    classifier.fit(x_train,y_train)
    pre = classifier.predict(x_test)
    print(classification_report(y_test,pre))
    print(confusion_matrix(y_test,pre))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小树苗m

您的打赏,是我的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值