MCPcopy
hub / github.com/owocki/pytrader / ClassifierTest

Class ClassifierTest

history/models.py:242–444  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

240
241
242class ClassifierTest(AbstractedTesterClass):
243
244 BUY = 1
245 SELL = 0
246 HOLD = -1
247
248 type = models.CharField(max_length=30, default='mock', db_index=True)
249 symbol = models.CharField(max_length=30, db_index=True)
250 name = models.CharField(max_length=100, default='')
251 datasetinputs = models.IntegerField()
252 granularity = models.IntegerField()
253 minutes_back = models.IntegerField(default=0)
254 timedelta_back_in_granularity_increments = models.IntegerField(default=0)
255 ###############
256 time = models.IntegerField(default=0)
257 prediction_size = models.IntegerField(default=0)
258 score = models.IntegerField(default=0)
259 output = models.TextField()
260 percent_correct = models.FloatField(null=True)
261
262 def __str__(self):
263 return self.name + " on " + str(self.created_on)
264
265 def rerun(self, keep_new_obj=False):
266 pass # todo
267
268 def related_mocks(self):
269 days_ago = 2
270 return ClassifierTest.objects.filter(created_on__gt=(timezone.now() - datetime.timedelta(days=int(days_ago))),
271 symbol=self.symbol,
272 minutes_back=self.minutes_back,
273 granularity=self.granularity,
274 datasetinputs=self.datasetinputs,
275 name=self.name,
276 type='mock')
277
278 def get_classifier(self, train=True, test=True):
279
280 all_output = ""
281 h = .02 # step size in the mesh
282 self.names = ["Nearest Neighbors", "Linear SVM", "RBF SVM", "Decision Tree",
283 "Random Forest", "AdaBoost", "Naive Bayes", "Linear Discriminant Analysis",
284 "Quadratic Discriminant Analysis"]
285 classifiers = [
286 KNeighborsClassifier(3),
287 SVC(kernel="linear", C=0.025),
288 SVC(gamma=2, C=1),
289 DecisionTreeClassifier(max_depth=5),
290 RandomForestClassifier(max_depth=5, n_estimators=10, max_features=1),
291 AdaBoostClassifier(),
292 GaussianNB(),
293 LinearDiscriminantAnalysis(),
294 QuadraticDiscriminantAnalysis()]
295
296 for i in range(0, len(self.names)):
297 if self.names[i] == self.name:
298 clf = classifiers[i]
299

Callers 2

get_tradersMethod · 0.90
do_classifier_testFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected