分类器评估与回归入门
1. 分类器的简单评估
在计算机系统中,系统内存由所有运行的程序共享,操作系统(如Windows、OSX、Linux)负责管理内存并响应应用程序的使用请求。Python程序也需要与其他程序共享内存资源。当请求内存时,操作系统会分配一块内存,可能会比请求的多;使用完后归还内存时,这一过程会产生管理开销。
Python是一种具有内存管理功能的语言,它在操作系统之上还有自己的内存管理机制。在Jupyter notebook中重新运行单元格时,可能会看到内存增量为0.00 MiB,这是因为之前使用的旧内存被释放后,操作系统没有将其分配给其他程序,所以再次需要内存时可以重用旧内存。是否看到内存增量取决于多个因素:
1. notebook单元格的操作
2. 程序已占用和使用的其他内存
3. 计算机上运行的其他程序
4. 操作系统内存管理器的具体细节
为了简化内存使用测试并减少混淆变量,编写小型独立程序非常有用,同时也可用于独立计时。
以下是一个用于测试k近邻算法(k-NN)内存使用的脚本 knn_memtest.py
:
import memory_profiler, sys
from mlwpy import *
@memory_profiler.profile(precision=4)
def knn_memtest(train, train_tgt, test):
knn = neighbors.KNeighborsClassifier(n_neighbors=3)
fit =