我是一个Python和机器学习的初学者。在完成《动手学习机器学习与scikit-learn和TensorFlow》这本书中的一个项目时,我遇到了使用hashlib创建测试集的方法。您能帮我逐步理解这个返回语句的逻辑吗?
def test_set_check(identifier, test_ratio, hash): return hash(np.int64(identifier)).digest()[-1]<256 * test_ratio
回答:
假设hash
来自hashlib
:
- 将
identifier
转换为64位的numpy整数 - 对转换后的
identifier
进行哈希处理 - 从哈希值中获取最后一个字节的值
- 将该值与
(256 * test_ratio)
进行比较 - 返回比较的结果