机器学习之机器学习实战篇——用支撑向量算法在Kaggle上跑个分
小标 2018-11-22 来源 : 阅读 1234 评论 0

摘要:本文主要向大家介绍了机器学习之机器学习实战篇——用支撑向量算法在Kaggle上跑个分,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

本文主要向大家介绍了机器学习之机器学习实战篇——用支撑向量算法在Kaggle上跑个分,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。


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

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

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


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

一、下载处理数据

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

import pandas as pdimport matplotlib.pyplot as plt, matplotlib.image as mpimgfrom sklearn.model_selection import train_test_splitfrom 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 的黑白带灰阶的图片。


image.png

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


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%准确率的训练结果的所有代码,是不是很简单。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程