我编写了这些代码,以预测和测试某些数据集的准确性,借助sklearn随机森林分类器。
代码
a = datetime.datetime.now()
y_pred=clf.predict(X_test)
b = datetime.datetime.now()
rf_time = b-a
rf_ac = metrics.accuracy_score(y_test, y_pred)
print(type(rf_time))
print('Random Forest Time Duration - ',b-a)
print("Random Forest Accuracy:",metrics.accuracy_score(y_test, y_pred))
输出
<class 'datetime.timedelta'>
Random Forest Time Duration - 0:00:00.011969
Random Forest Accuracy: 0.6324761904761905
这里我得到了rf_time
,它的类型是datetime.timedelta
。现在,如何将这个datetime.timedelta
转换为整数。如何从0:00:00.011969
中获得int值
发布于 2022-08-18 17:10:37
在UNIT
中获取timedelta的通用形式是:
delta / timedelta(UNIT=1)
UNIT
,days
,hours
,minutes
,seconds
,microseconds
,milliseconds
。
NB. --这是一个分区,在python中它总是给出一个浮点,所以您可能需要手动将/显示为int
。
几秒钟后,就有了timedelta.total_seconds()
。
示例:
timedelta(days=1) / timedelta(hours=1) # gives 24.0
对于上面的问题,OP可以将这个print
语句用作timedelta的一个数字。
print(
'Random Forest Time Duration (in µs) -',
rf_time / datetime.timedelta(microseconds=1)
)
发布于 2022-08-18 17:05:54
这取决于您希望您的干预单元是什么:几秒钟内您可以使用:
from datetime import timedelta
rf_time = timedelta(hours=1)
t_integer = int(t.total_seconds())
t_integer
产出:
如果您想要ns,可以使用:
t_integer = int(t.total_seconds() * 1e9)
产出:
对于我们,您可以使用* 1e6
等
https://stackoverflow.com/questions/73406909
复制相似问题