机器学习 SVM sklearn
2017-04-16 10:36
274 查看
SVM回归
代码:import numpy as np from sklearn import svm import matplotlib.pyplot as plt
N = 50
np.random.seed(0)
x = np.sort(np.random.uniform(0, 6, N), axis=0) y = 2*np.sin(x) + 0.1*np.random.randn(N) x = x.reshape(-1, 1)
svr_rbf = svm.SVR(kernel='rbf', gamma=0.2, C=100)
'''C和gamma找到最优方式如下 model = svm.SVR(kernel='rbf') c_can = np.logspace(-2, 2, 10) gamma_can = np.logspace(-2, 2, 10) svr = GridSearchCV(model, param_grid={'C': c_can, 'gamma': gamma_can}, cv=5) svr.fit(x, y) print '验证参数:\n', svr.best_params_ '''svr_rbf.fit(x, y)svr_linear = svm.SVR(kernel='linear', C=100)svr_linear.fit(x, y)svr_poly = svm.SVR(kernel='poly', degree=3, C=100)svr_poly.fit(x, y)
x_test = np.linspace(x.min(), 1.5*x.max(), 100).reshape(-1, 1) y_rbf = svr_rbf.predict(x_test) y_linear = svr_linear.predict(x_test) y_poly = svr_poly.predict(x_test)
matplotlib.rcParams['font.sans-serif'] = [u'SimHei'] matplotlib.rcParams['axes.unicode_minus'] = False plt.figure(figsize=(9, 8), facecolor='w')#可选 创建绘图对象9宽8高 plt.plot(x_test, y_rbf, 'r-', linewidth=1, label='RBF Kernel')#支持颜色bgrcmykw plt.plot(x_test, y_linear, 'g-', linewidth=2, label='Linear Kernel')#支持线型-|--|-.|:|.|,|o|v|^|<|>|等 plt.plot(x_test, y_poly, 'b-', linewidth=2, label='Polynomial Kernel') plt.plot(x, y, 'mo', markersize=6) #散点图与plot使用类型 plt.scatter(x[svr_rbf.support_], y[svr_rbf.support_], s=130, c='r', marker='*', label='RBF Support Vectors') plt.legend(loc='lower left')#显示图示 plt.title(u'回归SVR', fontsize=16) plt.xlabel('X') plt.ylabel('Y') plt.grid(True) plt.show()
SVM分类
代码:import numpy as np from sklearn import svm import matplotlib as mpl import matplotlib.colors import matplotlib.pyplot as plt
# 分类器 clfs = [svm.SVC(C=0.3, kernel='linear'), svm.SVC(C=10, kernel='linear'), svm.SVC(C=5, kernel='rbf', gamma=1), svm.SVC(C=5, kernel='rbf', gamma=4)]
for i, clf in enumerate(clfs): clf.fit(x, y) y_hat = clf.predict(x)
print '支撑向量的数目:', clf.n_support_
print '支撑向量的系数:', clf.dual_coef_
print '支撑向量:', clf.support_
相关文章推荐
- 转 机器学习资料ppt
- 机器学习Matlab实战之图像压缩————Kmeans算法
- 机器学习(一)
- 【机器学习实战-python3】利用PCA简化数据
- 大数据早报:极课大数据获得1亿元融资 美科学家利用机器学习挖出人们背后的自杀行为(11.1)
- 斯坦福大学(吴恩达) 机器学习课后习题详解 第三周 编程题 逻辑回归
- 机器学习领域部分算法
- 机器学习--交叉验证
- 机器学习技法总结(六)Decision Tree Hypothesis
- 【机器学习】逻辑回归(Linear Regression)模型推导
- 机器学习 西瓜书 第一章 [读书笔记+习题]
- 机器学习推荐论文和书籍
- 机器学习中的范数规则化之(一)L0、L1与L2范数
- 机器学习初探
- 机器学习之特征工程
- 机器学习零基础?手把手教你用TensorFlow搭建图像分类器
- 机器学习+数据挖掘校招面试能力要求
- Weka 机器学习 开源
- Practical Machine Learning实用机器学习 章1