Wickham | Practical Java Machine Learning | E-Book | www2.sack.de
E-Book

E-Book, Englisch, 410 Seiten

Wickham Practical Java Machine Learning

Projects with Google Cloud Platform and Amazon Web Services
1. ed
ISBN: 978-1-4842-3951-3
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark

Projects with Google Cloud Platform and Amazon Web Services

E-Book, Englisch, 410 Seiten

ISBN: 978-1-4842-3951-3
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark



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 LearnIdentify, 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 solutionsWho 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).

Wickham Practical Java Machine Learning jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Table of Contents;4
2;About the Author;11
3;About the Technical Reviewer;12
4;Preface;13
5;Chapter 1: Introduction;22
5.1;1.1 Terminology;22
5.2;1.2 Historical;26
5.3;1.3 Machine Learning Business Case;28
5.3.1;Machine Learning Hype;28
5.3.2;Challenges and Concerns;29
5.3.3;Data Science Platforms;30
5.3.4;ML Monetization;34
5.3.5;The Case for Classic Machine Learning on Mobile;35
5.4;1.4 Deep Learning;39
5.4.1;Identifying DL Applications;40
5.5;1.5 ML-Gates Methodology;43
5.5.1;ML-Gate 6: Identify the Well-Defined Problem;44
5.5.2;ML-Gate 5: Acquire Sufficient Data;45
5.5.3;ML-Gate 4: Process/Clean/Visualize the Data;46
5.5.4;ML-Gate 3: Generate a Model;46
5.5.5;ML-Gate 2: Test/Refine the Model;46
5.5.6;ML-Gate 1: Integrate the Model;47
5.5.7;ML-Gate 0: Deployment;47
5.5.8;Methodology Summary;48
5.6;1.6 The Case for Java;48
5.6.1;Java Market;48
5.6.2;Java Versions;50
5.6.3;Installing Java;52
5.6.4;Java Performance;54
5.7;1.7 Development Environments;56
5.7.1;Android Studio;57
5.7.2;Eclipse;60
5.7.3;Net Beans IDE;64
5.8;1.8 Competitive Advantage;65
5.8.1;Standing on the Shoulders of Giants;65
5.8.2;Bridging Domains;66
5.9;1.9 Chapter Summary;67
5.9.1;Key Findings;67
6;Chapter 2: Data: The Fuel for Machine Learning;68
6.1;2.1 Megatrends;69
6.1.1;Explosion of Data;69
6.1.2;Highly Scalable Computing Resources;72
6.1.3;Advancement in Algorithms;73
6.2;2.2 Think Like a Data Scientist;73
6.2.1;Data Nomenclature;74
6.2.2;Defining Data;75
6.3;2.3 Data Formats;76
6.3.1;CSV Files and Apache OpenOffice;78
6.3.2;ARFF Files;83
6.3.3;JSON;84
6.4;2.4 JSON Integration;90
6.4.1;JSON with Android SDK;90
6.4.2;JSON with Java JDK;91
6.5;2.5 Data Preprocessing;93
6.5.1;Instances, Attributes, Labels, and Features;94
6.5.2;Data Type Identification;95
6.5.3;Missing Values and Duplicates;95
6.5.4;Erroneous Values and Outliers;97
6.5.5;Macro Processing with OpenOffice Calc;98
6.5.6;JSON Validation;100
6.6;2.6 Creating Your Own Data;101
6.6.1;Wifi Gathering;101
6.7;2.7 Visualization;105
6.7.1;JavaScript Visualization Libraries;105
6.7.2;D3 Plus;107
6.8;2.8 Project: D3 Visualization;107
6.9;2.9 Project: Android Data Visualization;118
6.10;2.10 Summary;123
6.10.1;Key Data Findings;124
7;Chapter 3: Leveraging Cloud Platforms;126
7.1;3.1 Introduction;126
7.1.1;Commercial Cloud Providers;127
7.1.2;Competitive Positioning;130
7.1.3;Pricing;131
7.2;3.2 Google Cloud Platform (GCP);133
7.2.1;Google Compute Engine (GCE) Virtual Machines (VM);135
7.2.2;Google Cloud SDK;137
7.2.3;Google Cloud Client Libraries;141
7.2.4;Cloud Tools for Eclipse (CT4E);141
7.2.5;GCP Cloud Machine Learning Engine (ML Engine);142
7.2.6;GCP Free Tier Pricing Details;143
7.3;3.3 Amazon AWS;144
7.3.1;AWS Machine Learning;145
7.3.2;AWS ML Building and Deploying Models;147
7.3.3;AWS EC2 AMI;152
7.3.4;Running Weka ML in the AWS Cloud;156
7.3.5;AWS SageMaker;162
7.3.6;AWS SDK for Java;164
7.3.7;AWS Free Tier Pricing Details;168
7.4;3.4 Machine Learning APIs;169
7.4.1;Using ML REST APIs;171
7.4.2;Alternative ML API Providers;172
7.5;3.5 Project: GCP Cloud Speech API for Android;173
7.5.1;Cloud Speech API App Overview;174
7.5.2;GCP Machine Learning APIs;176
7.5.3;Cloud Speech API Authentication;177
7.5.4;Android Audio;182
7.5.5;Cloud Speech API App Summary;186
7.6;3.6 Cloud Data for Machine Learning;187
7.6.1;Unstructured Data;188
7.6.2;NoSQL Databases;189
7.6.3;NoSQL Data Store Methods;191
7.6.4;Apache Cassandra Java Interface;193
7.7;3.7 Cloud Platform Summary;196
8;Chapter 4: Algorithms: The Brains of Machine Learning;197
8.1;4.1 Introduction;197
8.1.1;ML-Gate 3;198
8.2;4.2 Algorithm Styles;199
8.2.1;Labeled vs. Unlabeled Data;199
8.3;4.3 Supervised Learning;200
8.4;4.4 Unsupervised Learning;202
8.5;4.5 Semi-Supervised Learning;204
8.6;4.6 Alternative Learning Styles;205
8.6.1;Linear Regression Algorithm;205
8.6.2;Deep Learning Algorithms;206
8.6.3;Reinforcement Learning;208
8.7;4.7 CML Algorithm Overview;209
8.8;4.8 Choose the Right Algorithm;212
8.8.1;Functional Algorithm Decision Process;213
8.9;4.9 The Seven Most Useful CML Algorithms;215
8.9.1;Naive Bayes Algorithm (NB);215
8.9.2;Random Forest Algorithm (RF);217
8.9.3;K-Nearest Neighbors Algorithm (KNN);219
8.9.4;Support Vector Machine Algorithm (SVM);222
8.9.5;K-Means Algorithm;224
8.9.6;DBSCAN Algorithm;226
8.9.7;Expectation-Maximization (EM) Algorithm;228
8.10;4.10 Algorithm Performance;229
8.10.1;MNIST Algorithm Evaluation;229
8.11;4.11 Algorithm Analysis;234
8.11.1;Confusion Matrix;235
8.11.2;ROC Curves;236
8.11.3;K-Fold Cross-Validation;238
8.12;4.12 Java Source Code;240
8.12.1;Classification Algorithms;242
8.12.2;Clustering Algorithms;243
8.12.3;Java Algorithm Modification;244
9;Chapter 5: Machine Learning Environments;246
9.1;5.1 Overview;247
9.1.1;ML Gates;247
9.2;5.2 Java ML Environments;248
9.2.1;Weka;251
9.2.2;RapidMiner;251
9.2.3;KNIME;253
9.2.4;ELKI;255
9.2.5;Java-ML;255
9.3;5.3 Weka Installation;255
9.3.1;Weka Configuration;257
9.3.2;Java Parameters Setup;260
9.3.3;Modifying Weka .prop Files;261
9.3.4;Weka Settings;263
9.3.5;Weka Package Manager;264
9.4;5.4 Weka Overview;266
9.4.1;Weka Documentation;268
9.4.2;Weka Explorer;268
9.4.3;Weka Filters;270
9.4.4;Weka Explorer Key Options;271
9.4.5;Weka KnowledgeFlow;272
9.4.6;Weka Simple CLI;274
9.5;5.5 Weka Clustering Algorithms;276
9.5.1;Clustering with DBSCAN;276
9.5.2;Clustering with KnowledgeFlow;283
9.6;5.6 Weka Classification Algorithms;287
9.6.1;Preprocessing (Data Cleaning);288
9.6.2;Classification: Random Forest Algorithm;293
9.6.3;Classification: K-Nearest Neighbor;297
9.6.4;Classification: Naive Bayes;300
9.6.5;Classification: Support Vector Machine;302
9.7;5.7 Weka Model Evaluation;305
9.7.1;Multiple ROC Curves;307
9.8;5.8 Weka Importing and Exporting;311
10;Chapter 6: Integrating Models;315
10.1;6.1 Introduction;315
10.2;6.2 Managing Models;316
10.2.1;Device Constraints;317
10.2.2;Optimal Model Size;318
10.2.3;Model Version Control;322
10.2.4;Updating Models;323
10.2.5;Managing Models: Best Practices;325
10.3;6.3 Weka Java API;325
10.3.1;Loading Data;326
10.3.2;Working with Options;327
10.3.3;Applying Filters;327
10.3.4;Setting the Label Attribute;328
10.3.5;Building a Classifier;328
10.3.6;Training and Testing;329
10.3.7;Building a Clusterer;330
10.3.8;Loading Models;330
10.3.9;Making Predictions;331
10.4;6.4 Weka for Android;332
10.4.1;Creating Android Weka Libraries in Eclipse;333
10.4.2;Adding the Weka Library in Android Studio;338
10.5;6.5 Android Integration;339
10.5.1;Project: Weka Model Create;340
10.5.2;Project: Weka Model Load;346
10.6;6.6 Android Weka Model Performance;353
10.7;6.7 Raspberry Pi Integration;355
10.7.1;Raspberry Pi Setup for ML;357
10.7.2;Raspberry Pi GUI Considerations;359
10.7.3;Weka API Library for Raspberry Pi;360
10.7.4;Project: Raspberry Pi Old Faithful Geyser Classifier;360
10.7.4.1;App Overview;362
10.7.4.2;Building the Classifier Model;364
10.7.4.3;Project Setup;365
10.7.4.4;Java Layout Managers;366
10.7.4.5;GUI Implementation;368
10.7.4.6;Single Instance Data File;371
10.7.4.7;ML Code;373
10.7.4.8;Exception Handling for ML Models;375
10.7.4.9;Exporting Runnable jar Files for Raspberry Pi;377
10.7.4.10;Auto Starting ML Apps on Raspberry Pi;379
10.7.4.11;Project Wrap-up;380
10.8;6.8 Sensor Data;381
10.8.1;Android Sensors;381
10.8.2;Raspberry Pi with Sensors;383
10.8.3;Sensor Units of Measure;387
10.8.4;Project: Android Activity Tracker;388
10.8.4.1;Application Architecture;390
10.8.4.2;Implementing Android Sensors;391
10.8.4.3;Implementing the Timer;394
10.8.4.4;Model Integration;396
10.8.4.5;Improving the Results;397
10.9;6.9 Weka License Notes;399
11;Index;401



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.