fix bug in svmdoc vignette
fix possible glitch in svm.cpp regarding memory allocation
fix bug in read.matrix.csr()
fix incomplete arguments to avoid partial matches
fix small bug in svm.cpp (Rprintf()
wrongly called)
fix predict.gknn()
and predict.svn()
to allow
for newdata
argument with character variables instead of
factors (levels are taken from original data).
add ORCID ids
add tune.gknn()
wrapper
cosmetic changes
small fix in coef.svm
for sparse data
Remove configure code testing for gcc 2.96.
Bugfixes in gknn()
: wrong behavior in case of tied k-nearest neighbors (for use_all=TRUE
), and also in case of an overall class tie.
Bugfix in examples of cshell()
Bugfix in scale_data_frame()
- now calls scale()
if x is not a data frame.
NaiveBayes: better handling od character and logical features
Added: gknn()
for generalized k-Nearest Neighbours (using arbitrary proximity measures)
Added: scale_data_frame()
for scaling the numeric columns of a data frame.
Bug fix: "inverse" argument for class.weights argument
in svm.default()
did not work
Change license to GPL-2 OR GPL-3
add coef() method for SVMs with linear kernel
add warning in predict.naiveBayes()
if the variable
type (numeric/factor) does not match for training and new data.
Fix bug in tune when parameter space is sampled
Fix formula interface for NaiveBayes to account for variable removal
Bug fix in lca()
The class.weights
argument of svm()
now accepts
"inverse"
, setting the weights inversely proportional to the
class distribution
predict.naiveBayes
now fixes the factor levels of
newdata
to be identical with the training data.
libsvm updated to version 3.23
add and use native symbols for C-code
naiveBayes()
now supports logical variables
fix some bug in handling weights in svm.default()
fix numeric issue in classAgreement()
add functions from recommended packages to NAMESPACE
fix bug in svm.default (incorrect handling of subset= argument)
fix bug in predict.svm (new data with NA in response got removed)
residuals are now correctly computed for regression in case of scaled data
hamming.distance()
no longer converts input to binary
tune()
now uses mean()
to aggregate error
measures from cross-fold replications
remove library("SparseM") statements in code, use namespace semantics instead
Fix memory leak and uninitialized read error in write.svm()
add warning in predict.svm()
if probabilities should be
predicted, but the model was not trained with probability =
TRUE
add eps
to laplace smoothing in
predict.naiveBayes()
to account for close-zero probabilities
also.
use R's random number generator for cross-validation and probability computation instead of the system one.
remove require() statements and dependency on stats
vignettes moved to vignettes
folder.
libsvm upgrade to version 3.17, getting rid of stdout and stderr
write.matrix.csr()
now accepts a fac
argument
similar to read.matrix.csr()
, writing factor levels instead
of the numeric codes.
naiveBayes()
uses a numerically more stable formula for
calculating the a-posterior probabilities.
predict.naiveBayes()
now accepts data with predictors in
an order different from the training data, and also ignores variables
not in the model (especially the response variable).
svm()
checks whether parameters which are passed to the
C-code are set to NULL to avoid segfaults.
bug fix in tune with sparse matrices
version bump of libsvm to 3.1
Fixed partial argument matching in several places
NEWS file changed to .Rd format and moved to ‘inst/’
bug fix in svm cross validation
svm()
now accepts to set the random seed for libsvm.
tune()
now allows user-specified error functionals.
add auto-coercion from Matrix and simple_triplet_matrix objects
to predict.svm()
Bug fix in tune.svm()
: when a data frame was
provided as validation sample, the response variable was not correctly
extracted
Cosmetics: use sQuote()
instead of hard-coded quotes in
warnings and error messages in several places
Bug fix in labeling of decision values
add decision.values
of fitted values to a svm object
Bug fix in svm()
: Error messages returned by the C
function have not been correctly handled, causing segfaults.
minor fix
Allow sparse_triplet_matrix objects for svm()
More flexible interface to naiveBayes()
Fix bugs in docs for kurtosis()
Fix bugs in read.matrix.csr()
and
write.matrix.csr()
Allow Matrix objects for svm()
Version bump of libsvm to 2.88
Improve ‘DESCRIPTION’ install metadata
tune()
now also returns a dispersion measure of all
training samples.
Bootstrap is done with replacement.
tune.svm()
now also accepts the epsilon
parameter.
write.svm()
now also stores the scaling information for
the dependent variable.
data sets Glass, HouseVotes84, and Ozone removed (are in package mlbench)
merged help pages for naiveBayes()
and
predict.naiveBayes()
Bug in ‘NAMESPACE’ file fixed (conditional import from utils failed in R 2.3.1)
predict.naiveBayes()
sped up
Bug fix in plot.svm()
(error in case of training
categories without predictions)
methods now added to ‘Suggests’, and grDevices to ‘Imports’
Bug fix: sparse handling was broken since 1.5-9
update to libsvm 2.81
laplace smoothing added to naiveBayes()
tune()
: allow list of vectors as tune parameter range so that
class.weights in svm-models can be tuned
better default color palette for plot.tune()
New function probplot()
for probability plots
Bug fix: class probability prediction was broken since 1.5-9
tune()
now returns the split indices into
training/validation set. Information added about cross validation
plot.svm()
: wrong labeling order in levels fixed
predict.svm()
now adds row numbers to predictions, and
correctly handles the na.action
argument using
napredict()
.
Update to libsvm 2.8 (uses a faster optimization algorithm)
read.matrix.csr()
did not work correctly with
matrix-only objects.
svm()
: Fixed wrong labeling for predicted decision values and
probabilities in case of a Class factor created from a non-ordered
character vector
cmeans()
is substantially enhanced, with a complete
rewrite of the underlying C code. It is now possible to specify
case weights and the relative convergence tolerance. For Manhattan
distances, centers are correctly computed as suitably weighted
medians (rather than means) of the observations. The print method
for fclust objects is now more in parallel with related methods, and
registered in the name space.
read.octave()
is now deprecated in favor of a
substantially enhanced version in package foreign for reading
in files in Octave text data format.
Use lazy loading
New arguments in plot.svm()
for customizing plot
symbols and colors
Fix of broken code in plot.svm()
for the
fill = FALSE
(non-default) case
Fixed memory leak in svm()
Fixed C++ style comments
Example for weighting added in svm()
help page
upgrade to libsvm 2.6: support for probabilities added
NaiveBayes()
is more accurate for small probabilities
call is more sensible in tune()
, tune.foo()
, and
best.foo()
objects.
control
parameter of tune()
changed to
tunecontrol
to solve name space conflict with training
methods using control
themselves
new function matchControls()
fixed a bug in bclust()
triggered when a cluster had
only one center
adjusted to restructering of R base packages
added a ‘NAMESPACE’ file
Function write.svm()
now also creates a file with
scaling information
Small bug fixes in predict.svm()
and plot.svm()
Function write.svm()
added which saves models created
with svm()
in the format libsvm can read.
Bug fix in plot.svm()
: non-SVs had wrong colors
data sets Ozone and Glass added
Several Docu bug fixes (for functions
plot.bclust()
, impute()
, stft()
,
svm.formula()
, svm.default()
)
upgrade to libsvm 2.5. New feature: predict.svm()
optionally returns decision values for multi-class classification
svm-vignette gave warnings due to rank deficiency in Ozone data
naiveBayes()
now also supports metric predictors, and
the standard interface.
Bug fixes in svm:
Prediction of 1 single observation gave an error
Only k
instead of k*(k-1)/2
\rho
coefficients have been returned by svm (k
number of classes),
having caused nonsensical results for k > 3
.
The ‘svmdoc’ file in ‘inst/doc’ now is a vignette.
The x
argument of cmeans()
and bclust()
is now automatically coerced to a matrix.
Started ‘tests’ directory
New method: naiveBayes()
classifier for categorical predictors
optimization of read.matrix.csr()
which used to be rather slow
Bug fixes for the svm()
interface: when the data included
categorical predictors, the scaling procedure did not only
affect the metric variables, but also the binary variables
in the model matrix.
Function scaclust()
removed. Bug has to be fixed.
Now supports libsvm 2.4
rdiscrete()
is now simply a wrapper for sample()
and provided for backwards compatibility only.
Minor bug fixes in svm()
and tune()
(mostly
interface issues). New plot function for objects of class
svm
working for the 2d-classification case.
svm()
now supports the matrix.csr format, as handled by the
SparseM package. Predictors and response variable (if
numeric) are scaled per default.
A new plot()
function for svm()
objects
visualizes classification
models by plotting data and support vectors in the data input
space, along with the class borders.
A new generic tune()
function allows parameter tuning
of arbitrary functions using, e.g., boot strapping, or cross validation.
Several convenience wrappers (e.g., for svm()
, nnet()
,
and rpart()
) do exist.
Bug fixes in various bclust routines: stop()
if
required packages are not found
svm()
now interfaces LIBSVM 2.35 which is a bug fix release.
A call with invalid parameters now no longer causes R to be
terminated, and the C(++) code became completely silent.
Bugs fixed in fclustIndex()
function and print.fclust()
.
Functions rmvnorm()
and dmvnorm()
for
multivariate normal distributions have been moved to package
mvtnorm.
Bug fixes in print.fclust()
and fclustIndex()
.
fixed ‘floyd.c’ (ANSI C pedantic warnings)
Bug fixes in ‘cmeans.c’, ‘cshell.c’ and ‘scaclust.c’ (R header files included and unused variables removed)
Bug fixes in ‘Rsvm.c’ and ‘svm.R’ (incomplete list of returned Support Vectors).
Encapsulate kmeans call in bclust()
in a try()
construct, because kmeans gives an error when a cluster becomes
empty (which can happen for almost every data set from time to
time).
Added functions for bagged clustering, see help(bclust).
read.pnm()
and write.pgm()
have been removed
from e1071, much improved versions can now be found in the
new packagepixmap.
Lots of documentation updates and bugfixes.
Support Vector Machine interface now upgraded to libsvm V. 2.31 featuring:
Multi-Class Classification
weighting of classes for C-classification (for asymmetric sample sizes)
\nu
-regression
Formula Interface
k
-fold cross-validation
In addition, an introductory article is provided in directory ‘docs/’ (‘svmdoc.pdf’).
classAgreement()
now features an option to match factor levels
updated API design for the fuzzy clustering functions
(cmeans()
, cshell()
, scaclust()
).
Documentation updates and function name changes (cmeanscl()
to cmeans()
, validity.measures()
to
fclustIndex()
)