这个比赛用的是著名的字符识别数据集,MNIST数据集, 使用的方法是随机森林方法。代码没有设计多少随即森林的方法,原理和代码级别的算法实现后面补充。
精度96.5%。
# -*- coding: utf-8 -*-
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn import datasets
#机器学习是对不同特征的学习,如果特征间相互独立,那么知道和不知道这些特征叫什么根本没有什么区别,都是某个维度的数字罢了,
#但是很多时候关键就在于不同特征之间的关系,隐含特征的挖掘,也即Feature Engineering
#数据路径
trainPath='C:\Users\Administrator.HW5RNAPLM6MRWZC\Desktop\kaggle\MINST_DATA'+r'\train.csv'
testPath='C:\Users\Administrator.HW5RNAPLM6MRWZC\Desktop\kaggle\MINST_DATA'+r'\test.csv'
#准备训练数据
rawData=pd.read_csv(trainPath).values
trainData=rawData[:,1:]
trainLabel=rawData[:,0]
testData= pd.read_csv(testPath).values
X=trainData
Y=trainLabel
#随机森林训练和测试
clf=RandomForestClassifier(n_estimators=100)
clf=clf.fit(X,Y)
testLabel=clf.predict(testD