【Kaggle笔记】手写数字识别分类(线性支持向量机)
2017-04-30 20:03
369 查看
数据集
scikit-learn内部集成的手写体数字图片数据集代码
# -*- coding: utf-8 -*- """ 手写数字分类 模型: LinearSVC (线性支持向量机) """ # 从sklearn.datasets里导入手写体数字加载器。 from sklearn.datasets import load_digits # 从通过数据加载器获得手写体数字的数码图像数据并储存在digits变量中。 digits = load_digits() # 检视数据规模和特征维度。 print(digits.data.shape) # 从sklearn.cross_validation中导入train_test_split用于数据分割。 from sklearn.cross_validation import train_test_split # 随机选取75%的数据作为训练样本;其余25%的数据作为测试样本。 X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.25, random_state=33) # 从sklearn.preprocessing里导入数据标准化模块。 from sklearn.preprocessing import StandardScaler # 从sklearn.svm里导入基于线性假设的支持向量机分类器LinearSVC。 from sklearn.svm import LinearSVC # 从仍然需要对训练和测试的特征数据进行标准化。 ss = StandardScaler() X_train = ss.fit_transform(X_train) X_test = ss.transform(X_test) # 初始化线性假设的支持向量机分类器LinearSVC。 lsvc = LinearSVC() #进行模型训练 lsvc.fit(X_train, y_train) # 利用训练好的模型对测试样本的数字类别进行预测,预测结果储存在变量y_predict中。 y_predict = lsvc.predict(X_test) # 使用模型自带的评估函数进行准确性测评。 print('The Accuracy of Linear SVC is', lsvc.score(X_test, y_test)) # 依然使用sklearn.metrics里面的classification_report模块对预测结果做更加详细的分析。 from sklearn.metrics import classification_report print(classification_report(y_test, y_predict, target_names=digits.target_names.astype(str)))
效果
相关文章推荐
- (线性支持向量机)手写数字识别
- TensorFlow学习笔记之源码分析(2)----手写数字识别mnist example
- 学习笔记(五)Tensorflow实现Soft Regression简单识别MNIST手写数字
- 基于SVM和KNN的手写数字的识别(分类)——小试牛刀篇
- 使用支持向量机(分类)对手写体数字图像进行识别
- kaggle-Digit Recognition(手写数字识别)
- TensorFlow学习笔记【二】 手写数字识别入门
- Spark学习笔记——手写数字识别
- Tensorflow手写数字识别之简单神经网络分类与CNN分类效果对比
- torch入门笔记4:用torch实现MNIST手写数字识别
- 深度学习笔记(四)用Torch实现MNIST手写数字识别
- 机器学习实战-kNN分类手写数字笔记
- k近邻算法实现手写数字的识别和图片的分类
- KNN--用于手写数字识别(机器学习入门笔记)
- kaggle入门篇一【手写数字识别】
- 在Kaggle手写数字数据集上使用Spark MLlib的朴素贝叶斯模型进行手写数字识别
- Sklearn-手写数字识别 & kaggle
- 深度学习框架Caffe学习笔记(2)-MNIST手写数字识别例程
- 利用SVM(支持向量机)和MNIST库在OpenCV环境下实现手写数字0~9的识别
- 基于机器学习多种方法的kaggle竞赛入门之手写数字的图像识别预测