开发者社区> hongtao2018> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

机器学习实战篇——用支撑向量算法在Kaggle上跑个分

简介: 之前写了关于人工智能和机器学习的理论基础文章,今天就理论联系实际,用机器学习算法跑个分。 机器学习最重要的就是数据,Kaggle平台提供了大量数据为机器学习的学习者和研究者提供一个跑分的平台。
+关注继续查看

之前写了关于人工智能和机器学习的理论基础文章,今天就理论联系实际,用机器学习算法跑个分。

机器学习最重要的就是数据,Kaggle平台提供了大量数据为机器学习的学习者和研究者提供一个跑分的平台。注册账号登录之后就可以进入比赛了,初学者可以从Digit Recognizer入手,也就是识别手工书写的数字。

作为一个菜鸟,我目前最好的成绩是识别率97.228 排名第1189位。

img_a40e5d6fb0a44424eb4bbddfc1d56abd.png

这个成绩是我用支撑向量(SVM)算法获得的,所以今天就来介绍如何用SVM来实现识别手写数字。

一、下载处理数据

首先导入需要用到的python库文件, pandas 和 sklearn 是机器学习非常重要的库文件。

import pandas as pd
import matplotlib.pyplot as plt, matplotlib.image as mpimg
from sklearn.model_selection import train_test_split
from sklearn import svm
%matplotlib inline

数据文件是csv格式的所以需要用panda 库来处理

labeled_images = pd.read_csv('train.csv')
images = labeled_images.iloc[:,1:]
labels = labeled_images.iloc[:,:1]
train_images, test_images,train_labels, test_labels = train_test_split(images, labels, 
                                                                       train_size=0.95, random_state=0)

train_test_split 函数是用来将数据成两组,训练组和验证组,其中训练组占95%。

每一张图片实际上是一个28 x 28 的黑白带灰阶的图片。


img_38462ce843b227314af2ceddc127ab2c.png
image.png

学习之前还需要将数据normalize, 这里用到了sklearn 中的 standardscaler 函数

img_108f5ee04cea5cb486bc06bcc886a73b.png
image.png

二、用Sklearn的SVM学习数据

将normalize 后的数据送进分类器中,总共四行代码完成训练和评分,结果是0.977142的准确率

from sklearn.svm import SVC
clf = svm.SVC(kernel = "poly", degree = 3, coef0=0.1, C=100)
clf.fit(train_images_scaled, train_labels.values.ravel())
clf.score(test_images_scaled,test_labels)

三、用训练好的分类器来标记数据

导入未标记的测试数据,result 就是标记后的数据

test_data=pd.read_csv('test.csv')
test_data_scaled = scaler.transform(test_data)
results=clf.predict(test_data_scaled)

这就是我用SVM训练分类器,并用分类器标记数据,最后取得97%准确率的训练结果的所有代码,是不是很简单。


————
相关文章
AI学习笔记——循环神经网络(RNN)的基本概念
AI学习笔记——神经网络和深度学习
AI学习笔记——卷积神经网络1(CNN)
————
文章首发steemit.com 为了方便墙内阅读,搬运至此,欢迎留言或者访问我的Steemit主页

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
[雪峰磁针石博客]python机器学习、web开发等书籍汇总
MicroPython for BBC micro:bit Technical Workshop - 2018 pdf 下载地址 BBC micro:bit is a development board to learn embedded system easily.
8526 0
Python机器学习(sklearn)——分类模型评估与调参总结(上)
Python机器学习(sklearn)——分类模型评估与调参总结
6071 0
Python中机器学习的特征选择工具
还在为特征选择抓狂?这个工具了解一下!
5316 0
一个完整的机器学习项目在Python中演练(三)
大家往往会选择一本数据科学相关书籍或者完成一门在线课程来学习和掌握机器学习。但是,实际情况往往是,学完之后反而并不清楚这些技术怎样才能被用在实际的项目流程中。
1596 0
【机器学习工具榜单】Tensorflow最多使用,Python 取代 R 成最受欢迎编程语言
近日,KDnuggets网站公布了2018年度的数据科学和机器学习工具调查结果。2300多名参与者对自己“过去 12 个月内在项目开发中使用过的数据挖掘 / 机器学习工具和编程语言”进行了投票。
3272 0
一个完整的机器学习项目在Python中的演练(二)
磐石 大家往往会选择一本数据科学相关书籍或者完成一门在线课程来学习和掌握机器学习。但是,实际情况往往是,学完之后反而并不清楚这些技术怎样才能被用在实际的项目流程中。
1344 0
十大Python机器学习常用库 python开发,你用过你个?
请点击此处输入图片描述 1.Pipenv Pipenv 是 Kenneth Reitz 的业余项目,旨在将其他软件包(例如 npm 和 yarn)整合到 Python 里。它不需要安装 virtualenv, virtualenvwrapper,不用管理 requirements.txt 文件,并且不用确保依赖版本的可复现性。
16170 0
python机器学习简单案例零基础入门(更新中)
一 概述 使用工具 注册登录 初始首页 新建全新 Python 文件 shift...
956 0
团队拙作《Python机器学习实战》
之前看国内外的 Python 机器学习的书,鲜有将机器学习到底怎么做人脸识别、怎么做风险控制、怎么做 OCR 算法模型列出的,并且真正的一个 Python 应用,不止是从机器学习库中导入一下配置一下参数那么简单。
2890 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
基于Spark的面向十亿级别特征的 大规模机器学习
立即下载
弱监督机器学习研究新进展
立即下载
弱监督机器学习范式
立即下载