吴裕雄 python 机器学习——支持向量机线性分类LinearSVC模型
- import numpy as np
- import matplotlib.pyplot as plt
- from sklearn import datasets, linear_model,svm
- from sklearn.model_selection import train_test_split
- def load_data_classfication():
- '''
- 加载用于分类问题的数据集
- '''
- # 使用 scikit-learn 自带的 iris 数据集
- iris=datasets.load_iris()
- X_train=iris.data
- y_train=iris.target
- # 分层采样拆分成训练集和测试集,测试集大小为原始数据集大小的 1/4
- return train_test_split(X_train, y_train,test_size=0.25,random_state=0,stratify=y_train)
- #支持向量机线性分类LinearSVC模型
- def test_LinearSVC(*data):
- X_train,X_test,y_train,y_test=data
- cls=svm.LinearSVC()
- cls.fit(X_train,y_train)
- print('Coefficients:%s, intercept %s'%(cls.coef_,cls.intercept_))
- print('Score: %.2f' % cls.score(X_test, y_test))
- # 生成用于分类的数据集
- X_train,X_test,y_train,y_test=load_data_classfication()
- # 调用 test_LinearSVC
- test_LinearSVC(X_train,X_test,y_train,y_test)
- def test_LinearSVC_loss(*data):
- '''
- 测试 LinearSVC 的预测性能随损失函数的影响
- '''
- X_train,X_test,y_train,y_test=data
- losses=['hinge','squared_hinge']
- for loss in losses:
- cls=svm.LinearSVC(loss=loss)
- cls.fit(X_train,y_train)
- print("Loss:%s"%loss)
- print('Coefficients:%s, intercept %s'%(cls.coef_,cls.intercept_))
- print('Score: %.2f' % cls.score(X_test, y_test))
- # 调用 test_LinearSVC_loss
- test_LinearSVC_loss(X_train,X_test,y_train,y_test)
- def test_LinearSVC_L12(*data):
- '''
- 测试 LinearSVC 的预测性能随正则化形式的影响
- '''
- X_train,X_test,y_train,y_test=data
- L12=['l1','l2']
- for p in L12:
- cls=svm.LinearSVC(penalty=p,dual=False)
- cls.fit(X_train,y_train)
- print("penalty:%s"%p)
- print('Coefficients:%s, intercept %s'%(cls.coef_,cls.intercept_))
- print('Score: %.2f' % cls.score(X_test, y_test))
- # 调用 test_LinearSVC_L12
- test_LinearSVC_L12(X_train,X_test,y_train,y_test)
- def test_LinearSVC_C(*data):
- '''
- 测试 LinearSVC 的预测性能随参数 C 的影响
- '''
- X_train,X_test,y_train,y_test=data
- Cs=np.logspace(-2,1)
- train_scores=[]
- test_scores=[]
- for C in Cs:
- cls=svm.LinearSVC(C=C)
- cls.fit(X_train,y_train)
- train_scores.append(cls.score(X_train,y_train))
- test_scores.append(cls.score(X_test,y_test))
- ## 绘图
- fig=plt.figure()
- ax=fig.add_subplot(1,1,1)
- ax.plot(Cs,train_scores,label="Traing score")
- ax.plot(Cs,test_scores,label="Testing score")
- ax.set_xlabel(r"C")
- ax.set_ylabel(r"score")
- ax.set_xscale('log')
- ax.set_title("LinearSVC")
- ax.legend(loc='best')
- plt.show()
- # 调用 test_LinearSVC_C
- test_LinearSVC_C(X_train,X_test,y_train,y_test)
吴裕雄 python 机器学习——支持向量机线性分类LinearSVC模型的更多相关文章
- 吴裕雄 python 机器学习——支持向量机SVM非线性分类SVC模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...
- 吴裕雄 python 机器学习——支持向量机非线性回归SVR模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...
- 吴裕雄 python 机器学习——支持向量机线性回归SVR模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...
- 吴裕雄 python 机器学习——局部线性嵌入LLE降维模型
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datas ...
- 吴裕雄 python 机器学习——数据预处理流水线Pipeline模型
from sklearn.svm import LinearSVC from sklearn.pipeline import Pipeline from sklearn import neighbor ...
- 吴裕雄 python 机器学习——K均值聚类KMeans模型
import numpy as np import matplotlib.pyplot as plt from sklearn import cluster from sklearn.metrics ...
- 吴裕雄 python 机器学习——混合高斯聚类GMM模型
import numpy as np import matplotlib.pyplot as plt from sklearn import mixture from sklearn.metrics ...
- 吴裕雄 python 机器学习——超大规模数据集降维IncrementalPCA模型
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datas ...
- 吴裕雄 python 机器学习——数据预处理正则化Normalizer模型
from sklearn.preprocessing import Normalizer #数据预处理正则化Normalizer模型 def test_Normalizer(): X=[[1,2,3, ...
随机推荐
- 10.3 c++ STL 初步
#include<Windows.h>#include<iostream>#include<algorithm> // sort swap min ma ...
- 记录 Docker 的学习过程 (单机编排)
容器的编排 什么是容器的编排?就是让容器有序的启动并在启动的过程加以控制 docker-compose -f bainpaiwenjian.yul up 如果编排文件为默认名称docker-compo ...
- 微信小程序自定义顶部导航
注释:自定义导航需要自备相应图片 一.设置自定义顶部导航 Navigation是小程序的顶部导航组件,当页面配置navigationStyle设置为custom的时候可以使用此组件替代原生导航栏. 1 ...
- nginx 部署php项目 404
服务器重启了一下 然后访问程序报错404的情况 文件存在位置没有问题 niginx配置根目录没有问题 最后检查到端口的时候发现php-fpm的9000端口未打开 service php-fpm res ...
- redis string类型 增删改查
string一.设置 1.设置一个键值对时,如果该键已存在,那么就成了updata (key:value) 例: set name jiang 访问值:get name 2.设置值过期时间:setex ...
- eureka server 单节点与多节点部署演示
环境搭建 目录结构(ad-eureka为子模块) --ad-spring-cloud --ad-eureka --pom.xml --pom.xml 主pom.xml <?xml version ...
- STL-priority_queue H - 看病要排队
H - 看病要排队 看病要排队这个是地球人都知道的常识.不过经过细心的0068的观察,他发现了医院里排队还是有讲究的.0068所去的医院有三个医生(汗,这么少)同时看病.而看病的人病情有轻重,所以不能 ...
- 3ds Max File Format (Part 2: The first inner structures; DllDirectory, ClassDirectory3)
Now that we understand the outer structure of the file, it's time to look closer to what's inside. T ...
- [一本通学习笔记] RMQ专题
傻傻地敲了好多遍ST表. 10119. 「一本通 4.2 例 1」数列区间最大值 #include <bits/stdc++.h> using namespace std; const i ...
- MFC对话框常用操作文章收藏
1.改变控件文本 参考链接:https://blog.csdn.net/active2489595970/article/details/88856235 所有控件的文本都可以用这种方式动态改变. 2 ...