initial package
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Algorithm-KMeans?expand=0&rev=1
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
3
Algorithm-KMeans-2.05.tar.gz
Normal file
3
Algorithm-KMeans-2.05.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a1d07298d499b9b4e2cd93f1bbd9289814ab461e69ecc35c796e495fe9b5a9a8
|
||||
size 57703
|
6
perl-Algorithm-KMeans.changes
Normal file
6
perl-Algorithm-KMeans.changes
Normal file
@@ -0,0 +1,6 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 14 07:00:22 UTC 2016 - coolo@suse.com
|
||||
|
||||
- initial package 2.05
|
||||
* created by cpanspec 1.78.08
|
||||
|
119
perl-Algorithm-KMeans.spec
Normal file
119
perl-Algorithm-KMeans.spec
Normal file
@@ -0,0 +1,119 @@
|
||||
#
|
||||
# spec file for package perl-Algorithm-KMeans
|
||||
#
|
||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: perl-Algorithm-KMeans
|
||||
Version: 2.05
|
||||
Release: 0
|
||||
%define cpan_name Algorithm-KMeans
|
||||
Summary: For Clustering Multidimensional Data
|
||||
License: GPL-1.0+ or Artistic-1.0
|
||||
Group: Development/Libraries/Perl
|
||||
Url: http://search.cpan.org/dist/Algorithm-KMeans/
|
||||
Source0: http://www.cpan.org/authors/id/A/AV/AVIKAK/%{cpan_name}-%{version}.tar.gz
|
||||
BuildArch: noarch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: perl
|
||||
BuildRequires: perl-macros
|
||||
BuildRequires: perl(Graphics::GnuplotIF) >= 1.6
|
||||
BuildRequires: perl(Math::GSL) >= 0.32
|
||||
BuildRequires: perl(Math::Random) >= 0.71
|
||||
Requires: perl(Graphics::GnuplotIF) >= 1.6
|
||||
Requires: perl(Math::GSL) >= 0.32
|
||||
Requires: perl(Math::Random) >= 0.71
|
||||
%{perl_requires}
|
||||
|
||||
%description
|
||||
Clustering with K-Means takes place iteratively and involves two steps: 1)
|
||||
assignment of data samples to clusters on the basis of how far the data
|
||||
samples are from the cluster centers; and 2) Recalculation of the cluster
|
||||
centers (and cluster covariances if you are using the Mahalanobis distance
|
||||
metric for clustering).
|
||||
|
||||
Obviously, before the two-step approach can proceed, we need to initialize
|
||||
the the cluster centers. How this initialization is carried out is
|
||||
important. The module gives you two very different ways for carrying out
|
||||
this initialization. One option, called the 'smart' option, consists of
|
||||
subjecting the data to principal components analysis to discover the
|
||||
direction of maximum variance in the data space. The data points are then
|
||||
projected on to this direction and a histogram constructed from the
|
||||
projections. Centers of the smoothed histogram are used to seed the
|
||||
clustering operation. The other option is to choose the cluster centers
|
||||
purely randomly. You get the first option if you set 'cluster_seeding' to
|
||||
'smart' in the constructor, and you get the second option if you set it to
|
||||
'random'.
|
||||
|
||||
How to specify the number of clusters, 'K', is one of the most vexing
|
||||
issues in any approach to clustering. In some case, we can set 'K' on the
|
||||
basis of prior knowledge. But, more often than not, no such prior knowledge
|
||||
is available. When the programmer does not explicitly specify a value for
|
||||
'K', the approach taken in the current implementation is to try all
|
||||
possible values between 2 and some largest possible value that makes
|
||||
statistical sense. We then choose that value for 'K' which yields the best
|
||||
value for the QoC (Quality of Clustering) metric. It is generally believed
|
||||
that the largest value for 'K' should not exceed 'sqrt(N/2)' where 'N' is
|
||||
the number of data samples to be clustered.
|
||||
|
||||
What to use for the QoC metric is obviously a critical issue unto itself.
|
||||
In the current implementation, the value of QoC is the ratio of the average
|
||||
radius of the clusters and the average distance between the cluster
|
||||
centers.
|
||||
|
||||
Every iterative algorithm requires a stopping criterion. The criterion
|
||||
implemented here is that we stop iterations when there is no re-assignment
|
||||
of the data points during the assignment step.
|
||||
|
||||
Ordinarily, the output produced by a K-Means clusterer will correspond to a
|
||||
local minimum for the QoC values, as opposed to a global minimum. The
|
||||
current implementation protects against that when the module constructor is
|
||||
called with the 'random' option for 'cluster_seeding' by trying different
|
||||
randomly selected initial cluster centers and then selecting the one that
|
||||
gives the best overall QoC value.
|
||||
|
||||
A K-Means clusterer will generally produce good results if the overlap
|
||||
between the clusters is minimal and if each cluster exhibits variability
|
||||
that is uniform in all directions. When the data variability is different
|
||||
along the different directions in the data space, the results you obtain
|
||||
with a K-Means clusterer may be improved by first normalizing the data
|
||||
appropriately, as can be done in this module when you set the
|
||||
'do_variance_normalization' option in the constructor. However, as pointed
|
||||
out elsewhere in this documentation, such normalization may actually
|
||||
decrease the performance of the clusterer if the overall data variability
|
||||
along any dimension is more a result of separation between the means than a
|
||||
consequence of intra-cluster variability.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{cpan_name}-%{version}
|
||||
find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
|
||||
|
||||
%build
|
||||
%{__perl} Makefile.PL INSTALLDIRS=vendor
|
||||
%{__make} %{?_smp_mflags}
|
||||
|
||||
%check
|
||||
%{__make} test
|
||||
|
||||
%install
|
||||
%perl_make_install
|
||||
%perl_process_packlist
|
||||
%perl_gen_filelist
|
||||
|
||||
%files -f %{name}.files
|
||||
%defattr(-,root,root,755)
|
||||
%doc examples README
|
||||
|
||||
%changelog
|
Reference in New Issue
Block a user