永发信息网

这是我写kaggle手写识别的代码,能设法优化一下,提高速度吗?

答案:2  悬赏:30  手机版
解决时间 2021-03-21 12:59
  • 提问者网友:活着好累
  • 2021-03-20 17:18
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'Administrator'

from numpy import *
import csv
import pandas as pd

def getdata():
data = pd.read_csv('train.csv')
train_data = data.values[:, 1:]
train_label = data.values[:, 0]
#train_data = where(train_data > 0, 1, train_data)
return train_data, train_label

def classify(inx, data, label, k):
dataSize = data.shape[0]
diffMat = abs(tile(inx, (dataSize, 1)) - data)
sqDistances = sum(diffMat, axis=1)
#distances = sqDistances ** 0.5
sorteddistindicies = sqDistances.argsort()
votelabel = label[sorteddistindicies[:k]]
votelabel = pd.Series(votelabel)
return votelabel.value_counts().index[0]#trainData, trainLabel = csv2matrix()

trainData, trainLabel = getdata()
testData = pd.read_csv('test.csv')
testx = testData.values
#testx = where(testx>0, 1, testx)

testLabel = []
for x in testx:
testLabel.append(classify(x, trainData, trainLabel, 5))
#print testLabel[-1]

pd.DataFrame(testLabel).to_csv('result.csv')

现在约每秒一个识别。总共28000个图片数据,那岂不是要7个多小时?怎么优化才好?
最佳答案
  • 五星知识达人网友:七十二街
  • 2021-03-20 18:44
$pngname = $openid.'.png';
if(imagepng($QR, $pngname)){
imagedestroy($QR);
$qrurl = W_DOMAIN.''.$pngname;
$this->assign('qrcode',$qrurl);
$this->display();
}
全部回答
  • 1楼网友:神鬼未生
  • 2021-03-20 18:50
我也不确定,还是看看专业人士怎么说。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯