This textbook presents fundamental machine learning concepts in an easy to understand manner by providing practical advice, using straightforward examples, and offering engaging discussions of relevant applications. The main topics include Bayesian classifiers, nearest-neighbor classifiers, linear and polynomial classifiers, decision trees, neural networks, and support vector machines. Later chapters show how to combine these simple tools by way of ´´boosting,´´ how to exploit them in more complicated domains, and how to deal with diverse advanced practical issues. One chapter is dedicated to the popular genetic algorithms. This revised edition contains three entirely new chapters on critical topics regarding the pragmatic application of machine learning in industry. The chapters examine multi-label domains, unsupervised learning and its use in deep learning, and logical approaches to induction. Numerous chapters have been expanded, and the presentation of the material has been enhanced. The book contains many new exercises, numerous solved examples, thought-provoking experiments, and computer assignments for independent work.
Learn how to manipulate functions and expressions to modify how the R language interprets itself. This book is an introduction to metaprogramming in the R language, so you will write programs to manipulate other programs. Metaprogramming in R shows you how to treat code as data that you can generate, analyze, or modify. R is a very high-level language where all operations are functions and all functions are data that can be manipulated. This book shows you how to leverage R´s natural flexibility in how function calls and expressions are evaluated, to create small domain-specific languages to extend R within the R language itself. What You´ll Learn Find out about the anatomy of a function in R Look inside a function call Work with R expressions and environments Manipulate expressions in R Use substitutions Who This Book Is For Those with at least some experience with R and certainly for those with experience in other programming languages.
Numerical Python by Robert Johansson shows you how to leverage the numerical and mathematical modules in Python and its Standard Library as well as popular open source numerical Python packages like NumPy, FiPy, matplotlib and more to numerically compute solutions and mathematically model applications in a number of areas like big data, cloud computing, financial engineering, business management and more. After reading and using this book, you´ll get some takeaway case study examples of applications that can be found in areas like business management, big data/cloud computing, financial engineering (i.e., options trading investment alternatives), and even games. Up until very recently, Python was mostly regarded as just a web scripting language. Well, computational scientists and engineers have recently discovered the flexibility and power of Python to do more. Big data analytics and cloud computing programmers are seeing Python´s immense use. Financial engineers are also now employing Python in their work. Python seems to be evolving as a language that can even rival C++, Fortran, and Pascal/Delphi for numerical and mathematical computations.
Learn best practices for building bots by focusing on the technological implementation and UX in this practical book. You will cover key topics such as setting up a development environment for creating chatbots for multiple channels (Facebook Messenger, Skype, and KiK); building a chatbot (design to implementation); integrating to IFTT (If This Then That) and IoT (Internet of Things); carrying out analytics and metrics for chatbots; and most importantly monetizing models and business sense for chatbots. Build Better Chatbots is easy to follow with code snippets provided in the book and complete code open sourced and available to download. With Facebook opening up its Messenger platform for developers, followed by Microsoft opening up Skype for development, a new channel has emerged for brands to acquire, engage, and service customers on chat with chatbots. What You Will Learn Work with the bot development life cycle Master bot UX design Integrate into the bot ecosystem Maximize the business and monetization potential for bots Who This Book Is For Developers, programmers, and hobbyists who have basic programming knowledge. The book can be used by existing chatbot developers to gain a better understanding of analytics and the business side of bots.
Since the 70s, the C preprocessor is still widely used in practice in a number of projects to tailor systems to different platforms and application scenarios. In academia, researchers have criticized its lack of separation of concerns, its proneness to introduce subtle errors, and its obfuscation of the source code. To better understand the problems of using the C preprocessor, we conducted 40 interviews and a survey among 202 developers. We found that developers deal with three common problems in practice: configuration-related bugs, combinatorial testing, and code comprehension. To better deal with these problems, this book presents strategies to detect bugs and bad smells in preprocessor-based systems based on variability-aware analysis and sampling. This work presents useful findings for C developers during their development tasks, contributing to minimize the chances of introducing configuration-related bugs and bad smells, improve code comprehension, and guide developers to perform combinatorial testing.
Logic Programming is the name given to a distinctive style of programming, very different from that of conventional programming languages such as C++ and Java. By far the most widely used Logic Programming language is Prolog. Prolog is a good choice for developing complex applications, especially in the field of Artificial Intelligence. Logic Programming with Prolog does not assume that the reader is an experienced programmer or has a background in Mathematics, Logic or Artificial Intelligence. It starts from scratch and aims to arrive at the point where quite powerful programs can be written in the language. It is intended both as a textbook for an introductory course and as a self-study book. On completion readers will know enough to use Prolog in their own research or practical projects. Each chapter has self-assessment exercises so that readers may check their own progress. A glossary of the technical terms used completes the book. This second edition has been revised to be fully compatible with SWI-Prolog, a popular multi-platform public domain implementation of the language. Additional chapters have been added covering the use of Prolog to analyse English sentences and to illustrate how Prolog can be used to implement applications of an ´Artificial Intelligence´ kind. Max Bramer is Emeritus Professor of Information Technology at the University of Portsmouth, England. He has taught Prolog to undergraduate computer science students and used Prolog in his own work for many years.
Combining coverage of XSLT 2.0 and XPath 2.0 into one book, this authoritative reference provides equal weight to the powerful new features of XSLT 2.0 and XPath 2.0 and the established capabilities of the 1.0 versions. Author Michael Kay has created his own implementation of XSLT 2.0 (Saxon), and he puts his unique knowledge to work in this detailed reference to the elements of the XSLT 2.0 language and the fundamentals of XPath, complete with syntax, practical usage advice, and examples. The book begins by teaching the essential concepts behind the language, knowledge you need if you are going to write good code rather than just working code. You will discover how XSLT and XPath differ from other languages, and how you use them to create effective web-based applications. The central chapters provide meticulous coverage of the language features of XSLT 2.0 and XPath 2.0. You will return to this reference whenever you encounter new programming challenges. You finish with detailed case studies highlighting real applications to give you insights you would otherwise gain only from months of practical experience. What you will learn from this book * All the XSLT elements you can use in a stylesheet and the detailed rules for the syntax and semantics of each * How Path expressions enable you to navigate around the structure of an XML document * How you can improve your stylesheets by taking advantage of the XML Schema definitions of input and output documents * How to take advantage of vendor extensions without losing portability * Techniques for taking advantage of XSLT to write real applications Who this book is for This book is for experienced programmers who are looking to become proficient with XSLT 2.0. Previous experience with XSLT or XPath is not necessary. However, a working knowledge of XML, HTML, and web architecture is beneficial. Wrox Programmer´s References are designed to give the experienced developer straight facts on a new technology, without hype or unnecessary explanations. They deliver hard information with plenty of practical examples to help you apply new tools to your development projects today.
Classroom in a Book®, the best-selling series of hands-on software training workbooks, offers what no other book or training program does-an official training series from Adobe, developed with the support of Adobe product experts. Adobe XD CC Classroom in a Book (2019 release) contains 10 lessons that cover the basics and beyond, providing countless tips and techniques to help you become more productive with the program. You can follow the book from start to finish or choose only those lessons that interest you. Purchasing this book includes valuable online extras. Follow the instructions in the book´s ´´Getting Started? section to unlock access to: * Downloadable lesson files you need to work through the projects in the book * Web Edition containing the complete text of the book, interactive quizzes, videos that walk you through the lessons step by step, and updated material covering new feature releases from Adobe The fastest, easiest, most comprehensive way to learn Adobe XD CC * Bestselling Classroom in a Book series is the ideal way for readers to learn how to design and prototype for websites and mobile apps using project-based lessons * Aimed at beginning users and designed to teach Adobe XD features, such as visual design, prototyping, wireframing, testing, and sharing * Official training series from Adobe, developed with the support of experts from Adobe product teams
Deliver bug-free software projects on schedule and within budget Get a clear, complete understanding of how to estimate software costs, schedules, and quality using the real-world information contained in this comprehensive volume. Find out how to choose the correct hardware and software tools, develop an appraisal strategy, deploy tests and prototypes, and produce accurate software cost estimates. Plus, you´ll get full coverage of cutting-edge estimating approaches using Java, object-oriented methods, and reusable components. * Plan for and execute project-, phase-, and activity-level cost estimations * Estimate regression, component, integration, and stress tests * Compensate for inaccuracies in data collection, calculation, and analysis * Assess software deliverables and data complexity * Test design principles and operational characteristics using software prototyping * Handle configuration change, research, quality control, and documentation costs ´´Capers Jones´ work offers a unique contribution to the understanding of the economics of software production. It provides deep insights into why our advances in computing are not matched with corresponding improvements in the software that drives it. This book is absolutely required reading for an understanding of the limitations of our technological advances.´´ --Paul A. Strassmann, former CIO of Xerox, the Department of Defense, and NASA