Practical Java Machine Learning - Mark Wickham

Practical Java Machine Learning (eBook)

Projects with Google Cloud Platform and Amazon Web Services

(Autor)

eBook Download: PDF
2018 | 1st ed.
XXIII, 392 Seiten
Apress (Verlag)
978-1-4842-3951-3 (ISBN)
Systemvoraussetzungen
52,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Build machine learning (ML) solutions for Java development. This book shows you that when designing ML apps, data is the key driver and must be considered throughout all phases of the project life cycle. Practical Java Machine Learning helps you understand the importance of data and how to organize it for use within your ML project. You will be introduced to tools which can help you identify and manage your data including JSON, visualization, NoSQL databases, and cloud platforms including Google Cloud Platform and Amazon Web Services.

Practical Java Machine Learning includes multiple projects, with particular focus on the Android mobile platform and features such as sensors, camera, and connectivity, each of which produce data that can power unique machine learning solutions. You will learn to build a variety of applications that demonstrate the capabilities of the Google Cloud Platform machine learning API, including data visualization for Java; document classification using the Weka ML environment; audio file classification for Android using ML with spectrogram voice data; and machine learning using device sensor data.

After reading this book, you will come away with case study examples and projects that you can take away as templates for re-use and exploration for your own machine learning programming projects with Java.

What You Will Learn
  • Identify, organize, and architect the data required for ML projects
  • Deploy ML solutions in conjunction with cloud providers such as Google and Amazon
  • Determine which algorithm is the most appropriate for a specific ML problem
  • Implement Java ML solutions on Android mobile devices
  • Create Java ML solutions to work with sensor data
  • Build Java streaming based solutions
Who This Book Is For

Experienced Java developers who have not implemented machine learning techniques before.


Mark Wickham is an active developer and has been a developer for many years, mostly in Java.  He is passionate about exploring advances in artificial intelligence and machine learning using Java. New software approaches, applied to the ever expanding volume of data we now have available to us, enables us to create Java solutions which were not before conceivable. He is a frequent speaker at developer conferences. His popular classes cover practical topics such as connectivity, push messaging, and audio/video.  Mark has led software development teams for Motorola, delivering infrastructure solutions to global telecommunications customers. While at Motorola, Mark also led product management and product marketing teams in the Asia Pacific region. Mark has been involved in software and technology for more than 30 years and began to focus on the Android platform in 2009, creating private cloud and tablet based solutions for the enterprise. Mark majored in Computer Science and Physics at Creighton University, and later obtained an MBA from the University of Washington and the Hong Kong University of Science and Technology. Mark is also active as a freelance video producer, photographer, and enjoys recording live music.  Previously Mark wrote Practical Android (Apress, 2018).
Build machine learning (ML) solutions for Java development. This book shows you that when designing ML apps, data is the key driver and must be considered throughout all phases of the project life cycle. Practical Java Machine Learning helps you understand the importance of data and how to organize it for use within your ML project. You will be introduced to tools which can help you identify and manage your data including JSON, visualization, NoSQL databases, and cloud platforms including Google Cloud Platform and Amazon Web Services.Practical Java Machine Learning includes multiple projects, with particular focus on the Android mobile platform and features such as sensors, camera, and connectivity, each of which produce data that can power unique machine learning solutions. You will learn to build a variety of applications that demonstrate the capabilities of the Google Cloud Platform machine learning API, including data visualizationfor Java; document classification using the Weka ML environment; audio file classification for Android using ML with spectrogram voice data; and machine learning using device sensor data.After reading this book, you will come away with case study examples and projects that you can take away as templates for re-use and exploration for your own machine learning programming projects with Java.What You Will LearnIdentify, organize, and architect the data required for ML projectsDeploy ML solutions in conjunction with cloud providers such as Google and AmazonDetermine which algorithm is the most appropriate for a specific ML problemImplement Java ML solutions on Android mobile devicesCreate Java ML solutions to work with sensor dataBuild Java streaming based solutionsWho This Book Is ForExperienced Java developers who have not implemented machine learning techniques before.

Mark Wickham is an active developer and has been a developer for many years, mostly in Java.  He is passionate about exploring advances in artificial intelligence and machine learning using Java. New software approaches, applied to the ever expanding volume of data we now have available to us, enables us to create Java solutions which were not before conceivable. He is a frequent speaker at developer conferences. His popular classes cover practical topics such as connectivity, push messaging, and audio/video.  Mark has led software development teams for Motorola, delivering infrastructure solutions to global telecommunications customers. While at Motorola, Mark also led product management and product marketing teams in the Asia Pacific region. Mark has been involved in software and technology for more than 30 years and began to focus on the Android platform in 2009, creating private cloud and tablet based solutions for the enterprise. Mark majored in Computer Science and Physics at Creighton University, and later obtained an MBA from the University of Washington and the Hong Kong University of Science and Technology. Mark is also active as a freelance video producer, photographer, and enjoys recording live music.  Previously Mark wrote Practical Android (Apress, 2018).

Table of Contents 4
About the Author 11
About the Technical Reviewer 12
Preface 13
Chapter 1: Introduction 22
1.1 Terminology 22
1.2 Historical 26
1.3 Machine Learning Business Case 28
Machine Learning Hype 28
Challenges and Concerns 29
Data Science Platforms 30
ML Monetization 34
The Case for Classic Machine Learning on Mobile 35
1.4 Deep Learning 39
Identifying DL Applications 40
1.5 ML-Gates Methodology 43
ML-Gate 6: Identify the Well-Defined Problem 44
ML-Gate 5: Acquire Sufficient Data 45
ML-Gate 4: Process/Clean/Visualize the Data 46
ML-Gate 3: Generate a Model 46
ML-Gate 2: Test/Refine the Model 46
ML-Gate 1: Integrate the Model 47
ML-Gate 0: Deployment 47
Methodology Summary 48
1.6 The Case for Java 48
Java Market 48
Java Versions 50
Installing Java 52
Java Performance 54
1.7 Development Environments 56
Android Studio 57
Eclipse 60
Net Beans IDE 64
1.8 Competitive Advantage 65
Standing on the Shoulders of Giants 65
Bridging Domains 66
1.9 Chapter Summary 67
Key Findings 67
Chapter 2: Data: The Fuel for Machine Learning 68
2.1 Megatrends 69
Explosion of Data 69
Highly Scalable Computing Resources 72
Advancement in Algorithms 73
2.2 Think Like a Data Scientist 73
Data Nomenclature 74
Defining Data 75
2.3 Data Formats 76
CSV Files and Apache OpenOffice 78
ARFF Files 83
JSON 84
2.4 JSON Integration 90
JSON with Android SDK 90
JSON with Java JDK 91
2.5 Data Preprocessing 93
Instances, Attributes, Labels, and Features 94
Data Type Identification 95
Missing Values and Duplicates 95
Erroneous Values and Outliers 97
Macro Processing with OpenOffice Calc 98
JSON Validation 100
2.6 Creating Your Own Data 101
Wifi Gathering 101
2.7 Visualization 105
JavaScript Visualization Libraries 105
D3 Plus 107
2.8 Project: D3 Visualization 107
2.9 Project: Android Data Visualization 118
2.10 Summary 123
Key Data Findings 124
Chapter 3: Leveraging Cloud Platforms 126
3.1 Introduction 126
Commercial Cloud Providers 127
Competitive Positioning 130
Pricing 131
3.2 Google Cloud Platform (GCP) 133
Google Compute Engine (GCE) Virtual Machines (VM) 135
Google Cloud SDK 137
Google Cloud Client Libraries 141
Cloud Tools for Eclipse (CT4E) 141
GCP Cloud Machine Learning Engine (ML Engine) 142
GCP Free Tier Pricing Details 143
3.3 Amazon AWS 144
AWS Machine Learning 145
AWS ML Building and Deploying Models 147
AWS EC2 AMI 152
Running Weka ML in the AWS Cloud 156
AWS SageMaker 162
AWS SDK for Java 164
AWS Free Tier Pricing Details 168
3.4 Machine Learning APIs 169
Using ML REST APIs 171
Alternative ML API Providers 172
3.5 Project: GCP Cloud Speech API for Android 173
Cloud Speech API App Overview 174
GCP Machine Learning APIs 176
Cloud Speech API Authentication 177
Android Audio 182
Cloud Speech API App Summary 186
3.6 Cloud Data for Machine Learning 187
Unstructured Data 188
NoSQL Databases 189
NoSQL Data Store Methods 191
Apache Cassandra Java Interface 193
3.7 Cloud Platform Summary 196
Chapter 4: Algorithms: The Brains of Machine Learning 197
4.1 Introduction 197
ML-Gate 3 198
4.2 Algorithm Styles 199
Labeled vs. Unlabeled Data 199
4.3 Supervised Learning 200
4.4 Unsupervised Learning 202
4.5 Semi-Supervised Learning 204
4.6 Alternative Learning Styles 205
Linear Regression Algorithm 205
Deep Learning Algorithms 206
Reinforcement Learning 208
4.7 CML Algorithm Overview 209
4.8 Choose the Right Algorithm 212
Functional Algorithm Decision Process 213
4.9 The Seven Most Useful CML Algorithms 215
Naive Bayes Algorithm (NB) 215
Random Forest Algorithm (RF) 217
K-Nearest Neighbors Algorithm (KNN) 219
Support Vector Machine Algorithm (SVM) 222
K-Means Algorithm 224
DBSCAN Algorithm 226
Expectation-Maximization (EM) Algorithm 228
4.10 Algorithm Performance 229
MNIST Algorithm Evaluation 229
4.11 Algorithm Analysis 234
Confusion Matrix 235
ROC Curves 236
K-Fold Cross-Validation 238
4.12 Java Source Code 240
Classification Algorithms 242
Clustering Algorithms 243
Java Algorithm Modification 244
Chapter 5: Machine Learning Environments 246
5.1 Overview 247
ML Gates 247
5.2 Java ML Environments 248
Weka 251
RapidMiner 251
KNIME 253
ELKI 255
Java-ML 255
5.3 Weka Installation 255
Weka Configuration 257
Java Parameters Setup 260
Modifying Weka .prop Files 261
Weka Settings 263
Weka Package Manager 264
5.4 Weka Overview 266
Weka Documentation 268
Weka Explorer 268
Weka Filters 270
Weka Explorer Key Options 271
Weka KnowledgeFlow 272
Weka Simple CLI 274
5.5 Weka Clustering Algorithms 276
Clustering with DBSCAN 276
Clustering with KnowledgeFlow 283
5.6 Weka Classification Algorithms 287
Preprocessing (Data Cleaning) 288
Classification: Random Forest Algorithm 293
Classification: K-Nearest Neighbor 297
Classification: Naive Bayes 300
Classification: Support Vector Machine 302
5.7 Weka Model Evaluation 305
Multiple ROC Curves 307
5.8 Weka Importing and Exporting 311
Chapter 6: Integrating Models 315
6.1 Introduction 315
6.2 Managing Models 316
Device Constraints 317
Optimal Model Size 318
Model Version Control 322
Updating Models 323
Managing Models: Best Practices 325
6.3 Weka Java API 325
Loading Data 326
Working with Options 327
Applying Filters 327
Setting the Label Attribute 328
Building a Classifier 328
Training and Testing 329
Building a Clusterer 330
Loading Models 330
Making Predictions 331
6.4 Weka for Android 332
Creating Android Weka Libraries in Eclipse 333
Adding the Weka Library in Android Studio 338
6.5 Android Integration 339
Project: Weka Model Create 340
Project: Weka Model Load 346
6.6 Android Weka Model Performance 353
6.7 Raspberry Pi Integration 355
Raspberry Pi Setup for ML 357
Raspberry Pi GUI Considerations 359
Weka API Library for Raspberry Pi 360
Project: Raspberry Pi Old Faithful Geyser Classifier 360
App Overview 362
Building the Classifier Model 364
Project Setup 365
Java Layout Managers 366
GUI Implementation 368
Single Instance Data File 371
ML Code 373
Exception Handling for ML Models 375
Exporting Runnable jar Files for Raspberry Pi 377
Auto Starting ML Apps on Raspberry Pi 379
Project Wrap-up 380
6.8 Sensor Data 381
Android Sensors 381
Raspberry Pi with Sensors 383
Sensor Units of Measure 387
Project: Android Activity Tracker 388
Application Architecture 390
Implementing Android Sensors 391
Implementing the Timer 394
Model Integration 396
Improving the Results 397
6.9 Weka License Notes 399
Index 401

Erscheint lt. Verlag 23.10.2018
Zusatzinfo XXIII, 392 p. 155 illus.
Verlagsort Berkeley
Sprache englisch
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Informatik Software Entwicklung SOA / Web Services
Informatik Theorie / Studium Künstliche Intelligenz / Robotik
Mathematik / Informatik Informatik Web / Internet
Schlagworte AI • algorithms • Android • Artificial Intelligence • Big Data • Cloud • Code • Data Science • Data Visualization • Java • machine learning • ML • Mobile • programming • supervised learning • Unsupervised Learning • Visualization
ISBN-10 1-4842-3951-2 / 1484239512
ISBN-13 978-1-4842-3951-3 / 9781484239513
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 15,0 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Einführung, Ausbildung, Praxis

von Christian Ullenboom

eBook Download (2023)
Rheinwerk Computing (Verlag)
34,93
Moderne GUIs für RIAs und Java-Applikationen

von Ralph Steyer

eBook Download (2022)
Springer Fachmedien Wiesbaden (Verlag)
42,99