Book Image

Hands-On Data Science with Anaconda

By : Yuxing Yan, James Yan
Book Image

Hands-On Data Science with Anaconda

By: Yuxing Yan, James Yan

Overview of this book

Anaconda is an open source platform that brings together the best tools for data science professionals with more than 100 popular packages supporting Python, Scala, and R languages. Hands-On Data Science with Anaconda gets you started with Anaconda and demonstrates how you can use it to perform data science operations in the real world. The book begins with setting up the environment for Anaconda platform in order to make it accessible for tools and frameworks such as Jupyter, pandas, matplotlib, Python, R, Julia, and more. You’ll walk through package manager Conda, through which you can automatically manage all packages including cross-language dependencies, and work across Linux, macOS, and Windows. You’ll explore all the essentials of data science and linear algebra to perform data science tasks using packages such as SciPy, contrastive, scikit-learn, Rattle, and Rmixmod. Once you’re accustomed to all this, you’ll start with operations in data science such as cleaning, sorting, and data classification. You’ll move on to learning how to perform tasks such as clustering, regression, prediction, and building machine learning models and optimizing them. In addition to this, you’ll learn how to visualize data using the packages available for Julia, Python, and R.
Table of Contents (15 chapters)

General issues for optimization problems

There are several issues in optimization. The most important one is how to choose an appropriate objective function. For some cases, the objective function is obvious. Unfortunately, for other cases, it is not that crystal clear. Since choosing a good objective depends on the specific situation, we will discuss it further, but remember that an appropriate objective function might make our task much easier.

In many cases, an inappropriate objective function might cause the following problems:

  • It is difficult to find a feasible solution
  • We might end up with a local solution
  • We might have a corner solution
  • It takes a long time to converge (that is, too much computation time to find a good solution)

Let's look at a convex function; the code and corresponding graph are given here:

x<-seq(-10,10,0.1) 
a<-4 
b<- -2 
c<-10 
y...