O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Java Data Analysis

Book Description

Get the most out of the popular Java libraries and tools to perform efficient data analysis

About This Book

  • Get your basics right for data analysis with Java and make sense of your data through effective visualizations.
  • Use various Java APIs and tools such as Rapidminer and WEKA for effective data analysis and machine learning.
  • This is your companion to understanding and implementing a solid data analysis solution using Java

Who This Book Is For

If you are a student or Java developer or a budding data scientist who wishes to learn the fundamentals of data analysis and learn to perform data analysis with Java, this book is for you. Some familiarity with elementary statistics and relational databases will be helpful but is not mandatory, to get the most out of this book. A firm understanding of Java is required.

What You Will Learn

  • Develop Java programs that analyze data sets of nearly any size, including text
  • Implement important machine learning algorithms such as regression, classification, and clustering
  • Interface with and apply standard open source Java libraries and APIs to analyze and visualize data
  • Process data from both relational and non-relational databases and from time-series data
  • Employ Java tools to visualize data in various forms
  • Understand multimedia data analysis algorithms and implement them in Java.

In Detail

Data analysis is a process of inspecting, cleansing, transforming, and modeling data with the aim of discovering useful information. Java is one of the most popular languages to perform your data analysis tasks.

This book will help you learn the tools and techniques in Java to conduct data analysis without any hassle. After getting a quick overview of what data science is and the steps involved in the process, you'll learn the statistical data analysis techniques and implement them using the popular Java APIs and libraries. Through practical examples, you will also learn the machine learning concepts such as classification and regression.

In the process, you'll familiarize yourself with tools such as Rapidminer and WEKA and see how these Java-based tools can be used effectively for analysis. You will also learn how to analyze text and other types of multimedia. Learn to work with relational, NoSQL, and time-series data. This book will also show you how you can utilize different Java-based libraries to create insightful and easy to understand plots and graphs.

By the end of this book, you will have a solid understanding of the various data analysis techniques, and how to implement them using Java.

Style and approach

The book takes a very comprehensive approach to enhance your understanding of data analysis. Sufficient real-world examples and use cases are included to help you grasp the concepts quickly and apply them easily in your day-to-day work. Packed with clear, easy-to-follow examples, this book will turn you into an ace data analyst in no time.

Table of Contents

  1. Java Data Analysis
    1. Table of Contents
    2. Java Data Analysis
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. eBooks, discount offers, and more
        1. Why subscribe?
    7. Customer Feedback
    8. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    9. 1. Introduction to Data Analysis
      1. Origins of data analysis
      2. The scientific method
      3. Actuarial science
      4. Calculated by steam
      5. A spectacular example
      6. Herman Hollerith
      7. ENIAC
      8. VisiCalc
      9. Data, information, and knowledge
      10. Why Java?
      11. Java Integrated Development Environments
      12. Summary
    10. 2. Data Preprocessing
      1. Data types
      2. Variables
      3. Data points and datasets
        1. Null values
      4. Relational database tables
        1. Key fields
        2. Key-value pairs
      5. Hash tables
      6. File formats
        1. Microsoft Excel data
        2. XML and JSON data
      7. Generating test datasets
        1. Metadata
        2. Data cleaning
        3. Data scaling
        4. Data filtering
        5. Sorting
        6. Merging
        7. Hashing
      8. Summary
    11. 3. Data Visualization
      1. Tables and graphs
        1. Scatter plots
        2. Line graphs
        3. Bar charts
        4. Histograms
      2. Time series
      3. Java implementation
      4. Moving average
      5. Data ranking
      6. Frequency distributions
      7. The normal distribution
        1. A thought experiment
      8. The exponential distribution
      9. Java example
      10. Summary
    12. 4. Statistics
      1. Descriptive statistics
      2. Random sampling
      3. Random variables
      4. Probability distributions
      5. Cumulative distributions
      6. The binomial distribution
      7. Multivariate distributions
      8. Conditional probability
      9. The independence of probabilistic events
      10. Contingency tables
      11. Bayes' theorem
      12. Covariance and correlation
      13. The standard normal distribution
      14. The central limit theorem
      15. Confidence intervals
      16. Hypothesis testing
      17. Summary
    13. 5. Relational Databases
      1. The relation data model
      2. Relational databases
      3. Foreign keys
      4. Relational database design
        1. Creating a database
        2. SQL commands
        3. Inserting data into the database
        4. Database queries
        5. SQL data types
        6. JDBC
        7. Using a JDBC PreparedStatement
        8. Batch processing
        9. Database views
        10. Subqueries
        11. Table indexes
      5. Summary
    14. 6. Regression Analysis
      1. Linear regression
        1. Linear regression in Excel
        2. Computing the regression coefficients
        3. Variation statistics
        4. Java implementation of linear regression
        5. Anscombe's quartet
      2. Polynomial regression
        1. Multiple linear regression
        2. The Apache Commons implementation
        3. Curve fitting
      3. Summary
    15. 7. Classification Analysis
      1. Decision trees
        1. What does entropy have to do with it?
        2. The ID3 algorithm
          1. Java Implementation of the ID3 algorithm
        3. The Weka platform
        4. The ARFF filetype for data
        5. Java implementation with Weka
      2. Bayesian classifiers
        1. Java implementation with Weka
        2. Support vector machine algorithms
      3. Logistic regression
        1. K-Nearest Neighbors
        2. Fuzzy classification algorithms
      4. Summary
    16. 8. Cluster Analysis
      1. Measuring distances
      2. The curse of dimensionality
      3. Hierarchical clustering
        1. Weka implementation
        2. K-means clustering
        3. K-medoids clustering
        4. Affinity propagation clustering
      4. Summary
    17. 9. Recommender Systems
      1. Utility matrices
      2. Similarity measures
      3. Cosine similarity
      4. A simple recommender system
      5. Amazon's item-to-item collaborative filtering recommender
      6. Implementing user ratings
      7. Large sparse matrices
      8. Using random access files
      9. The Netflix prize
      10. Summary
    18. 10. NoSQL Databases
      1. The Map data structure
      2. SQL versus NoSQL
      3. The Mongo database system
      4. The Library database
      5. Java development with MongoDB
      6. The MongoDB extension for geospatial databases
      7. Indexing in MongoDB
      8. Why NoSQL and why MongoDB?
      9. Other NoSQL database systems
      10. Summary
    19. 11. Big Data Analysis with Java
      1. Scaling, data striping, and sharding
      2. Google's PageRank algorithm
      3. Google's MapReduce framework
      4. Some examples of MapReduce applications
      5. The WordCount example
      6. Scalability
      7. Matrix multiplication with MapReduce
      8. MapReduce in MongoDB
      9. Apache Hadoop
      10. Hadoop MapReduce
      11. Summary
    20. A. Java Tools
      1. The command line
      2. Java
      3. NetBeans
      4. MySQL
      5. MySQL Workbench
      6. Accessing the MySQL database from NetBeans
      7. The Apache Commons Math Library
      8. The javax JSON Library
      9. The Weka libraries
      10. MongoDB
    21. Index