Book Image

Hands-On Artificial Intelligence with Java for Beginners

By : Nisheeth Joshi
Book Image

Hands-On Artificial Intelligence with Java for Beginners

By: Nisheeth Joshi

Overview of this book

Artificial intelligence (AI) is increasingly in demand as well as relevant in the modern world, where everything is driven by technology and data. AI can be used for automating systems or processes to carry out complex tasks and functions in order to achieve optimal performance and productivity. Hands-On Artificial Intelligence with Java for Beginners begins by introducing you to AI concepts and algorithms. You will learn about various Java-based libraries and frameworks that can be used in implementing AI to build smart applications. In addition to this, the book teaches you how to implement easy to complex AI tasks, such as genetic programming, heuristic searches, reinforcement learning, neural networks, and segmentation, all with a practical approach. By the end of this book, you will not only have a solid grasp of AI concepts, but you'll also be able to build your own smart applications for multiple domains.
Table of Contents (14 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Working with k-means clustering


Let's look at how to build a clustering model. We'll be building an unsupervised model using k-means clustering.

We will use the Instances class and the DataSource class, just as we did in previous chapters. Since we are working with clustering, we will use the weka.clusterers package to import the SimpleKMeans class, as follows:

import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
import weka.clusterers.SimpleKMeans;

First, we'll read our ARFF file into a dataset object, and we'll assign it to an Instances object. Now, since this is all we have to do (in classification we had to also assign the target variable, the class attribute), we have to tell Weka what the class attribute is, then we will create an object for our k-means clustering. First, we have to tell Weka how many clusters we want to create. Let's suppose that we want to create three clusters. We'll take our k-means object and set setNumClusters to 3; then, we'll build...