# 机器学习练习6 SVM
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
from scipy.io import loadmat
raw_data = loadmat('E:\PyCharm\数据\ex6data1.mat')
data = pd.DataFrame(raw_data['X'],columns=['X1','X2'])
data['y'] = raw_data['y']
positive = data[data['y'].isin([1])]
negative = data[data['y'].isin([0])]fig,ax = plt.subplots(figsize=(12,8))
ax.scatter(positive['X1'],positive['X2'],s=50,marker='x',label = 'Positive')
ax.scatter(negative['X1'],negative['X2'],s=50,marker='o',label= 'Negative')
ax.legend()
# plt.show()from sklearn import svm
svm= svm.LinearSVC(C=1,loss='hinge',max_iter=1000)
svm.fit(data[['X1','X2']],data['y'])
svm.score(data[['X1','X2']],data['y'])data['SVM 1 Confidence'] = svm.decision_function(data[['X1','X2']])
fig, ax = plt.subplots(figsize=(12,8))
ax.scatter(data['X1'],data['X2'],s=50,c=data['SVM 1 Confidence'],cmap='seismic')
ax.set_title('SVM(C=1) Decision Confidence')
plt.show()def gaussian_kernel(x1,x2,sigma):return np.exp(-(np.sum((x1-x2)**2)/(2*(sigma*2))))
x1 =np.array([1.0,2.0,1.0])
x2= np.array([0.0,4.0,-1.0])
sigma =2
print(gaussian_kernel(x1,x2,sigma))raw_data = loadmat('E:\PyCharm\数据\ex6data2.mat')data = pd.DataFrame(raw_data['X'], columns=['X1', 'X2'])
data['y'] = raw_data['y']positive = data[data['y'].isin([1])]
negative = data[data['y'].isin([0])]fig, ax = plt.subplots(figsize=(12,8))
ax.scatter(positive['X1'], positive['X2'], s=30, marker='x', label='Positive')
ax.scatter(negative['X1'], negative['X2'], s=30, marker='o', label='Negative')
ax.legend()
plt.show()
svc = svm.SVC(C=100, gamma=10, probability=True)
print(svc)
svc.fit(data[['X1','X2']],data['y'])
svc.score(data[['X1','X2']],data['y'])data['Probability'] = svc.predict_proba(data[[X1,X2]])[:,0]
fig, ax=plt.subplots(figsize=(12,8))
ax.scatter(data['X1'],data['X2'],s=30,c=data['Probability'],cmap='Reds')
plt.show()raw_data=loadmat('E:\PyCharm\数据\ex6data3.mat')
X = raw_data['X']
Xval = raw_data['Xval']
y = raw_data['y'].ravel()
yval = raw_data['yval'].ravel()
C_values = [0.01,0.03,0.1,0.3,1,3,10,30,100]
gamma_values = [0.01,0.03,0.1,0.3,1,3,10,30,100]best_score = 0
best_params = {'c':None,'game':None}
for C in C_values:for gamma in gamma_values:svc = svm.SVC(C=C,gamma= gamma)svc.fit(X,y)score = svc.score(Xval,yval)if score>best_score:best_score=scorebest_params['C'] = Cbest_params['gamma'] = gamma
print(best_params,best_score)spam_train = loadmat('E:\PyCharm\数据\spamTrain.mat')
spam_test = loadmat('E:\PyCharm\数据\spamTest.mat')
X = spam_train['X']
Xtest = spam_test['Xtest']
y = spam_train['y'].ravel()
ytest = spam_test['ytest'].ravel()
svc =svm.SVC()
svc,fit(X,y)

Machine Learning——Homework 6相关推荐

  1. Build a Machine Learning Portfolio(构建机器学习投资组合)

    Complete Small Focused Projects and Demonstrate Your Skills (完成小型针对性机器学习项目,证明你的能力) A portfolio is ty ...

  2. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

  3. Machine Learning Exercise 1.1

    Machine Learning Exercise 1.1 目录 Machine Learning Exercise 1.1 1. 实验题目:编写程序模拟仿真多项式回归 2. 实验要求 3. 实验过程 ...

  4. Machine Learning Summary

    Machine Learning Summary General Idea No Free Lunch Theorem (no "best") CV for complex par ...

  5. Understanding Machine Learning By Shai Shalev-Shwartz and Shai Ben-David

    课程主页: http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/courses.html 电子书pdf链接: http://www ...

  6. bff v2ex_语音备忘录的BFF-如何通过Machine Learning简化Speech2Text

    bff v2ex by Rafael Belchior 通过拉斐尔·贝尔基奥尔(Rafael Belchior) 语音备忘录的BFF-如何通过Machine Learning简化Speech2Text ...

  7. 吴恩达新书《Machine Learning Yearning》完整中文版 PDF 下载!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale资源 推荐人:GithubDaily,Datawhale伙伴 <Mach ...

  8. 吴恩达《Machine Learning》Jupyter Notebook 版笔记发布!图解、公式、习题都有了

    在我很早之前写过的文章<机器学习如何入门>中,就首推过吴恩达在 Coursera 上开设的<Machine Learning>课程.这门课最大的特点就是基本没有复杂的数学理论和 ...

  9. 吴恩达新书《Machine Learning Yearning》完整中文版开源!

    选自Github 来源:机器学习算法与自然语言处理 吴恩达新书<Machine Learning Yearning>完整中文版开源,整理给大家. <Machine Learning ...

  10. Auto Machine Learning 自动化机器学习笔记

    ⭐适读人群:有机器学习算法基础 1. auto-sklearn 能 auto 到什么地步? 在机器学习中的分类模型中: 常规 ML framework 如下图灰色部分:导入数据-数据清洗-特征工程-分 ...

最新文章

  1. angular HttpClient 配置
  2. Vue指令篇_v-if、v-else、v-else-if
  3. nginx一 之负载均衡介绍
  4. http 二进制_浅谈HTTP协议
  5. C语言 ,嵌入式 ,c++,数据结构 面试题目(4)
  6. 基于顺序存储结构的图书信息表的最佳位置图书的查找(C++)
  7. MySQL null与not null和null与空值‘‘的区别
  8. 27 Server Sockets
  9. 为什么python工程师掌握这些就够了_Python学到什么程度才可以去找工作?掌握这4点足够了!...
  10. android:Style and Theme
  11. Android Spinner 设置setOnItemSelectedListener时,竟会默认触发一次事件!
  12. 深度学习笔记(四)——ResNet模型学习与复现
  13. shell的EOF用法
  14. FwmarkServer 实现以及功能分析
  15. 四 Lync Server 2013 部署指南-前端部署(2)
  16. 2021 年百度之星·程序设计大赛 - 初赛三
  17. aven class javax.xml.parsers.SecuritySupport12 cannot access its superclass javax.xml.parsers.Secur
  18. win10系统瑞星杀毒的卸载
  19. Elasticsearch:如何在聚合时选择所需要的 bucket 并进行可视化
  20. UG CAM 开发获取工序导航器当前选择的操作、程序组、几何体、刀具方法,获得名字并修改名字

热门文章

  1. java 二进制转十进制的算法_java中位运算与整数的十进制转二进制
  2. java怎么设计一个系统吗_谁能帮我设计一个Java的文件管理系统谢谢各位
  3. 左右方块消除html5,html5消除方块游戏总结-对象
  4. linux 显存占用内存,Linux服务器内存、CPU、显卡、硬盘使用情况查看
  5. python中3个线程并发实现_Python3线程中的异步并发是什么?
  6. exxi6.7如何传文件到win7_win7系统被删除文件如何恢复 恢复被删除的文件操作方法【详解】...
  7. SQL:postgresql中查询日期date的方法
  8. 0penCV_(Watershed Segmenter)使用 分水岭算法 对图像进行分割
  9. tensorflow中tfrecords使用介绍
  10. Ubuntu下安装qt57creator-plugin-ros,在QT中进行ROS开发(亲测有效)