Наивный байесовский классификатор является контролируемым методом обучения и требует от вас его обучения с использованием помеченных данных, в которых вы заранее знаете цели. Затем вы можете использовать его на немаркированных данных для прогнозирования будущих значений, но вы не можете обучить его на данных без целевых значений.
Трудно рекомендовать другой метод, не зная больше о вашей задаче, но похоже, что вы хотите изучить алгоритмы кластеризации без контроля. k-means - относительно простой для начала.
datetime.timedelta
- это просто разница между двумя datetime ... так что это как период времени, в днях / секундах / микросекундах
>>> import datetime
>>> a = datetime.datetime.now()
>>> b = datetime.datetime.now()
>>> c = b - a
>>> c
datetime.timedelta(0, 4, 316543)
>>> c.days
0
>>> c.seconds
4
>>> c.microseconds
316543
Имейте в виду, что c.microseconds
возвращает только часть микросекунд временной дельты! В целях синхронизации всегда используйте c.total_seconds ()
.
Вы можете выполнять всевозможные математические операции с datetime.timedelta, например:
>>> c / 10
datetime.timedelta(0, 0, 431654)
Возможно, было бы более полезно взглянуть на процессорное время вместо wallclock хотя время ... это зависит от операционной системы, хотя ... в Unix-подобных системах проверьте команду time.
Возможно, вы захотите используйте вместо этого модуль timeit .
Вы также можете использовать:
import time
start = time.clock()
do_something()
end = time.clock()
print "%.2gs" % (end-start)
Или использовать профилировщики python .
Следующий код должен отображать время детла ...
from datetime import datetime
tstart = datetime.now()
# code to speed test
tend = datetime.now()
print tend - tstart
Вы можете просто напечатать разницу:
print tend - tstart
Я не программист на Python, но Я знаю, как использовать Google , и вот что я нашел: вы используете оператор "-". Чтобы завершить код:
from datetime import datetime
tstart = datetime.now()
# code to speed test
tend = datetime.now()
print tend - tstart
Кроме того, похоже, что вы можете использовать функцию strftime () для форматирования вычисления временного интервала, чтобы сделать время тем не менее счастливым.
time.time () / datetime подходит для быстрого использования, но не всегда на 100% точен. По этой причине мне нравится использовать один из профилировщиков std lib (особенно горячо), чтобы выяснить, что к чему.
Вы можете заглянуть в модули профиля . Вы получите лучшее представление о том, где ваши замедления, и большая часть вашей работы будет полностью автоматизирована.