![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages
It's time to dispel the myth that machine learning is difficult. Grokking Machine Learning teaches you how to apply ML to your projects using only standard Python code and high school-level math. No specialist knowledge is required to tackle the hands-on exercises using readily available machine learning tools! In Grokking Machine Learning, expert machine learning engineer Luis Serrano introduces the most valuable ML techniques and teaches you how to make them work for you. Practical examples illustrate each new concept to ensure you're grokking as you go. You'll build models for spam detection, language analysis, and image recognition as you lock in each carefully-selected skill. Packed with easy-to-follow Python-based exercises and mini-projects, this book sets you on the path to becoming a machine learning expert. Key Features * Different types of machine learning, including supervised and unsupervised learning * Algorithms for simplifying, classifying, and splitting data * Machine learning packages and tools * Hands-on exercises with fully-explained Python code samples For readers with intermediate programming knowledge in Python or a similar language. About the technology Machine learning is a collection of mathematically-based techniques and algorithms that enable computers to identify patterns and generate predictions from data. This revolutionary data analysis approach is behind everything from recommendation systems to self-driving cars, and is transforming industries from finance to art. Luis G. Serrano has worked as the Head of Content for Artificial Intelligence at Udacity and as a Machine Learning Engineer at Google, where he worked on the YouTube recommendations system. He holds a PhD in mathematics from the University of Michigan, a Bachelor and Masters from the University of Waterloo, and worked as a postdoctoral researcher at the University of Quebec at Montreal. He shares his machine learning expertise on a YouTube channel with over 2 million views and 35 thousand subscribers, and is a frequent speaker at artificial intelligence and data science conferences.
Understand how to use Explainable AI (XAI) libraries and build trust in AI and machine learning models. This book utilizes a problem-solution approach to explaining machine learning models and their algorithms. The book starts with model interpretation for supervised learning linear models, which includes feature importance, partial dependency analysis, and influential data point analysis for both classification and regression models. Next, it explains supervised learning using non-linear models and state-of-the-art frameworks such as SHAP values/scores and LIME for local interpretation. Explainability for time series models is covered using LIME and SHAP, as are natural language processing-related tasks such as text classification, and sentiment analysis with ELI5, and ALIBI. The book concludes with complex model classification and regression-like neural networks and deep learning models using the CAPTUM framework that shows feature attribution, neuron attribution, and activation attribution. After reading this book, you will understand AI and machine learning models and be able to put that knowledge into practice to bring more accuracy and transparency to your analyses. What You Will Learn Create code snippets and explain machine learning models using Python Leverage deep learning models using the latest code with agile implementations Build, train, and explain neural network models designed to scale Understand the different variants of neural network models Who This Book Is For AI engineers, data scientists, and software developers interested in XAI
Learn to program with Rust 2021 Edition, in an easy, step-by-step manner on Unix, the Linux shell, macOS, and the Windows command line. As you read this book, you'll build on the knowledge you gained in previous chapters and see what Rust has to offer. Beginning Rust starts with the basics of Rust, including how to name objects, control execution flow, and handle primitive types. You'll see how to do arithmetic, allocate memory, use iterators, and handle input/output. Once you have mastered these core skills, you'll work on handling errors and using the object-oriented features of Rust to build robust Rust applications in no time. Only a basic knowledge of programming in C or C++ and familiarity with a command console are required. After reading this book, you'll be ready to build simple Rust applications. What You Will Learn Get started programming with Rust Understand heterogeneous data structures and data sequences Define functions, generic functions, structs, and more Work with closures, changeable strings, ranges and slices Use traits and learn about lifetimes Who This Book Is For Those who are new to Rust and who have at least some prior experience with programming in general: some C/C++ is recommended particularly.
This friendly, easy-to-use guide shows experienced Access users how to use VBA (Visual Basic for Applications) to build Access databases and applications, but also covers programming fundamentals for nonprogrammers Includes practical, ready-to-use VBA code examples that readers can type or copy and paste from the Web into their own database projects Explains basic VBA skills and concepts for nonprogrammers, such as procedures, variables, and loops Covers more advanced topics, such as record sets and other programming activities that are unique to Access programming Author has written more than ninety computer books and has been working with databases since the early 1980s
This Brief provides a roadmap for the R language and programming environment with signposts to further resources and documentation.
Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you'll go beyond the syntax-and beyond the 20-minute tutorial you'll find someplace online. This book has an audacious goal: to present a meaningful exploration of seven languages within a single book. Rather than serve as a complete reference or installation guide, Seven Languages hits what's essential and unique about each language. Moreover, this approach will help teach you how to grok new languages. For each language, you'll solve a nontrivial problem, using techniques that show off the language's most important features. As the book proceeds, you'll discover the strengths and weaknesses of the languages, while dissecting the process of learning languages quickly--for example, finding the typing and programming models, decision structures, and how you interact with them. Among this group of seven, you'll explore the most critical programming models of our time. Learn the dynamic typing that makes Ruby, Python, and Perl so flexible and compelling. Understand the underlying prototype system that's at the heart of JavaScript. See how pattern matching in Prolog shaped the development of Scala and Erlang. Discover how pure functional programming in Haskell is different from the Lisp family of languages, including Clojure. Explore the concurrency techniques that are quickly becoming the backbone of a new generation of Internet applications. Find out how to use Erlang's let-it-crash philosophy for building fault-tolerant systems. Understand the actor model that drives concurrency design in Io and Scala. Learn how Clojure uses versioning to solve some of the most difficult concurrency problems. It's all here, all in one place. Use the concepts from one language to find creative solutions in another-or discover a language that may become one of your favorites.
This book will teach you the basics of Streamlit, a Python-based application framework used to build interactive dashboards and machine learning web apps. Streamlit reduces development time for web-based application prototypes of data and machine learning models. As you'll see, Streamlit helps develop data-enhanced analytics, build dynamic user experiences, and showcases data for data science and machine learning models. Beginner's Guide to Streamlit with Python begins with the basics of Streamlit by demonstrating how to build a basic application and advances to visualization techniques and their features. Next, it covers the various aspects of a typical Streamlit web application, and explains how to manage flow control and status elements. You'll also explore performance optimization techniques necessary for data modules in a Streamlit application. Following this, you'll see how to deploy Streamlit applications on various platforms. The book concludes with a few prototype natural language processing apps with computer vision implemented using Streamlit. After reading this book, you will understand the concepts, functionalities, and performance of Streamlit, and be able to develop dynamic Streamlit web-based data and machine learning applications of your own. What You Will Learn How to start developing web applications using Streamlit What are Streamlit's components Media elements in Streamlit How to visualize data using various interactive and dynamic Python libraries How to implement models in Streamlit web applications Who This Book Is ForProfessionals working in data science and machine learning domains who want to showcase and deploy their work in a web application with no prior knowledge of web development.
Because of its portability and platform-independence, Java is the ideal computer programming language to use when working on graph algorithms and other mathematical programming problems. Collecting some of the most popular graph algorithms and optimization procedures, A Java Library of Graph Algorithms and Optimization provides the source code for a library of Java programs that can be used to solve problems in graph theory and combinatorial optimization. Self-contained and largely independent, each topic starts with a problem description and an outline of the solution procedure, followed by its parameter list specification, source code, and a test example that illustrates the usage of the code. The book begins with a chapter on random graph generation that examines bipartite, regular, connected, Hamilton, and isomorphic graphs as well as spanning, labeled, and unlabeled rooted trees. It then discusses connectivity procedures, followed by a paths and cycles chapter that contains the Chinese postman and traveling salesman problems, Euler and Hamilton cycles, and shortest paths. The author proceeds to describe two test procedures involving planarity and graph isomorphism. Subsequent chapters deal with graph coloring, graph matching, network flow, and packing and covering, including the assignment, bottleneck assignment, quadratic assignment, multiple knapsack, set covering, and set partitioning problems. The final chapters explore linear, integer, and quadratic programming. The appendices provide references that offer further details of the algorithms and include the definitions of many graph theory terms used in the book.
Security is too important to be left in the hands of just one department or employee-it's a concern of an entire enterprise. Enterprise Security Architecture shows that having a comprehensive plan requires more than the purchase of security software-it requires a framework for developing and maintaining a system that is proactive. The book is based around the SABSA layered framework. It provides a structured approach to the steps and processes involved in developing security architectures. It also considers how some of the major business issues likely to be encountered can be resolved.
'One of the best software design books of all time' - BookAuthority Cory Althoff is a self-taught programmer. After a year of self-study, he learned to program well enough to land a job as a software engineer II at eBay. But once he got there, he realised he was severely under-prepared. He was overwhelmed by the amount of things he needed to know but hadn't learned. His journey learning to program, and his experience in first software engineering job were the inspiration for this book. This book is not just about learning to program, although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in addition to helping you learn to program, Althoff also cover the rest of the things you need to know to program professionally that classes and books don't teach you. The Self-taught Programmer is a roadmap, a guide to take you from writing your first Python program to passing your first technical interview. The book is divided into five sections: 1. Learn to program in Python 3 and build your first program. 2. Learn object-oriented programming and create a powerful Python program to get you hooked. 3. Learn to use tools like Git, Bash and regular expressions. Then use your new coding skills to build a web scraper. 4. Study computer science fundamentals like data structures and algorithms. 5. Finish with best coding practices, tips for working with a team and advice on landing a programming job. You can learn to program professionally. The path is there. Will you take it? From the author I spent one year writing The Self-Taught Programmer. It was an exciting and rewarding experience. I treated my book like a software project. After I finished writing it, I created a program to pick out all of the code examples from the book and execute them in Python to make sure all 300+ examples worked properly. Then I wrote software to add line numbers and color to every code example. Finally, I had a group of 200 new programmers 'beta read' the book to identify poorly explained concepts and look for any errors my program missed. I hope you learn as much reading my book as I did writing it. Best of luck with your programming!
Turn futuristic ideas about computer vision and machine learning into demonstrations that are both functional and entertaining Key Features Build OpenCV 4 apps with Python 2 and 3 on desktops and Raspberry Pi, Java on Android, and C# in Unity Detect, classify, recognize, and measure real-world objects in real-time Work with images from diverse sources, including the web, research datasets, and various cameras Book DescriptionOpenCV 4 is a collection of image processing functions and computer vision algorithms. It is open source, supports many programming languages and platforms, and is fast enough for many real-time applications. With this handy library, you'll be able to build a variety of impressive gadgets. OpenCV 4 for Secret Agents features a broad selection of projects based on computer vision, machine learning, and several application frameworks. To enable you to build apps for diverse desktop systems and Raspberry Pi, the book supports multiple Python versions, from 2.7 to 3.7. For Android app development, the book also supports Java in Android Studio, and C# in the Unity game engine. Taking inspiration from the world of James Bond, this book will add a touch of adventure and computer vision to your daily routine. You'll be able to protect your home and car with intelligent camera systems that analyze obstacles, people, and even cats. In addition to this, you'll also learn how to train a search engine to praise or criticize the images that it finds, and build a mobile app that speaks to you and responds to your body language. By the end of this book, you will be equipped with the knowledge you need to advance your skills as an app developer and a computer vision specialist. What you will learn Detect motion and recognize gestures to control a smartphone game Detect car headlights and estimate their distance Detect and recognize human and cat faces to trigger an alarm Amplify motion in a real-time video to show heartbeats and breaths Make a physics simulation that detects shapes in a real-world drawing Build OpenCV 4 projects in Python 3 for desktops and Raspberry Pi Develop OpenCV 4 Android applications in Android Studio and Unity Who this book is forIf you are an experienced software developer who is new to computer vision or machine learning, and wants to study these topics through creative projects, then this book is for you. The book will also help existing OpenCV users who want upgrade their projects to OpenCV 4 and new versions of other libraries, languages, tools, and operating systems. General familiarity with object-oriented programming, application development, and usage of operating systems (OS), developer tools, and the command line is required.
A complete guide for the developer or student, this text provides an overview of general concepts and terminology, investigates the salient features of the reference processor, thoroughly explores the services and features of the reference RTOS, and culminates with a major case study. Perfect for embedded systems programmers, software engineers, electrical engineers, or firmware engineers with a programming background in C or C++.
Shading, as part of the creation of realistic computer-generated images, is currently bringing major advances to computer graphics, with important practical applications in computer game design and animation. Shaders are a more sophisticated way of making 3D objects look more realistic. While most shaders are created using proprietary shading languages, Sh, a new open-source system, simplifies the shader programming process by making it part of the C++ language. This book introduces Sh and describes how to program a GPU using C++ to implement both basic and advanced shading techniques. Readers of this book will be able to start writing advanced, modular shaders using Sh within a day
Are you a programmer who wants to get started quickly in a new language? This book is for you. Are you a novice who wants to learn to program? This book is not for you. Are you a Python programmer who needs encyclopaedic information? This book is not for you. Like any mainstream language, Python has loops, if statements, assignment statements, functions, etc. I'll show you what these look like in Python. I won't waste your time telling you what they're good for. Python has features you may not be familiar with--iterators, list comprehensions, maybe even dictionaries. I'll spend more time on these. I'll cover some of the library functions I found most immediately useful, and tell you where to find more. In short, this book will help you hit the ground running. Next week, you'll be ready to buy that Python encyclopaedia.
XcalableMP is a directive-based parallel programming language based on Fortran and C, supporting a Partitioned Global Address Space (PGAS) model for distributed memory parallel systems. This open access book presents XcalableMP language from its programming model and basic concept to the experience and performance of applications described in XcalableMP. XcalableMP was taken as a parallel programming language project in the FLAGSHIP 2020 project, which was to develop the Japanese flagship supercomputer, Fugaku, for improving the productivity of parallel programing. XcalableMP is now available on Fugaku and its performance is enhanced by the Fugaku interconnect, Tofu-D. The global-view programming model of XcalableMP, inherited from High-Performance Fortran (HPF), provides an easy and useful solution to parallelize data-parallel programs with directives for distributed global array and work distribution and shadow communication. The local-view programming adopts coarray notation from Coarray Fortran (CAF) to describe explicit communication in a PGAS model. The language specification was designed and proposed by the XcalableMP Specification Working Group organized in the PC Consortium, Japan. The Omni XcalableMP compiler is a production-level reference implementation of XcalableMP compiler for C and Fortran 2008, developed by RIKEN CCS and the University of Tsukuba. The performance of the XcalableMP program was used in the Fugaku as well as the K computer. A performance study showed that XcalableMP enables a scalable performance comparable to the message passing interface (MPI) version with a clean and easy-to-understand programming style requiring little effort.
Appropriate for all courses in Tcl/Tk scripting, and many courses in Unix shell scripting. Practical Programming in Tcl/Tk, Fourth Edition is the definitive guide to Tcl/Tk programming for developers at all levels—including experienced Perl and Python programmers who want to use Tk to build high-quality, cross-platform user interfaces. Thoroughly updated for Tcl/Tk 8.4, this book brings together comprehensive, authoritative coverage of every Tcl and Tk command in the core toolkits, along with detailed examples that demonstrate the best ways to use the Tcl/Tk toolkit. Extensive new Tcl/Tk 8.4 coverage includes: the Tcl/Tk virtual filesystem (VFS); spinbox, panedwindow, labelframe, and other new widgets; and improved internationalization support. The book includes an exceptionally clear introduction to the unique Tcl programming model, as well as practical coverage of cross-platform development for Unix, Windows, and Macintosh; Web application development with the TclHttpd web server; and much more. The accompanying CD-ROM contains all sample code from the book, as well as the latest binary distributions of Tcl/Tk, Tcl extensions, and an extensive collection of Tcl/Tk freeware.
For freshman/sophomore-level courses in Assembly Language Programming, Introduction to Computer Organization, and Introduction to Computer Architecture. Students using this text will gain an understanding of how the functional components of modern computers are put together and how a computer works at the machine language level. MIPS architecture embodies the fundamental design principles of all contemporary RISC architectures. By incorporating this text into their courses, instructors will be able to prepare their undergraduate students to go on to upper-division computer organization courses.
This book constitutes the refereed proceedings of the 7th International IFIP WG 2.13 Conference on Open Source Systems, OSS 2010, held in Salvador, Brazil, in October 2011. The 20 revised full papers presented together with 4 industrial full papers and 8 lightning talks were carefully reviewed and selected from 56 submissions. The papers are organized in the following topical sections: OSS quality and reliability, OSS products, review of technologies of and for OSS, knowledge and research building in OSS, OSS reuse, integration, and compliance, OSS value and economics, OSS adoption in industry, and mining OSS repositories.
Does it seem like your Python projects are getting bigger and bigger? Are you feeling the pain as your codebase expands and gets tougher to debug and maintain? Python is an easy language to learn and use, but that also means systems can quickly grow beyond comprehension. Thankfully, Python has features to help developers overcome maintainability woes. In this practical book, author Patrick Viafore shows you how to use Python's type system to the max. You'll look at user-defined types, such as classes and enums, and Python's type hinting system. You'll also learn how to make Python extensible and how to use a comprehensive testing strategy as a safety net. With these tips and techniques, you'll write clearer and more maintainable code. Learn why types are essential in modern development ecosystems Understand how type choices such as classes, dictionaries, and enums reflect specific intents Make Python extensible for the future without adding bloat Use popular Python tools to increase the safety and robustness of your codebase Evaluate current code to detect common maintainability gotchas Build a safety net around your codebase with linters and tests
Take a problem-solution approach for programming enterprise Java or Java EE applications and microservices for cloud-based solutions, enterprise database applications, and even small business web applications. Java EE to Jakarta EE 10 Recipes provides effective, practical, and proven code snippets that you can immediately use to accomplish just about any task that you may encounter. You can feel confident using the reliable solutions that are demonstrated in this book in your personal or corporate environment. Java EE was made open source under the Eclipse Foundation, and Jakarta EE is the new name for what used to be termed the Java Platform, Enterprise Edition. This book helps you rejuvenate your Java expertise and put the platform's latest capabilities to use for quickly developing robust applications. If you are new to Jakarta EE, this book will help you learn the features of the platform and benefit from one of the most widely used and powerful technologies available for cloud-native enterprise application development today. Examples in this book highlight Jakarta EE's capabilities, helping you to build streamlined and reliable applications using the latest in Java technologies. The book takes a problem-solution approach in which each section introduces a common programming problem, showing you how to solve that problem in the best possible way using the latest features in Jakarta EE. Solutions in the form of working code examples are presented that you can download and use immediately in your own projects. Clear descriptions are provided to help you understand and learn to build further on the solutions provided. This is the ideal book for the code-focused programmer interested in keeping up with the future of enterprise development on the Java Platform. What You Will Learn Develop enterprise java applications using the latest open-source Jakarta EE platform Create great-looking user interfaces using Jakarta Servlets, Jakarta Server Pages, Jakarta Server Faces and the Eclipse Krazo framework (an implementation of Jakarta MVC) Build database applications using Jakarta NoSQL, Jakarta Persistence, and Jakarta Enterprise Beans. Develop enterprise grade applications using Context & Dependency Injection, and Jakarta RESTFul web services Automate testing through cohesive test suites built on Arquillian for Jakarta EE applications Build loosely coupled distributed applications using Jakarta Messaging Deploy microservices applications in cloud environments using Docker Secure applications utilizing the Jakarta EE Security API Who This Book Is For Java developers interested in quickly finding effective and proven solutions without reading through a lengthy manual and scrubbing for techniques.
API Design for C++ provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online. This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are targeted: practicing software engineers and architects, technical managers, and students and educators.
Features Focus on the foundational theory underpinning Reinforcement Learning Suitable as a primary text for courses in Reinforcement Learning, but also as supplementary reading for applied/financial mathematics, programming, and other related courses Suitable for a professional audience of quantitative analysts or industry specialists Blends theory/mathematics, programming/algorithms and real-world financial nuances while always striving to maintain simplicity and to build intuitive understanding.
Choose the right programmable logic devices for your projects with this guide to the proprietary details of the alternative architectures and processes of Complex Programmable Logic Devices (CPLD) and Field Programmable Gate Arrays (FPGA). Engineers learn how to select the appropriate development tools and resources and how to optimize and increase the reliability of the design along with the appropriate use of simulation and testing. Engineering managers will gain insight into how to plan, schedule, and budget a CPLD-based or FPGA-based design.
Practical C Programming teaches you not only the mechanics of programming, but also how to create programs that are easy to read, maintain, and debug. This third edition introduces popular Integrated Development Environments on Windows systems, as well as UNIX programming utilities, and features a large statistics-generating program to pull together the concepts and features in the language. |
![]() ![]() You may like...
Exam Ref 70-532 Developing Microsoft…
Zoiner Tejada, Michele Bustamante, …
Paperback
Entertainment Apps on the Go with…
Ian Dixon, Garry Whittaker
Paperback
R1,249
Discovery Miles 12 490
|