Kiggle:Digit Recognizer

题目链接:Kiggle:Digit Recognizer

Each image is 28 pixels in height and 28 pixels in width, for a total of 784 pixels in total.

  给的是28像素的高和宽,所以总共有784像素,在处理的过程中,先用PCA进行降维,对数据进行主要的特征分量;然后通过KNN(K-邻近算法)进行对测试数据的预测分类。

  对于PCA算法:主成分分析,是通过线性变质将原始数据转换程一组各维度无关的表示,可以用于提取数据的主要特征分量,用于高维数据的降维。

  步骤:

    1.将原始数据按行组成n行m列的矩阵X

    2.将X的每一行进行零均值化,即减去每一行的均值

    3.求出协方差矩阵

    4.求出协方差矩阵的特征值以及对应的特征向量

    5.将特征向量按对应特征值的大小从上到下按行排序,排列成矩阵,取前K行组成矩阵P

    6.Y=PX,即为降维到K维的数据

时间: 2024-08-06 16:39:29

Kiggle:Digit Recognizer的相关文章

kaggle实战记录 =>Digit Recognizer(7月份完全掌握细节及内容)

date:2016-07-11 今天开始注册了kaggle,从digit recognizer开始学习, 由于是第一个案例对于整个流程目前我还不够了解,首先了解大神是怎么运行怎么构思,然后模仿.这样的学习流程可能更加有效,目前看到排名靠前的是用TensorFlow.ps:TensorFlow是可以直接安linux环境下面,但是目前不能在windows环境里面运行(伤心一万点). TensorFlow模块用的是NN(神经网络),既然现在接触到可以用神经网络的例子我再也不好意思再逃避学习神经网络下面

DeepLearning to digit recognizer in kaggle

DeepLearning to digit recongnizer in kaggle 近期在看deeplearning,于是就找了kaggle上字符识别进行练习.这里我主要用两种工具箱进行求解.并比对两者的结果. 两种工具箱各自是DeepLearningToolbox和caffe. DeeplearningToolbox源代码解析见:http://blog.csdn.net/lu597203933/article/details/46576017 Caffe学习见:http://caffe.b

Kaggle竞赛题目之——Digit Recognizer

Classify handwritten digits using the famous MNIST data This competition is the first in a series of tutorial competitions designed to introduce people to Machine Learning. The goal in this competition is to take an image of a handwritten single digi

Kaggle Digit Recognizer 练习

本文代码主要是为了练习Kaggle流程,精确度不高. main.py 1 #encoding:utf-8 2 from functions import * 3 from sklearn import neighbors 4 5 #读取训练集数据 6 trainData,trainLabel=readTrainData('train.csv') 7 #读取测试集数据 8 testData=readTestData('test.csv') 9 10 #KNN算法中的k值,即最近邻的个数 11 n_

SMO序列最小最优化算法

SMO例子: 1 from numpy import * 2 import matplotlib 3 import matplotlib.pyplot as plt 4 5 def loadDataSet(fileName): 6 dataMat = []; labelMat = [] 7 fr = open(fileName) 8 for line in fr.readlines(): 9 lineArr = line.strip().split(',') 10 dataMat.append(

Kaggle

Digit Recognizer step1: KNN 实验室的电脑太慢了,用Python简直慢的一比,用C写的,跑了一个多小时,识别率93%,很低,继续…… 1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 int ans[15000]; 7 int label[42010]; 8 int matrix[42010][800]; 9 int test[26000][800]; 10 int

Python3下UnicodeDecodeError:‘ASCII’ codec cant decode..(128)

今天准备用Keras跑一下LeNet的程序,结果总是编码出错 源代码是2.7写的,编码格式是utf-8.然后尝试网上各种方法不适用,最后还是解决了 源代码: data = gzip.open(r'C:\Users\Administrator\Desktop\Digit Recognizer\mnist.pkl.gz') train_set,valid_set,test_set = cPickle.load(data) 修改后: with gzip.open(r'C:\Users\Administ

[转]使用sklearn进行集成学习——实践

转:http://www.cnblogs.com/jasonfreak/p/5720137.html 目录 1 Random Forest和Gradient Tree Boosting参数详解2 如何调参? 2.1 调参的目标:偏差和方差的协调 2.2 参数对整体模型性能的影响 2.3 一个朴实的方案:贪心的坐标下降法 2.3.1 Random Forest调参案例:Digit Recognizer 2.3.1.1 调整过程影响类参数 2.3.1.2 调整子模型影响类参数 2.3.2 Gradi

深度学习斯坦福cs231n 课程笔记

前言 对于深度学习,新手我推荐先看UFLDL,不做assignment的话,一两个晚上就可以看完.毕竟卷积.池化啥的并不是什么特别玄的东西.课程简明扼要,一针见血,把最基础.最重要的点都点出来 了. cs231n这个是一个完整的课程,内容就多了点,虽然说课程是computer vision的,但80%还是深度学习的内容.图像的工作暂时用不上,我就先略过了. 突然发现这两个课程都是斯坦福的,牛校就是牛. 课程主页 http://vision.stanford.edu/teaching/cs231n