热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

libsvm使用介绍中文版

转http:blog.sina.com.cnsblog_59d470310100guu3.html1.LIBSVM软件包简介LIBSVM是台湾大学林智仁(Chih-JenLin)博

转http://blog.sina.com.cn/s/blog_59d470310100guu3.html

1. LIBSVM 软件包简介
LIBSVM 是台湾大学林智仁(Chih-Jen Lin)博士等开发设计的一个操作简单、易于使用、快速有效的通用SVM 软件包,可以解决分类问题(包括C- SVC、n - SVC )、回归问题(包括e - SVR、n - SVR )以及分布估计(one-class-SVM )等问题,提供了线性、多项式、径向基和S形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。LIBSVM 是一个开源的软件包,需要者都可以免费的从作者的个人主页http://www.csie.ntu.edu.tw/~cjlin/ 处获得。他不仅提供了LIBSVM的C++语言的算法源代码,还提供了Python、Java、R、MATLAB、Perl、Ruby、LabVIEW
以及C#.net 等各种语言的接口,可以方便的在Windows 或UNIX 平台下使用,
也便于科研工作者根据自己的需要进行改进(譬如设计使用符合自己特定问题需要的核函数等)。另外还提供了WINDOWS 平台下的可视化操作工具SVM-toy,并且在进行模型参数选择时可以绘制出交叉验证精度的等高线图。

2. LIBSVM 使用方法简介
LIBSVM 在给出源代码的同时还提供了Windows操作系统下的可执行文件,包括:进行支持向量机训练的svmtrain.exe;根据已获得的支持向量机模型对数据集进行预测的svmpredict.exe;以及对训练数据与测试数据进行简单缩操作的svmscale.exe。它们都可以直接在DOS 环境中使用。如果下载的包中只有C++
的源代码,则也可以自己在VC等软件上编译生成可执行文件。

LIBSVM 使用的一般步骤是:
1) 按照LIBSVM软件包所要求的格式准备数据集;
2) 对数据进行简单的缩放操作;
3) 考虑选用RBF 核函数2 K(x,y) e x y = -g - ;
4) 采用交叉验证选择最佳参数C与g ;
5) 采用最佳参数C与g 对整个训练集进行训练获取支持向量机模型;
6) 利用获取的模型进行测试与预测。

一. LIBSVM 使用的数据格式
LIBSVM使用的训练数据和测试数据文件格式如下:
&#xff1a; &#xff1a;<2> …

其中 是训练数据集的目标值&#xff0c;对于分类&#xff0c;它是标识某类的整数(支持多个类)&#xff1b;对于回归&#xff0c;是任意实数。是以1 开始的整数&#xff0c;表示特征的序号&#xff1b;为实数&#xff0c;也就是我们常说的特征值或自变量。当特征值为0 时&#xff0c;特征序号与特征值都可以同时省略&#xff0c;即index可以是不连续的自然数。与第一个特征序号、前一个特征值与后一个特征序号之间用空格隔开。测试数据文件中的label 只用于计算准确度或误差&#xff0c;如果它是未知的&#xff0c;只需用任意一个数填写这一栏&#xff0c;也可以空着不填。例如&#xff1a;
&#43;1 1:0.708 2:1 3:1 4:-0.320 5:-0.105 6:-1 8:1.21

二. svmscale 的用法
对数据集进行缩放的目的在于&#xff1a;
1&#xff09;避免一些特征值范围过大而另一些特征值范围过小&#xff1b;
2&#xff09;避免在训练时为了计算核函数而计算内积的时候引起数值计算的困难。因此&#xff0c;通常将数据缩放到[ -1,1]或者是[0,1]之间。
用法&#xff1a;svmscale [-l lower] [-u upper] [-y y_lower y_upper]
[-s save_filename] [-r restore_filename] filename
&#xff08;缺省值&#xff1a; lower &#61; -1&#xff0c;upper &#61; 1&#xff0c;没有对y进行缩放&#xff09;

其中&#xff0c;
-l&#xff1a;数据下限标记&#xff1b;lower&#xff1a;缩放后数据下限&#xff1b;
-u&#xff1a;数据上限标记&#xff1b;upper&#xff1a;缩放后数据上限&#xff1b;
-y&#xff1a;是否对目标值同时进行缩放&#xff1b;y_lower为下限值&#xff0c;y_upper为上限值&#xff1b;
-s save_filename&#xff1a;表示将缩放的规则保存为文件save_filename&#xff1b;
-r restore_filename&#xff1a;表示将缩放规则文件restore_filename载入后按此缩放&#xff1b;
filename&#xff1a;待缩放的数据文件&#xff08;要求满足前面所述的格式&#xff09;。

缩放规则文件可以用文本浏览器打开&#xff0c;看到其格式为&#xff1a;
lower upper
lval1 uval1
lval2 uval2

其中的lower 与upper 与使用时所设置的lower 与upper 含义相同&#xff1b;index 表
示特征序号&#xff1b;lval 为该特征对应转换后下限lower 的特征值&#xff1b;uval 为对应于转换后上限upper 的特征值。
数据集的缩放结果在此情况下通过DOS窗口输出&#xff0c;当然也可以通过DOS的

文件重定向符号“>”将结果另存为指定的文件。
使用实例&#xff1a;
1) svmscale –s train3.range train3>train3.scale
表示采用缺省值&#xff08;即对属性值缩放到[ -1,1]的范围&#xff0c;对目标值不进行缩放&#xff09;
对数据集train3 进行缩放操作&#xff0c;其结果缩放规则文件保存为train3.range&#xff0c;缩放集的缩放结果保存为train3.scale。
2&#xff09; svmscale –r train3.range test3>test3.scale
表示载入缩放规则train3.range 后按照其上下限对应的特征值和上下限值线性的地对数据集test3 进行缩放&#xff0c;结果保存为test3.scale。

三. svmtrain 的用法
svmtrain实现对训练数据集的训练&#xff0c;获得SVM模型。
用法&#xff1a; svmtrain [options] training_set_file [model_file]

其中&#xff0c;
options&#xff08;操作参数&#xff09;&#xff1a;可用的选项即表示的涵义如下所示
-s svm类型&#xff1a;设置SVM 类型&#xff0c;默认值为0&#xff0c;可选类型有&#xff1a;
0 -- C- SVC
1 -- n - SVC
2 -- one-class-SVM
3 -- e - SVR
4 -- n - SVR

-t 核函数类型&#xff1a;设置核函数类型&#xff0c;默认值为2&#xff0c;可选类型有&#xff1a;
0 -- 线性核&#xff1a;u&#39;*v
1 -- 多项式核&#xff1a; (g*u&#39;*v&#43; coef 0)deg ree
2 -- RBF 核&#xff1a;e( u v 2) g -
3 -- sigmoid 核&#xff1a;tanh(g*u&#39;*v&#43; coef 0)

-d degree&#xff1a;核函数中的degree设置&#xff0c;默认值为3&#xff1b; -g g &#xff1a;设置核函数中的g &#xff0c;默认值为1/ k &#xff1b;
-r coef 0&#xff1a;设置核函数中的coef 0&#xff0c;默认值为0&#xff1b;
-c cost&#xff1a;设置C- SVC、e - SVR、n - SVR中从惩罚系数C&#xff0c;默认值为1&#xff1b;
-n n &#xff1a;设置n - SVC、one-class-SVM 与n - SVR 中参数n &#xff0c;默认值0.5&#xff1b;
-p e &#xff1a;设置n - SVR的损失函数中的e &#xff0c;默认值为0.1&#xff1b;
-m cachesize&#xff1a;设置cache内存大小&#xff0c;以MB为单位&#xff0c;默认值为40&#xff1b;
-e e &#xff1a;设置终止准则中的可容忍偏差&#xff0c;默认值为0.001&#xff1b;
-h shrinking&#xff1a;是否使用启发式&#xff0c;可选值为0 或1&#xff0c;默认值为1&#xff1b;
-b 概率估计&#xff1a;是否计算SVC或SVR的概率估计&#xff0c;可选值0 或1&#xff0c;默认0&#xff1b;
-wi weight&#xff1a;对各类样本的惩罚系数C加权&#xff0c;默认值为1&#xff1b;
-v n&#xff1a;n折交叉验证模式。
其中-g选项中的k是指输入数据中的属性数。操作参数 -v 随机地将数据剖分为n 部分并计算交叉检验准确度和均方根误差。以上这些参数设置可以按照SVM 的类型和核函数所支持的参数进行任意组合&#xff0c;如果设置的参数在函数或SVM 类型中没有也不会产生影响&#xff0c;程序不会接受该参数&#xff1b;如果应有的参数设置不正确&#xff0c;参数将采用默认值。training_set_file是要进行训练的数据集&#xff1b;model_file是训练结束后产生的模型文件&#xff0c;该参数如果不设置将采用默认的文件名&#xff0c;也可以设置成自己惯用的文件名。

使用实例&#xff1a;
1&#xff09;svmtrain train3.scale train3.model
训练train3.scale&#xff0c;将模型保存于文件train3.model&#xff0c;并在dos窗口中输出如下

结果&#xff1a;
optimization finished, #iter &#61; 1756
nu &#61; 0.464223
obj &#61; -551.002342, rho &#61; -0.337784
nSV &#61; 604, nBSV &#61; 557
Total nSV &#61; 604

其中&#xff0c;#iter为迭代次数&#xff0c;nu 与前面的操作参数-n n 相同&#xff0c;obj为SVM文件
转换为的二次规划求解得到的最小值&#xff0c;rho 为判决函数的常数项b&#xff0c;nSV 为支持
向量个数&#xff0c;nBSV为边界上的支持向量个数&#xff0c;Total nSV为支持向量总个数。
训练后的模型保存为文件train3.model&#xff0c;用记事本等文本浏览器打开可以看到其内容如下&#xff08;其后“%”后内容为笔者所加注释&#xff09;&#xff1a;
svm_type c_svc % 训练所采用的svm类型&#xff0c;此处为C- SVC
kernel_type rbf % 训练采用的核函数类型&#xff0c;此处为RBF核
gamma 0.047619 % 与操作参数设置中的g 含义相同
nr_class 2 % 分类时的类别数&#xff0c;此处为两分类问题
total_sv 604 % 总共的支持向量个数
rho -0.337784 % 决策函数中的常数项b
label 0 1 % 类别标签
nr_sv 314 290 % 各类别标签对应的支持向量个数
SV % 以下为支持向量
1 1:-0.963808 2:0.906788 ... 19:-0.197706 20:-0.928853 21:-1
1 1:-0.885128 2:0.768219 ... 19:-0.452573 20:-0.980591 21:-1
... ... ...
1 1:-0.847359 2:0.485921 ... 19:-0.541457 20:-0.989077 21:-1

% 对于分类问题&#xff0c;上面的支持向量的各列含义与训练数据集相同&#xff1b;对于回归问题&#xff0c;略有不同&#xff0c;与训练数据中的标签label&#xff08;即y值&#xff09;所对应的位置在模型文件的支持向量中现在存放的是Lagrange 系数a 值&#xff0c;即为下面决策函数公式中的a 值&#xff1a;

* *

1

() ( )( ( ) ( )) ( ) ( , )

( , )

k

i i i i i i

i i sv

i i

i sv

fx a a x x b a a k x x b

ak x x b

&#61;   &#61; - F F &#43; &#61; - &#43;

&#61; &#43; g

四. svmpredict 的用法
svmpredict 是根据训练获得的模型&#xff0c;对数据集合进行预测。
用法&#xff1a;svmpredict [options] test_file model_file output_file

options&#xff08;操作参数&#xff09;&#xff1a;
-b probability_estimates&#xff1a;是否需要进行概率估计预测&#xff0c;可选值为0 或者1&#xff0c;默认值为0。

model_file 是由svmtrain 产生的模型文件&#xff1b;test_file 是要进行预测的数据文件&#xff1b;output_file 是svmpredict 的输出文件&#xff0c;表示预测的结果值。svmpredict 没有其它的选项。

 

&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

最近的工作要用到支持向量机(SVM), 对算法不是很懂, 但是总要把用法弄明白吧, 于是就想把它的文档翻译一下, 自己弄明白吧, 也给其他人带来点方便

先给出libsvm的下载地址:   要下载就点我吧

英文文档请见压缩包内的 README 文件(用写字板打开就可以看到内容了)


其中, tools目录下的README的翻译在这里.


--------------------------------------------------------------------------------

libsvm-2.88中文文档

中文文档由 pwwang 翻译, 欢迎转载, 转载请注明出处!


 

Libsvm是一个简单、易用、有效的SVM分类和回归软件。它解决了C-SVM分类、nu-SVM分类、one-class-SVM、epsilon-SVM回归和nu-SVM回归。它还为C-SVM提供了一个自动模型选择工具。这个文档将解释libsvm的用法。

Libsvm可以从这里得到&#xff1a;http://www.csie.ntu.edu.tw/~cjlin/libsvm
在使用libsvm之前先阅读COPYRIGHT文件。

目录
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

&#xff0d;快速开始
&#xff0d;安装和数据格式
&#xff0d;“svm-train”的用法
&#xff0d;“svm-predict”的用法
&#xff0d;“svm-scale”的用法
&#xff0d;实际使用技巧
&#xff0d;例子
&#xff08;后面的部分不作翻译&#xff09;

 

快速开始
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

如果你是SVM的一个新手&#xff0c;并且数据不大&#xff0c;那么在安装完成之后请打开tools目录使用easy.py。它将把一切全自动化&#xff0c;从数据规化到参数选择。

用法&#xff1a;easy.py training_file [test_file]

你可以在“tools/README”中找到关于参数选择的更多信息。

 

安装和数据格式
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

在Unix系统中&#xff0c;输入make来生成“svm-train”和“svm-predict”程序。不带参数地运行它们可以显示他们的用法。

在其他系统中&#xff0c;参考“Makefile”来生成它们&#xff08;例如&#xff1a;你可以参数这篇文档中的“生成Windows可执行文件”&#xff09;或者使用预生成二进制文件&#xff08;Windows二进制文件在”windows“目录中&#xff09;

训练和测试数据文件中的格式是&#xff1a;

每行包含一个实例&#xff0c;并且以“n”&#xff08;译者注&#xff1a;换行符&#xff09;结束。对于分类来说&#xff0c;

这个包内的一个分类数据的例子是“heart_scale”。可以使用“tools/checkdata.py”来检测你数据格式是否正确。&#xff08;详见“tools/README”&#xff09;。

输入“svm-train heart_scale”&#xff0c;程序将读取训练数据并输出模型文件“hear_scale.model”。如果你有一个测试集叫“heart_scale.t”&#xff0c;那么输入“svm-predict heart_scale.t heart_scale.model output” 来检查预测的准确性。“output”文件包含了预测的类标签。

这个包里还有一些其他的有用的程序&#xff1a;

svm-scale&#xff1a;

规化你的输入数据文件

svm-toy&#xff1a;

这是一个简单的图形界面&#xff0c;它将在一个面板上显示SVM如果分离数据。你可以在窗口里单击来画数据点。使用“change”按钮来选择类1,2或者3&#xff08;例如&#xff1a;一直到3个类都是支持的&#xff09;&#xff0c;“load”按钮用来从文件里装入数据&#xff0c;“save”按钮用来保存数据到一个文件&#xff0c;“run”按钮用来获取一个SVM模型&#xff0c;“clear”按钮用来清除窗口。

你可以窗口的底部输入选项&#xff0c;选项的符号规则和“svm-train”一样。

注意“load”和“save”只考虑了分类情况下的数据&#xff0c;而没有考虑回归的情况。每一个数据库有一个标签&#xff08;颜色&#xff09;&#xff0c;它必须是1&#xff0c;2或者3&#xff0c;并且两个属性&#xff08;x和y值&#xff09;范围必须是[0&#xff0c;1]。

在各个目录中输入make来生成它们。

你需要Qt库来生成Qt版本&#xff08;可以在这里得到&#xff1a;http://www.trolltech.com&#xff09;

你需要GTK&#43;库来生成GTK版本&#xff08;可以在这里得到&#xff1a;http://www.gtk.org&#xff09;

预生成的Windows二进制文件可“Windows”目录中。我们使用的是32-位机上的Visual C&#43;&#43;&#xff0c;所以最大缓存是2GB。

 

“svm-train”的用法
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

用法&#xff1a;svm-train [options] training_set_file [model_file]
选项&#xff1a;
-s svm_type : 设定SVM的类型 (default 0)
    0 — C-SVC
    1 — nu-SVC
    2 — one-class SVM
    3 — epsilon-SVR
    4 — nu-SVR
-t kernel_type : 设定核函数的类型 (default 2)
    0 — linear: u’*v
    1 — polynomial: (gamma*u’*v &#43; coef0)^degree
    2 — radial basis function: exp(-gamma*|u-v|^2)
    3 — sigmoid: tanh(gamma*u’*v &#43; coef0)
    4 — precomputed kernel (kernel values in training_set_file)
-d degree : set degree in kernel function (default 3)
-g gamma : set gamma in kernel function (default 1/k)
-r coef0 : set coef0 in kernel function (default 0)
-c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)
-n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)
-p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)
-m cachesize : set cache memory size in MB (default 100)
-e epsilon : set tolerance of termination criterion (default 0.001)
-h shrinking: whether to use the shrinking heuristics, 0 or 1 (default 1)
-b probability_estimates: whether to train an SVC or SVR model for probability estimates, 0 or 1 (default 0)
-wi weight: set the parameter C of class i to weight*C in C-SVC (default 1)
-v n: n-fold cross validation mode

-g中的k表示输入数据中属性的数目。

-v选项把数据随机分成n个部分&#xff0c;并计算它们的交叉验证accuracy/mean方差&#xff08;不知道这个数学术语怎么翻译&#xff09;

通过libsvm FAQ来查看输出文件的含义。

 

“svm-predict”的用法
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

用法&#xff1a; svm-predict [options] test_file model_file output_file
选项&#xff1a;
-b probability_estimates: 是否预测概率估计, 0 或 1 (默认 0); one-class SVM只支持0

model_file是svm-train生成的model文件.
test_file 是你想预测的数据.
svm-predict 将把结果输出到output_file.

"svm-scale" Usage
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

用法&#xff1a; svm-scale [options] data_filename
选项&#xff1a;
-l lower : x 规化的最小值 (默认 -1)
-u upper : x 规化的最大值 (默认 &#43;1)
-y y_lower y_upper : y 规化的限定 (默认: 不规化y)
-s save_filename : 保存规化参数到 save_filename
-r restore_filename : 从restore_filename恢复规化参数

查看这个文档的’Examples’ 来获取例子。

 

实际使用技巧
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

* 你的数据的规化。例如&#xff0c;规化每一个属性到[0,1]或[-1,&#43;1]。
* 对于C-SVC&#xff0c;考虑使用tools目录中的模型选择工具。
* nu in nu-SVC/one-class-SVM/nu-SVR approximates the fraction of training  errors and support vectors.
* 如果分类数据不平衡&#xff08;如太多正数&#xff0c;极少负数&#xff09;&#xff0c;使用-wi尝试一个不同的罚分参数C。
* 为大的问题指定更大的缓存大小&#xff08;如 larger -m&#xff09;

Examples
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

> svm-scale -l -1 -u 1 -s range train > train.scale
> svm-scale -r range test > test.scale

Scale each feature of the training data to be in [-1,1]. Scaling factors are stored in the file range and then used for scaling the test data.

> svm-train -s 0 -c 5 -t 2 -g 0.5 -e 0.1 data_file

Train a classifier with RBF kernel exp(-0.5|u-v|^2), C&#61;10, and stopping tolerance 0.1.

> svm-train -s 3 -p 0.1 -t 0 data_file

Solve SVM regression with linear kernel u’v and epsilon&#61;0.1 in the loss function.

> svm-train -c 10 -w1 1 -w-1 5 data_file

Train a classifier with penalty 10 &#61; 1 * 10 for class 1 and penalty 50 &#61; 5 * 50 for class -1.

> svm-train -s 0 -c 100 -g 0.1 -v 5 data_file

Do five-fold cross validation for the classifier using the parameters C &#61; 100 and gamma &#61; 0.1

> svm-train -s 0 -b 1 data_file
> svm-predict -b 1 test_file data_file.model output_file

Obtain a model with probability information and predict test data with probability estimates

网上也有pdf下载的&#xff0c;只要搜“LIBSVM的简单介绍”就行了&#xff01;



推荐阅读
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
author-avatar
momo左
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有