Informatika2-2014/FeladatPaciens
A MathWikiből
A lap korábbi változatát látod, amilyen Rpalovics (vitalap | szerkesztései) 2014. április 4., 09:31-kor történt szerkesztése után volt.
import sys import math def reader(fileName): dataSet = [] f = open(fileName,'r') for line in f: line = line.rstrip("\n") L = line.split(" ") data = [] for l in L: data.append(float(l)) dataSet.append(data) return dataSet def learn(trainingData): averages = [] for i in range(0,10): averages.append(0) for user in trainingData: for i in range(0,10): averages[i]+=user[i+1] for i in range(10): averages[i] = averages[i] / float(len(trainingData)) return averages def predict(averages,testingData): predictions = [] for test in testingData: aboveAverage = 0 for i in range(0,10): if(test[i+1]>averages[i]): aboveAverage+=1 id = test[0] truth = int(test[-1]) if aboveAverage > len(averages)*0.5: predictions.append([id,truth,1]) else: predictions.append([id,truth,0]) return predictions def accuracy(predictions): acc = 0 for prediction in predictions: if prediction[1] == prediction[2]: acc += 1 return acc/float(len(predictions)) def learnAndPredict(): trainingData = reader(sys.argv[1]) testingData = reader(sys.argv[2]) averages = learn(trainingData) predictions = predict(averages,testingData) print "Accuracy: ", accuracy(predictions) learnAndPredict()