kaggle之手写体识别
2024-10-16 11:40:08
数据预览
首先载入数据集
import pandas as pd
import numpy as np
train = pd.read_csv('/Users/frank/Documents/workspace/kaggle/dataset/digit_recognizer/train.csv')
test = pd.read_csv('/Users/frank/Documents/workspace/kaggle/dataset/digit_recognizer/test.csv')
print train.head()
print test.head()
label pixel0 pixel1 pixel2 pixel3 pixel4 pixel5 pixel6 pixel7 \
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0
3 4 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0
pixel8 ... pixel774 pixel775 pixel776 pixel777 pixel778 \
0 0 ... 0 0 0 0 0
1 0 ... 0 0 0 0 0
2 0 ... 0 0 0 0 0
3 0 ... 0 0 0 0 0
4 0 ... 0 0 0 0 0
pixel779 pixel780 pixel781 pixel782 pixel783
0 0 0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
[5 rows x 785 columns]
pixel0 pixel1 pixel2 pixel3 pixel4 pixel5 pixel6 pixel7 pixel8 \
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0
pixel9 ... pixel774 pixel775 pixel776 pixel777 pixel778 \
0 0 ... 0 0 0 0 0
1 0 ... 0 0 0 0 0
2 0 ... 0 0 0 0 0
3 0 ... 0 0 0 0 0
4 0 ... 0 0 0 0 0
pixel779 pixel780 pixel781 pixel782 pixel783
0 0 0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
[5 rows x 784 columns]
分离训练数据和标签:
train_data = train.values[:,1:]
label = train.ix[:,0]
test_data = test.values
降维
from sklearn.decomposition import PCA
from sklearn.svm import SVC
pca = PCA(n_components=0.8, whiten=True)
# pca.fit(train_data)
train_data = pca.fit_transform(train_data)
# pca.fit(test_data)
test_data = pca.transform(test_data)
SVM训练
print('使用SVM进行训练...')
svc = SVC(kernel='rbf',C=2)
svc.fit(train_data, label)
print('训练结束.')
使用SVM进行训练...
训练结束.
print('对测试集进行预测...')
predict = svc.predict(test_data)
print('预测结束.')
对测试集进行预测...
预测结束.
保存结果:
pd.DataFrame(
{"ImageId": range(1, len(predict) + 1), "Label": predict}
).to_csv('output.csv', index=False, header=True)
print 'done.'
done.
最新文章
- Visual Studio 2015 Update 2
- 浏览器-02 Chromium的多线程
- IOS开发-项目实战-点赞功能的实现
- MemcacheQ 安装与使用
- PHP 位移运算符(<;<;左移和>;>;右移)
- Hadoop之Hive自定义函数的陷阱
- pyhton3多线程
- 百度地图Api详解之地图标注
- 【转】对于移动APP测试的一个小技巧
- MAC OS JAVA环境变量配置
- 栈和队列的面试题Java
- led驅動芯片對LED燈具的要求
- HBase加Solr
- 高性能队列Disruptor系列3--Disruptor的简单使用(译)
- Kosaraju算法详解
- Ani动态光标格式解析
- Tomcat7配置Https
- CF_#478_Div.2_Hag&#39;s Khashba
- POJ 3311 Hie with the Pie 【状压DP】
- APIPA