- Table View
- List View
Scala Data Analysis Cookbook
by Arun ManivannanNavigate the world of data analysis, visualization, and machine learning with over 100 hands-on Scala recipesAbout This BookImplement Scala in your data analysis using features from Spark, Breeze, and ZeppelinScale up your data anlytics infrastructure with practical recipes for Scala machine learningRecipes for every stage of the data analysis process, from reading and collecting data to distributed analyticsWho This Book Is ForThis book shows data scientists and analysts how to leverage their existing knowledge of Scala for quality and scalable data analysis.What You Will LearnFamiliarize and set up the Breeze and Spark libraries and use data structuresImport data from a host of possible sources and create dataframes from CSVClean, validate and transform data using Scala to pre-process numerical and string dataIntegrate quintessential machine learning algorithms using Scala stackBundle and scale up Spark jobs by deploying them into a variety of cluster managersRun streaming and graph analytics in Spark to visualize data, enabling exploratory analysisIn DetailThis book will introduce you to the most popular Scala tools, libraries, and frameworks through practical recipes around loading, manipulating, and preparing your data. It will also help you explore and make sense of your data using stunning and insightfulvisualizations, and machine learning toolkits.Starting with introductory recipes on utilizing the Breeze and Spark libraries, get to grips withhow to import data from a host of possible sources and how to pre-process numerical, string, and date data. Next, you'll get an understanding of concepts that will help you visualize data using the Apache Zeppelin and Bokeh bindings in Scala, enabling exploratory data analysis. iscover how to program quintessential machine learning algorithms using Spark ML library. Work through steps to scale your machine learning models and deploy them into a standalone cluster, EC2, YARN, and Mesos. Finally dip into the powerful options presented by Spark Streaming, and machine learning for streaming data, as well as utilizing Spark GraphX.Style and approachThis book contains a rich set of recipes that covers the full spectrum of interesting data analysis tasks and will help you revolutionize your data analysis skills using Scala and Spark.
Scala Design Patterns
by Ivan NikolovWrite efficient, clean, and reusable code with Scala About This Book * Unleash the power of Scala and apply it in the real world * Increase your efficiency by leveraging the power of Creational, Structural, Behavioural, and Functional design patterns * Build object oriented and functional applications quickly and effectively Who This Book Is For If you want to increase your understanding of Scala and apply it to real-life application development, then this book is for you. We've also designed the book to be used as a quick reference guide while creating applications. Previous Scala programming knowledge is expected. What You Will Learn * Immerse yourself in industry-standard design patterns--structural, creational, and behavioral--to create extraordinary applications * Feel the power of traits and their application in Scala * Implement abstract and self types and build clean design patterns * Build complex entity relationships using structural design patterns * Create applications faster by applying functional design patterns In Detail Scala has become increasingly popular in many different IT sectors. The language is exceptionally feature-rich which helps developers write less code and get faster results. Design patterns make developer's lives easier by helping them write great software that is easy to maintain, runs efficiently and is valuable to the company or people concerned. You will learn about the various features of Scala and be able to apply well-known, industry-proven design patterns in your work. The book starts off by focusing on some of the most interesting features of Scala while using practical real-world examples. We will also cover the popular "Gang of Four" design patterns and show you how to incorporate functional patterns effectively. By the end of this book, you will have enough knowledge and understanding to quickly assess problems and come up with elegant solutions. Style and approach The design patterns in the book will be explained using real-world, step-by-step examples. For each design pattern, there will be hints about when to use it and when to look for something more suitable. This book can also be used as a practical guide, showing you how to leverage design patterns effectively.
Scala Design Patterns
by John HuntScala is a new and exciting programming language that is a hybrid between object oriented languages such as Java and functional languages such as Haskell. As such it has its own programming idioms and development styles. Scala Design Patterns looks at how code reuse can be successfully achieved in Scala. A major aspect of this is the reinterpretation of the original Gang of Four design patterns in terms of Scala and its language structures (that is the use of Traits, Classes, Objects and Functions). It includes an exploration of functional design patterns and considers how these can be interpreted in Scala's uniquely hybrid style. A key aspect of the book is the many code examples that accompany each design pattern, allowing the reader to understand not just the design pattern but also to explore powerful and flexible Scala language features. Including numerous source code examples, this book will be of value to professionals and practitioners working in the field of software engineering.
Scala Design Patterns: Design modular, clean, and scalable applications by applying proven design patterns in Scala, 2nd Edition
by Ivan NikolovLearn how to write efficient, clean, and reusable code with ScalaKey FeaturesUnleash the power of Scala and apply it in the real world to build scalable and robust applications.Learn about using and implementing Creational, Structural, Behavioral, and Functional design patterns in Scala Learn how to build scalable and extendable applications efficientlyBook DescriptionDesign patterns make developers’ lives easier by helping them write great software that is easy to maintain, runs efficiently, and is valuable to the company or people concerned. You’ll learn about the various features of Scala and will be able to apply well-known, industry-proven design patterns in your work. The book starts off by focusing on some of the most interesting and latest features of Scala while using practical real-world examples. We will be learning about IDE’s and Aspect Oriented Programming. We will be looking into different components in Scala. We will also cover the popular "Gang of Four" design patterns and show you how to incorporate functional patterns effectively. The book ends with a practical example that demonstrates how the presented material can be combined in real-life applications. You’ll learn the necessary concepts to build enterprise-grade applications. By the end of this book, you’ll have enough knowledge and understanding to quickly assess problems and come up with elegant solutions.What you will learn Immerse yourself in industry-standard design patterns—structural, creational, and behavioral—to create extraordinary applications See the power of traits and their application in Scala Implement abstract and self types and build clean design patterns Build complex entity relationships using structural design patterns Create applications faster by applying functional design patternsWho this book is forIf you want to increase your understanding of Scala and apply design patterns to real-life application development, then this book is for you.Prior knowledge of Scala language is assumed/ expected.
Scala Functional Programming Patterns
by Atul S. KhotGrok and perform effective functional programming in Scala About This Book * Understand functional programming patterns by comparing them with the traditional object-oriented design patterns * Write robust, safer, and better code using the declarative programming paradigm * An illustrative guide for programmers to create functional programming patterns with Scala Who This Book Is For If you have done Java programming before and have a basic knowledge of Scala and its syntax, then this book is an ideal choice to help you to understand the context, the traditional design pattern applicable, and the Scala way. Having previous knowledge of design patterns will help, though it is not strictly necessary. What You Will Learn * Get to know about functional programming and the value Scala's FP idioms bring to the table * Solve day-to-day programming problems using functional programming idioms * Cut down the boiler-plate and express patterns simply and elegantly using Scala's concise syntax * Tame system complexity by reducing the moving parts * Write easier to reason about concurrent code using the actor paradigm and the Akka library * Apply recursive thinking and understand how to create solutions without mutation * Reuse existing code to compose new behavior * Combine the object-oriented and functional programming approaches for effective programming using Scala In Detail Scala is used to construct elegant class hierarchies for maximum code reuse and extensibility and to implement their behavior using higher-order functions. Its functional programming (FP) features are a boon to help you design "easy to reason about" systems to control the growing software complexities. Knowing how and where to apply the many Scala techniques is challenging. Looking at Scala best practices in the context of what you already know helps you grasp these concepts quickly, and helps you see where and why to use them. This book begins with the rationale behind patterns to help you understand where and why each pattern is applied. You will discover what tail recursion brings to your table and will get an understanding of how to create solutions without mutations. We then explain the concept of memorization and infinite sequences for on-demand computation. Further, the book takes you through Scala's stackable traits and dependency injection, a popular technique to produce loosely-coupled software systems. You will also explore how to currying favors to your code and how to simplify it by de-construction via pattern matching. We also show you how to do pipeline transformations using higher order functions such as the pipes and filters pattern. Then we guide you through the increasing importance of concurrent programming and the pitfalls of traditional code concurrency. Lastly, the book takes a paradigm shift to show you the different techniques that functional programming brings to your plate. This book is an invaluable source to help you understand and perform functional programming and solve common programming problems using Scala's programming patterns. Style and approach This is a hands-on guide to Scala's game-changing features for programming. It is filled with many code examples and figures that illustrate various Scala idioms and best practices.
Scala High Performance Programming
by Vincent Theron Michael DiamantLeverage Scala and the functional paradigm to build performant software About This Book * Get the first book to explore Scala performance techniques in depth! * Real-world inspired use cases illustrate and support the techniques studied and the language features * This book is written by Vincent Theron and Michael Diamant, software engineers with several years of experience in the high-frequency trading and programmatic advertising industries Who This Book Is For This book assumes a basic exposure to the Scala programming language and the Java Virtual Machine. You should be able to read and understand moderately advanced Scala code. No other knowledge is required. What You Will Learn * Analyze the performance of JVM applications by developing JMH benchmarks and profiling with Flight Recorder * Discover use cases and performance tradeoffs of Scala language features, and eager and lazy collections * Explore event sourcing to improve performance while working with stream processing pipelines * Dive into asynchronous programming to extract performance on multicore systems using Scala Future and Scalaz Task * Design distributed systems with conflict-free replicated data types (CRDTs) to take advantage of eventual consistency without synchronization * Understand the impact of queues on system performance and apply the Free monad to build systems robust to high levels of throughput In Detail Scala is a statically and strongly typed language that blends functional and object-oriented paradigms. It has experienced growing popularity as an appealing and pragmatic choice to write production-ready software in the functional paradigm. Scala and the functional programming paradigm enable you to solve problems with less code and lower maintenance costs than the alternatives. However, these gains can come at the cost of performance if you are not careful. Scala High Performance Programming arms you with the knowledge you need to create performant Scala applications. Starting with the basics of understanding how to define performance, we explore Scala's language features and functional programming techniques while keeping a close eye on performance throughout all the topics. We introduce you as the newest software engineer at a fictitious financial trading company, named MV Trading. As you learn new techniques and approaches to reduce latency and improve throughput, you'll apply them to MV Trading's business problems. By the end of the book, you will be well prepared to write production-ready, performant Scala software using the functional paradigm to solve real-world problems. Style and approach This step-by-step guide will help you create high performance applications using Scala. Packed with lots of code samples, tips and tricks, every topic is explained in a detailed, easy-to-understand manner.
Scala Machine Learning Projects: Build real-world machine learning and deep learning projects with Scala
by Md. Rezaul KarimPowerful smart applications using deep learning algorithms to dominate numerical computing, deep learning, and functional programming. Key Features Explore machine learning techniques with prominent open source Scala libraries such as Spark ML, H2O, MXNet, Zeppelin, and DeepLearning4j Solve real-world machine learning problems by delving complex numerical computing with Scala functional programming in a scalable and faster way Cover all key aspects such as collection, storing, processing, analyzing, and evaluation required to build and deploy machine models on computing clusters using Scala Play framework. Book Description Machine learning has had a huge impact on academia and industry by turning data into actionable information. Scala has seen a steady rise in adoption over the past few years, especially in the fields of data science and analytics. This book is for data scientists, data engineers, and deep learning enthusiasts who have a background in complex numerical computing and want to know more hands-on machine learning application development. If you're well versed in machine learning concepts and want to expand your knowledge by delving into the practical implementation of these concepts using the power of Scala, then this book is what you need! Through 11 end-to-end projects, you will be acquainted with popular machine learning libraries such as Spark ML, H2O, DeepLearning4j, and MXNet. At the end, you will be able to use numerical computing and functional programming to carry out complex numerical tasks to develop, build, and deploy research or commercial projects in a production-ready environment. What you will learn Apply advanced regression techniques to boost the performance of predictive models Use different classification algorithms for business analytics Generate trading strategies for Bitcoin and stock trading using ensemble techniques Train Deep Neural Networks (DNN) using H2O and Spark ML Utilize NLP to build scalable machine learning models Learn how to apply reinforcement learning algorithms such as Q-learning for developing ML application Learn how to use autoencoders to develop a fraud detection application Implement LSTM and CNN models using DeepLearning4j and MXNetWho this book is for If you want to leverage the power of both Scala and Spark to make sense of Big Data, then this book is for you. If you are well versed with machine learning concepts and wants to expand your knowledge by delving into the practical implementation using the power of Scala, then this book is what you need! Strong understanding of Scala Programming language is recommended. Basic familiarity with machine Learning techniques will be more helpful.
Scala Programming Projects: Build real world projects using popular Scala frameworks like Play, Akka, and Spark
by Mikaël Valot Nicolas JorandDiscover unique features and powerful capabilities of Scala Programming as you build projects in a wide range of domainsKey FeaturesDevelop a range of Scala projects from web applications to big data analysisLeverage full power of modern web programming using Play FrameworkBuild real-time data pipelines in Scala with a Bitcoin transaction analysis appBook DescriptionScala is a type-safe JVM language that incorporates object-oriented and functional programming (OOP and FP) aspects. This book gets you started with essentials of software development by guiding you through various aspects of Scala programming, helping you bridge the gap between learning and implementing. You will learn about the unique features of Scala through diverse applications and experience simple yet powerful approaches for software development.Scala Programming Projects will help you build a number of applications, beginning with simple projects, such as a financial independence calculator, and advancing to other projects, such as a shopping application and a Bitcoin transaction analyzer. You will be able to use various Scala features, such as its OOP and FP capabilities, and learn how to write concise, reactive, and concurrent applications in a type-safe manner. You will also learn how to use top-notch libraries such as Akka and Play and integrate Scala apps with Kafka, Spark, and Zeppelin, along with deploying applications on a cloud platform.By the end of the book, you will not only know the ins and outs of Scala, but you will also be able to apply it to solve a variety of real-world problemsWhat you will learnBuild, test, and package code using Scala Build ToolDecompose code into functions, classes, and packages for maintainabilityImplement the functional programming capabilities of ScalaDevelop a simple CRUD REST API using the Play frameworkAccess a relational database using SlickDevelop a dynamic web UI using Scala.jsSource streaming data using Spark Streaming and write a Kafka producerUse Spark and Zeppelin to analyze dataWho this book is forIf you are an amateur programmer who wishes to learn how to use Scala, this book is for you. Knowledge of Java will be beneficial, but not necessary, to understand the concepts covered in this book.
Scala Programming for Big Data Analytics: Get Started With Big Data Analytics Using Apache Spark
by Irfan ElahiGain the key language concepts and programming techniques of Scala in the context of big data analytics and Apache Spark. The book begins by introducing you to Scala and establishes a firm contextual understanding of why you should learn this language, how it stands in comparison to Java, and how Scala is related to Apache Spark for big data analytics. Next, you’ll set up the Scala environment ready for examining your first Scala programs. This is followed by sections on Scala fundamentals including mutable/immutable variables, the type hierarchy system, control flow expressions and code blocks.The author discusses functions at length and highlights a number of associated concepts such as functional programming and anonymous functions. The book then delves deeper into Scala’s powerful collections system because many of Apache Spark’s APIs bear a strong resemblance to Scala collections. Along the way you’ll see the development life cycle of a Scala program. This involves compiling and building programs using the industry-standard Scala Build Tool (SBT). You’ll cover guidelines related to dependency management using SBT as this is critical for building large Apache Spark applications. Scala Programming for Big Data Analytics concludes by demonstrating how you can make use of the concepts to write programs that run on the Apache Spark framework. These programs will provide distributed and parallel computing, which is critical for big data analytics.What You Will LearnSee the fundamentals of Scala as a general-purpose programming languageUnderstand functional programming and object-oriented programming constructs in ScalaUse Scala collections and functions Develop, package and run Apache Spark applications for big data analyticsWho This Book Is ForData scientists, data analysts and data engineers who intend to use Apache Spark for large-scale analytics.
Scala Reactive Programming: Build scalable, functional reactive microservices with Akka, Play, and Lagom
by Rambabu PosaBuild fault-tolerant, robust, and distributed applications in Scala Key Features - Understand and use the concepts of reactive programming to build distributed systems running on multiple nodes. - Learn how reactive architecture reduces complexity throughout the development process. - Get to grips with functional reactive programming and Reactive Microservices. Book Description Reactive programming is a scalable, fast way to build applications, and one that helps us write code that is concise, clear, and readable. It can be used for many purposes such as GUIs, robotics, music, and others, and is central to many concurrent systems. This book will be your guide to getting started with Reactive programming in Scala. You will begin with the fundamental concepts of Reactive programming and gradually move on to working with asynchronous data streams. You will then start building an application using Akka Actors and extend it using the Play framework. You will also learn about reactive stream specifications, event sourcing techniques, and different methods to integrate Akka Streams into the Play Framework. This book will also take you one step forward by showing you the advantages of the Lagom framework while working with reactive microservices. You will also learn to scale applications using multi-node clusters and test, secure, and deploy your microservices to the cloud. By the end of the book, you will have gained the knowledge to build robust and distributed systems with Scala and Akka. What you will learn Understand the fundamental principles of Reactive and Functional programming Develop applications utilizing features of the Akka framework Explore techniques to integrate Scala, Akka, and Play together Learn about Reactive Streams with real-time use cases Develop Reactive Web Applications with Play, Scala, Akka, and Akka Streams Develop and deploy Reactive microservices using the Lagom framework and ConductR Who this book is for This book is for Scala developers who would like to build fault-tolerant, scalable distributed systems. No knowledge of Reactive programming is required.
Scala Test-Driven Development
by Gaurav SoodBuild robust Scala applications by implementing the fundamentals of test-driven development in your workflow About This Book * Get a deep understanding of various testing concepts such as test-driven development (TDD) and BDD * Efficient usage of the built-in Scala features such as ScalaTest, specs2, and Scala check * Change your approach towards problem solving by thinking about the boundaries of the problem and its definition rather than focusing on the solution Who This Book Is For This book is for Scala developers who are looking to write better quality and easily maintainable code. No previous knowledge of TDD/BDD is required. What You Will Learn * Understand the basics of TDD and its significance * Refactoring tests to build APIs in order to increase test coverage * How to leverage the inbuilt Scala testing modules like ScalaTest, specs2 and Scala Check * Writing test fixtures and apply the concepts of BDD * How to divide tests to run at different points in continuous delivery cycle * Benefits of refactoring and how it affects the final quality of code produced * Understanding of SBT based build environment and how to use it to run tests * The fundamentals of mocking and stubbing in Scala and how to use it efficiently In Detail Test-driven development (TDD) produces high-quality applications in less time than is possible with traditional methods. Due to the systematic nature of TDD, the application is tested in individual units as well as cumulatively, right from the design stage, to ensure optimum performance and reduced debugging costs. This step-by-step guide shows you how to use the principles of TDD and built-in Scala testing modules to write clean and fully tested Scala code and give your workflow the change it needs to let you create better applications than ever before. After an introduction to TDD, you will learn the basics of ScalaTest, one of the most flexible and most popular testing tools around for Scala, by building your first fully test-driven application. Building on from that you will learn about the ScalaTest API and how to refactor code to produce high-quality applications. We'll teach you the concepts of BDD (Behavior-driven development) and you'll see how to add functional tests to the existing suite of tests. You'll be introduced to the concepts of Mocks and Stubs and will learn to increase test coverage using properties. With a concluding chapter on miscellaneous tools, this book will enable you to write better quality code that is easily maintainable and watch your apps change for the better. Style and approach This step-by-step guide explains the significance of TDD in Scala through various practical examples. You will learn to write a complete test-driven application throughout the course of the book.
Scala and Spark for Big Data Analytics
by Md. Rezaul Karim Sridhar AllaHarness the power of Scala to program Spark and analyze tonnes of data in the blink of an eye! About This Book • Learn Scala's sophisticated type system that combines Functional Programming and object-oriented concepts • Work on a wide array of applications, from simple batch jobs to stream processing and machine learning • Explore the most common as well as some complex use-cases to perform large-scale data analysis with Spark Who This Book Is For Anyone who wishes to learn how to perform data analysis by harnessing the power of Spark will find this book extremely useful. No knowledge of Spark or Scala is assumed, although prior programming experience (especially with other JVM languages) will be useful to pick up concepts quicker. What You Will Learn • Understand object-oriented & functional programming concepts of Scala • In-depth understanding of Scala collection APIs • Work with RDD and DataFrame to learn Spark's core abstractions • Analysing structured and unstructured data using SparkSQL and GraphX • Scalable and fault-tolerant streaming application development using Spark structured streaming • Learn machine-learning best practices for classification, regression, dimensionality reduction, and recommendation system to build predictive models with widely used algorithms in Spark MLlib & ML • Build clustering models to cluster a vast amount of data • Understand tuning, debugging, and monitoring Spark applications • Deploy Spark applications on real clusters in Standalone, Mesos, and YARN In Detail Scala has been observing wide adoption over the past few years, especially in the field of data science and analytics. Spark, built on Scala, has gained a lot of recognition and is being used widely in productions. Thus, if you want to leverage the power of Scala and Spark to make sense of big data, this book is for you. The first part introduces you to Scala, helping you understand the object-oriented and functional programming concepts needed for Spark application development. It then moves on to Spark to cover the basic abstractions using RDD and DataFrame. This will help you develop scalable and fault-tolerant streaming applications by analyzing structured and unstructured data using SparkSQL, GraphX, and Spark structured streaming. Finally, the book moves on to some advanced topics, such as monitoring, configuration, debugging, testing, and deployment. You will also learn how to develop Spark applications using SparkR and PySpark APIs, interactive data analytics using Zeppelin, and in-memory data processing with Alluxio. By the end of this book, you will have a thorough understanding of Spark, and you will be able to perform full-stack data analytics with a feel that no amount of data is too big. Style and approach Filled with practical examples and use cases, this book will hot only help you get up and running with Spark, but will also take you farther down the road to becoming a data scientist.
Scala for Data Science
by Pascal BugnionLeverage the power of Scala with different tools to build scalable, robust data science applications About This Book * A complete guide for scalable data science solutions, from data ingestion to data visualization * Deploy horizontally scalable data processing pipelines and take advantage of web frameworks to build engaging visualizations * Build functional, type-safe routines to interact with relational and NoSQL databases with the help of tutorials and examples provided Who This Book Is For If you are a Scala developer or data scientist, or if you want to enter the field of data science, then this book will give you all the tools you need to implement data science solutions. What You Will Learn * Transform and filter tabular data to extract features for machine learning * Implement your own algorithms or take advantage of MLLib's extensive suite of models to build distributed machine learning pipelines * Read, transform, and write data to both SQL and NoSQL databases in a functional manner * Write robust routines to query web APIs * Read data from web APIs such as the GitHub or Twitter API * Use Scala to interact with MongoDB, which offers high performance and helps to store large data sets with uncertain query requirements * Create Scala web applications that couple with JavaScript libraries such as D3 to create compelling interactive visualizations * Deploy scalable parallel applications using Apache Spark, loading data from HDFS or Hive In Detail Scala is a multi-paradigm programming language (it supports both object-oriented and functional programming) and scripting language used to build applications for the JVM. Languages such as R, Python, Java, and so on are mostly used for data science. It is particularly good at analyzing large sets of data without any significant impact on performance and thus Scala is being adopted by many developers and data scientists. Data scientists might be aware that building applications that are truly scalable is hard. Scala, with its powerful functional libraries for interacting with databases and building scalable frameworks will give you the tools to construct robust data pipelines. This book will introduce you to the libraries for ingesting, storing, manipulating, processing, and visualizing data in Scala. Packed with real-world examples and interesting data sets, this book will teach you to ingest data from flat files and web APIs and store it in a SQL or NoSQL database. It will show you how to design scalable architectures to process and modelling your data, starting from simple concurrency constructs such as parallel collections and futures, through to actor systems and Apache Spark. As well as Scala's emphasis on functional structures and immutability, you will learn how to use the right parallel construct for the job at hand, minimizing development time without compromising scalability. Finally, you will learn how to build beautiful interactive visualizations using web frameworks. This book gives tutorials on some of the most common Scala libraries for data science, allowing you to quickly get up to speed with building data science and data engineering solutions. Style and approach A tutorial with complete examples, this book will give you the tools to start building useful data engineering and data science solutions straightaway
Scala for Java Developers
by Thomas AlexandreThis step-by-step guide is full of easy-to-follow code taken from real-world examples explaining the migration and integration of Scala in a Java project. If you are a Java developer or a Java architect, working in Java EE-based solutions and want to start using Scala in your daily programming, this book is ideal for you. This book will get you up and running quickly by adopting a pragmatic approach with real-world code samples. No prior knowledge of Scala is required.
Scala for Machine Learning
by Patrick R. NicolasAre you curious about AI? All you need is a good understanding of the Scala programming language, a basic knowledge of statistics, a keen interest in Big Data processing, and this book!
Scala for Machine Learning - Second Edition
by Patrick NicolasThe discovery of information through data clustering and classification is becoming a key differentiator for competitive organizations. Machine learning applications are everywhere, from self-driving cars, engineering design, logistics, manufacturing, and trading strategies, to detection of genetic anomalies. The book is your one stop guide that introduces you to thefunctional capabilities of the Scala programming language that are critical to the creation of machine learning algorithms such as dependency injection and implicits. You start by learning data preprocessing and filtering techniques. Following this, you'll move on to unsupervised learning techniques such as clustering and dimension reduction, followed by probabilistic graphical models such as Naive Bayes, hidden Markov models and Monte Carlo inference. Further, it covers the discriminative algorithms such as linear, logistic regression with regularization, kernelization, support vector machines, neural networks, and deep learning. You'll move on to evolutionary computing, multibandit algorithms, and reinforcement learning. Finally, the book includes a comprehensive overview of parallel computing in Scala and Akka followed by a description of Apache Spark and its ML library. With updated codes based on the latest version of Scala and comprehensive examples, this book will ensure that you have more than just a solid fundamental knowledge in machine learning with Scala.
Scala for Machine Learning Second Edition
by Patrick R. NicolasLeverage Scala and Machine Learning to study and construct systems that can learn from dataAbout This Book* Explore a broad variety of data processing, machine learning, and genetic algorithms through diagrams, mathematical formulation, and updated source code in Scala* Take your expertise in Scala programming to the next level by creating and customizing AI applications* Experiment with different techniques and evaluate their benefits and limitations using real-world applications in a tutorial styleWho This Book Is ForIf you're a data scientist or a data analyst with a fundamental knowledge of Scala who wants to learn and implement various Machine learning techniques, this book is for you. All you need is a good understanding of the Scala programming language, a basic knowledge of statistics, a keen interest in Big Data processing, and this book!What You Will Learn* Build dynamic workflows for scientific computing* Leverage open source libraries to extract patterns from time series* Write your own classification, clustering, or evolutionary algorithm* Perform relative performance tuning and evaluation of Spark* Master probabilistic models for sequential data* Experiment with advanced techniques such as regularization and kernelization* Dive into neural networks and some deep learning architecture* Apply some basic multiarm-bandit algorithms* Solve big data problems with Scala parallel collections, Akka actors, and Apache Spark clusters* Apply key learning strategies to a technical analysis of financial marketsIn DetailThe discovery of information through data clustering and classification is becoming a key differentiator for competitive organizations. Machine learning applications are everywhere, from self-driving cars, engineering design, logistics, manufacturing, and trading strategies, to detection of genetic anomalies.The book is your one stop guide that introduces you to the functional capabilities of the Scala programming language that are critical to the creation of machine learning algorithms such as dependency injection and implicits. You start by learning data preprocessing and filtering techniques. Following this, you'll move on to unsupervised learning techniques such as clustering and dimension reduction, followed by probabilistic graphical models such as Naive Bayes, hidden Markov models and Monte Carlo inference. Further, it covers the discriminative algorithms such as linear, logistic regression with regularization, kernelization, support vector machines, neural networks, and deep learning. You'll move on to evolutionary computing, multibandit algorithms, and reinforcement learning.Finally, the book includes a comprehensive overview of parallel computing in Scala and Akka followed by a description of Apache Spark and its ML library. With updated codes based on the latest version of Scala and comprehensive examples, this book will ensure that you have more than just a solid fundamental knowledge in machine learning with Scala.Style and approachThis book is designed as a tutorial with hands-on exercises using technical analysis of financial markets and corporate data. The approach of each chapter is such that it allows you to understand key concepts easily.
Scala in Action: Covers Scala 2. 10
by Nilanjan RaychaudhuriSummaryScala in Action is a comprehensive tutorial that introduces Scala through clear explanations and numerous hands-on examples. Because Scala is a rich and deep language, it can be daunting to absorb all the new concepts at once. This book takes a "how-to" approach, explaining language concepts as you explore familiar programming challenges that you face in your day-to-day work.About the TechnologyScala runs on the JVM and combines object-orientation with functional programming. It's designed to produce succinct, type-safe code, which is crucial for enterprise applications. Scala implements Actor-based concurrency through the amazing Akka framework, so you can avoid Java's messy threading while interacting seamlessly with Java.About this BookScala in Action is a comprehensive tutorial that introduces the language through clear explanations and numerous hands-on examples. It takes a "how to" approach, explaining language concepts as you explore familiar programming tasks. You'll tackle concurrent programming in Akka, learn to work with Scala and Spring, and learn how to build DSLs and other productivity tools. You'll learn both the language and how to use it.Experience with Java is helpful but not required. Ruby and Python programmers will also find this book accessible.What's InsideA Scala tutorialHow to use Java and Scala open source librariesHow to use SBTTest-driven developmentDebuggingUpdated for Scala 2.10Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the AuthorNilanjan Raychaudhuri is a skilled developer, speaker, and an avid polyglot programmer who works with Scala on production systems.Table of ContentsPART 1 SCALA: THE BASICSWhy Scala?Getting startedOOP in ScalaHaving fun with functional data structuresFunctional programmingPART 2 WORKING WITH SCALABuilding web applications in functional styleConnecting to a databaseBuilding scalable and extensible componentsConcurrency programming in ScalaBuilding confidence with testingPART 3 ADVANCED STEPSInteroperability between Scala and JavaScalable and distributed applications using Akka
Scala in Depth
by Josh SuerethSummaryScala in Depth is a unique new book designed to help you integrate Scala effectively into your development process. By presenting the emerging best practices and designs from the Scala community, it guides you through dozens of powerful techniques example by example.About the BookScala is a powerful JVM language that blends the functional and OO programming models. You'll have no trouble getting introductions to Scala in books or online, but it's hard to find great examples and insights from experienced practitioners. You'll find them in Scala in Depth.There's little heavy-handed theory here—just dozens of crisp, practical techniques for coding in Scala. Written for readers who know Java, Scala, or another OO language. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. What's InsideConcise, expressive, and readable code styleHow to integrate Scala into your existing Java projectsScala's 2.8.0 collections APIHow to use actors for concurrent programmingMastering the Scala type systemScala's OO features—type member inheritance, multiple inheritance, and compositionFunctional concepts and patterns—immutability, applicative functors, and monads==================================================Table of ContentsScala—a blended languageThe core rulesModicum of style—coding conventionsUtilizing object orientationUsing implicits to write expressive codeThe type systemUsing implicits and types togetherUsing the right collectionActorsIntegrating Scala with JavaPatterns in functional programming
Scala: From a Functional Programming Perspective
by Vicenç TorraThis book gives an introduction to the programming language Scala. It presents it from a functional programming perspective. The book explains with detail functional programming and recursivity, and includes chapters on lazy and eager evaluation, streams, higher-order functions (including map, fold, reduce, and aggregate), and algebraic data types. The book also describes the object-oriented aspects of Scala, as they are a fundamental part of the language. In addition, the book includes a chapter on parallelism in Scala, giving an overview of the actor model.
Scala: Guide for Data Science Professionals
by Patrick R. Nicolas Arun Manivannan Pascal BugnionScala will be a valuable tool to have on hand during your data science journey for everything from data cleaning to cutting-edge machine learning About This Book • Build data science and data engineering solutions with ease • An in-depth look at each stage of the data analysis process — from reading and collecting data to distributed analytics • Explore a broad variety of data processing, machine learning, and genetic algorithms through diagrams, mathematical formulations, and source code Who This Book Is For This learning path is perfect for those who are comfortable with Scala programming and now want to enter the field of data science. Some knowledge of statistics is expected. What You Will Learn • Transfer and filter tabular data to extract features for machine learning • Read, clean, transform, and write data to both SQL and NoSQL databases • Create Scala web applications that couple with JavaScript libraries such as D3 to create compelling interactive visualizations • Load data from HDFS and HIVE with ease • Run streaming and graph analytics in Spark for exploratory analysis • Bundle and scale up Spark jobs by deploying them into a variety of cluster managers • Build dynamic workflows for scientific computing • Leverage open source libraries to extract patterns from time series • Master probabilistic models for sequential data In Detail Scala is especially good for analyzing large sets of data as the scale of the task doesn't have any significant impact on performance. Scala's powerful functional libraries can interact with databases and build scalable frameworks — resulting in the creation of robust data pipelines. The first module introduces you to Scala libraries to ingest, store, manipulate, process, and visualize data. Using real world examples, you will learn how to design scalable architecture to process and model data — starting from simple concurrency constructs and progressing to actor systems and Apache Spark. After this, you will also learn how to build interactive visualizations with web frameworks. Once you have become familiar with all the tasks involved in data science, you will explore data analytics with Scala in the second module. You'll see how Scala can be used to make sense of data through easy to follow recipes. You will learn about Bokeh bindings for exploratory data analysis and quintessential machine learning with algorithms with Spark ML library. You'll get a sufficient understanding of Spark streaming, machine learning for streaming data, and Spark graphX. Armed with a firm understanding of data analysis, you will be ready to explore the most cutting-edge aspect of data science — machine learning. The final module teaches you the A to Z of machine learning with Scala. You'll explore Scala for dependency injections and implicits, which are used to write machine learning algorithms. You'll also explore machine learning topics such as clustering, dimentionality reduction, Naive Bayes, Regression models, SVMs, neural networks, and more. This learning path combines some of the best that Packt has to offer into one complete, curated package. It includes content from the following Packt products: • Scala for Data Science, Pascal Bugnion • Scala Data Analysis Cookbook, Arun Manivannan • Scala for Machine Learning, Patrick R. Nicolas Style and approach A complete package with all the information necessary to start building useful data engineering and data science solutions straight away. It contains a diverse set of recipes that cover the full spectrum of interesting data analysis tasks and will help you revolutionize your data analysis skills using Scala.
Scala:Applied Machine Learning
by Patrick R. Nicolas Pascal Bugnion Alex KozlovLeverage the power of Scala and master the art of building, improving, and validating scalable machine learning and AI applications using Scala's most advanced and finest features About This Book • Build functional, type-safe routines to interact with relational and NoSQL databases with the help of the tutorials and examples provided • Leverage your expertise in Scala programming to create and customize your own scalable machine learning algorithms • Experiment with different techniques; evaluate their benefits and limitations using real-world financial applications • Get to know the best practices to incorporate new Big Data machine learning in your data-driven enterprise and gain future scalability and maintainability Who This Book Is For This Learning Path is for engineers and scientists who are familiar with Scala and want to learn how to create, validate, and apply machine learning algorithms. It will also benefit software developers with a background in Scala programming who want to apply machine learning. What You Will Learn • Create Scala web applications that couple with JavaScript libraries such as D3 to create compelling interactive visualizations • Deploy scalable parallel applications using Apache Spark, loading data from HDFS or Hive • Solve big data problems with Scala parallel collections, Akka actors, and Apache Spark clusters • Apply key learning strategies to perform technical analysis of financial markets • Understand the principles of supervised and unsupervised learning in machine learning • Work with unstructured data and serialize it using Kryo, Protobuf, Avro, and AvroParquet • Construct reliable and robust data pipelines and manage data in a data-driven enterprise • Implement scalable model monitoring and alerts with Scala In Detail This Learning Path aims to put the entire world of machine learning with Scala in front of you. Scala for Data Science, the first module in this course, is a tutorial guide that provides tutorials on some of the most common Scala libraries for data science, allowing you to quickly get up to speed building data science and data engineering solutions. The second course, Scala for Machine Learning guides you through the process of building AI applications with diagrams, formal mathematical notation, source code snippets, and useful tips. A review of the Akka framework and Apache Spark clusters concludes the tutorial. The next module, Mastering Scala Machine Learning, is the final step in this course. It will take your knowledge to next level and help you use the knowledge to build advanced applications such as social media mining, intelligent news portals, and more. After a quick refresher on functional programming concepts using REPL, you will see some practical examples of setting up the development environment and tinkering with data. We will then explore working with Spark and MLlib using k-means and decision trees. By the end of this course, you will be a master at Scala machine learning and have enough expertise to be able to build complex machine learning projects using Scala. This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products: • Scala for Data Science, Pascal Bugnion • Scala for Machine Learning, Patrick Nicolas • Mastering Scala Machine Learning, Alex Kozlov Style and approach A tutorial with complete examples, this course will give you the tools to start building useful data engineering and data science solutions straightaway. This course provides practical examples from the field on how to correctly tackle data analysis problems, particularly for modern Big Data datasets.
Scalability Patterns: Best Practices for Designing High Volume Websites
by Chander DhallIn this book, the CEO of Cazton, Inc. and internationally-acclaimed speaker, Chander Dhall, demonstrates current website design scalability patterns and takes a pragmatic approach to explaining their pros and cons to show you how to select the appropriate pattern for your site. He then tests the patterns by deliberately forcing them to fail and exposing potential flaws before discussing how to design the optimal pattern to match your scale requirements. The author explains the use of polyglot programming and how to match the right patterns to your business needs. He also details several No-SQL patterns and explains the fundamentals of different paradigms of No-SQL by showing complementary strategies of using them along with relational databases to achieve the best results. He also teaches how to make the scalability pattern work with a real-world microservices pattern. With the proliferation of countless electronic devices and the ever growing number of Internet users, the scalability of websites has become an increasingly important challenge. Scalability, even though highly coveted, may not be so easy to achieve. Think that you can't attain responsiveness along with scalability? Chander Dhall will demonstrate that, in fact, they go hand in hand.What You'll LearnArchitect and develop applications so that they are easy to scale. Learn different scaling and partitioning options and the combinations. Learn techniques to speed up responsiveness. Deep dive into caching, column-family databases, document databases, search engines and RDBMS. Learn scalability and responsiveness concepts that are usually ignored.Effectively balance scalability, performance, responsiveness, and availability while minimizing downtime.Who This Book Is ForExecutives (CXOs), software architects , developers, and IT Pros
Scalable AI and Design Patterns: Design, Develop, and Deploy Scalable AI Solutions
by Abhishek MishraUnderstand and apply the design patterns outlined in this book to design, develop, and deploy scalable AI solutions that meet your organization's needs and drive innovation in the era of intelligent automation.This book begins with an overview of scalable AI systems and the importance of design patterns in creating robust intelligent solutions. It covers fundamental concepts and techniques for achieving scalability in AI systems, including data engineering practices and strategies. The book also addresses scalable algorithms, models, infrastructure, and architecture considerations. Additionally, it discusses deployment, productionization, real-time and streaming data, edge computing, governance, and ethics in scalable AI. Real-world case studies and best practices are presented, along with insights into future trends and emerging technologies.The book focuses on scalable AI and design patterns, providing an understanding of the challenges involved in developing AI systems that can handle large amounts of data, complex algorithms, and real-time processing. By exploring scalability, you will be empowered to design and implement AI solutions that can adapt to changing data requirements.What You Will LearnDevelop scalable AI systems that can handle large volumes of data, complex algorithms, and real-time processingKnow the significance of design patterns in creating robust intelligent solutionsUnderstand scalable algorithms and models to handle extensive data and computing requirements and build scalable AI systemsBe aware of the ethical implications of scalable AI systemsWho This Book Is ForAI practitioners, data scientists, and software engineers with intermediate-level AI knowledge and experience
Scalable Algorithms for Contact Problems (Advances in Mechanics and Mathematics #36)
by Tomáš Kozubek Zdeněk Dostál Marie Sadowská Vít VondrákThis book presents a comprehensive and self-contained treatment of the authors’ newly developed scalable algorithms for the solutions of multibody contact problems of linear elasticity. The brand new feature of these algorithms is theoretically supported numerical scalability and parallel scalability demonstrated on problems discretized by billions of degrees of freedom. The theory supports solving multibody frictionless contact problems, contact problems with possibly orthotropic Tresca’s friction, and transient contact problems. It covers BEM discretization, jumping coefficients, floating bodies, mortar non-penetration conditions, etc. The exposition is divided into four parts, the first of which reviews appropriate facets of linear algebra, optimization, and analysis. The most important algorithms and optimality results are presented in the third part of the volume. The presentation is complete, including continuous formulation, discretization, decomposition, optimality results, and numerical experiments. The final part includes extensions to contact shape optimization, plasticity, and HPC implementation. Graduate students and researchers in mechanical engineering, computational engineering, and applied mathematics, will find this book of great value and interest.