Getting Your Python for Data Science for Dummies Extras

The process of discovering how to use Python to perform data science tasks begins when you get your copy of Python for Data Science for Dummies. Luca and I spent a good deal of time making your data science learning experience easier and even fun. However, it only starts there. Like many of my other books, you can also find online content for Python for Data Science for Dummies in these forms:

I always want to hear your questions about my books. Be sure to write me about them at John@JohnMuellerBooks.com. In the meantime, I hope you enjoy your Python for Data Science for Dummies reading experience. Thank you for your continued support.


20 July 2015: Updated to show correct link for the companion files.

 

Contemplating the Issue of Bias in Data Science

When Luca and I wrote Python for Data Science for Dummies we tried to address a range of topics that aren’t well covered in other places. Imagine my surprise when I saw a perfect article to illustrate one of these topics in ComputerWorld this week, Maybe robots, A.I. and algorithms aren’t as smart as we think. With the use of AI and data science growing exponentially, you might think that computers can think. They can’t. Computers can emulate or simulate the thinking process, but they don’t actually think. A computer is a machine designed to perform math quite quickly. If we want thinking computers, then we need a different kind of a machine. It’s the reason I wrote the Computers with Common Sense? post not too long ago. The sort of computer that could potentially think is a neural network and I discuss them in the Considering the Future of Processing Power post. (Even Intel’s latest 18 core processor, which is designed for machine learning and analytics isn’t a neural network—it simply performs the tasks that processors do now more quickly.)

However, the situation is worse than you might think, which is the reason for mentioning the ComputerWorld article. A problem occurs when the computer scientists and data scientists working together to create algorithms that make it appear that computers can think forget that they really can’t do any such thing. Luca and I discuss the effects of bias in Chapter 18 of our book. The chapter might have seemed academic at one time—something of interest, but potentially not all that useful. Today that chapter has taken on added significance. Read the ComputerWorld article and you find that Flickr recently released a new image recognition technology. The effects of not considering the role of bias in interpreting data and in the use of algorithms has has horrible results. The Guardian goes into even more details, describing how the program has tagged black people as apes and animals. Obviously, no one wanted that particular result, but forgetting that computers can’t think has caused precisely that unwanted result.

AI is an older technology that isn’t well understood because we don’t really understand our own thinking processes. It isn’t possible to create a complete and useful model of something until you understand what it is that you’re modeling and we don’t truly understand intelligence. Therefore, it’s hardly surprising that AI has taken so long to complete even the smallest baby steps. Data science is a newer technology that seeks to help people see patterns in huge data sets—to understand the data better and to create knowledge where none existed before. Neither technology is truly designed for stand-alone purposes yet. While I find Siri an interesting experiment, it’s just that, an experiment.

The Flickr application tries to take the human out of the loop and you see the result. Technology is designed to help mankind achieve more by easing the mundane tasks performed to accomplish specific goals. When you take the person out of the loop, what you have is a computer that is only playing around at thinking from a mathematical perspective—nothing more. It’s my hope that the Flickr incident will finally cause people to start thinking about computers, algorithms, and data as the tools that they truly are—tools designed to help people excel in new ways. Let me know your thoughts about AI and data science at John@JohnMuellerBooks.com.

 

Computers with Common Sense?

The whole idea behind products, such as Siri, is to give computers a friendlier face. Much like the computer on the Enterprise in Star Trek, you converse with the machine and get intelligent answers back much of the time. The problem is that computers don’t currently have common sense. A computer really doesn’t understand anything anyone says to it. What you’re seeing is incredibly complex and clever programming. The understanding is in the math behind the programming. Computers truly are machines that perform math-related tasks with extreme speed and perfection.

It was with great interest that I recently read an article on the Guardian, Google a step closer to developing machines with human-like intelligence. The opening statement is misleading and meant to bedazzle the audience, but then the article gets into the actual process behind computers that could emulate common sense well enough that we’d anthropomorphize them even more than we do now. If the efforts of Professor Geoff Hinton and others are successful, computers could potentially pass the Turing Test in a big way. In short, it would become hard to tell a computer apart from a human. We very well could treat them as friends sometime in the future (some people are almost there now).

Articles often allude to scientific principles, but don’t really explain them. The principle at play in this case is the use of sentiment analysis based on words and word n-grams. You can build a sentiment analysis by using machine learning and multiclass predictors. Fortunately, you don’t have to drive yourself nuts trying to understand the basis for the code you find online. Luca and I wrote Python for Data Science for Dummies to make it easier to understand the science behind the magic that modern applications seemingly ply. Let me know your thoughts about the future of computers with common sense at John@JohnMuellerBooks.com.

 

No Assembly Required

A problem with many robots today is that they’re bulky. Transporting the robot can be a problem because it takes up a lot of space. Unfortunately, some scenarios require that the robot arrive at its destination fully assembled. For example, there isn’t anyone on Mars to put a robot that lands there together. I’ve been following a number of stories about robots that self-assemble or transform in some way, but the story Engineers Built an Origami Robot That Can Fold and Crawl Without Human Intervention provides a great overview of what’s happening with robotic science today.

The idea that a robot can fold itself up into a form that’s akin to a sheet of paper and then unfold itself into a useful shape is phenomenal. According to The Guardian, the robot could see use on the battlefield or in space. The accompanying video is pretty impressive. The feeling is one of an autonomous machine that can almost think its way through some basic problems. The robot need not actually start out flat though. A recent InfoWorld story tells of a robot that can transform between an I shape and a 3 shape. This robot is being used to explore the crippled Fukushima Dai-Ichi nuclear power plant and the shape changes are necessary for the robot to move freely. An update to the story on ComputerWorld, tells that the robot still has a ways to go before the shape shifting works without problem.

Of course, these machines are thinking in a way. A Wired article helps you understand the thinking that goes into the design of the origami robot. (The details of the transforming robot aren’t available at this time, but it does have a tether to allow outside interaction—something the origami robot doesn’t need.) Luca’s and my upcoming book, Python for Data Science for Dummies, can help you understand the science and programming behind the artificial intelligence in these robots to an even greater degree. The point is that the origami robot demonstrates that software and good engineering are working together to turn an inexpensive 2D technology into a viable robot that could perform a wide variety of tasks. The point of the Wired article is that the technology is both cheap and easy—it doesn’t rely on anything exotic to make it work. Meanwhile, the transforming robot shows that these devices can work in extremely hazardous conditions that humans could never tolerate.

The sexy view of robots in the movies is full fledged human looking devices or monster construction machines of the sort found in I, Robot. The fact of the matter is that we may very well produce robots of that sort (we’re building them at this moment to act as caregivers), but we’ll also produce a great many robots of other types, such as these origami and transforming robots. Think more along the lines of Blade Runner, which contains a wide variety of robot types. Consider how robots might be used in the real world to perform mundane tasks. For example, the Roomba looks nothing like a robot. It sort of looks like a really big hockey puck.

How do you think the introduction of robots into society will go? Will we continue to see a vast assortment of odd looking robots or will they begin to take on more human characteristics? The future looks truly amazing, but I’d like to hear your point of view today. Talk to me about robotics at John@JohnMuellerBooks.com.

 

Error in HTML5 Programming with JavaScript for Dummies

A reader recently wrote to tell me of an error on Page 118 of HTML5 Programming with JavaScript for Dummies. The problem appears in the source code for the SearchString.HTML example. As written, the code will currently work in most cases, except if you type This as the input value. The problem is this bit of code:

if (Result == 0)
{
   document.getElementById("Result").innerHTML =
   "You must provide an input value!";
}

The value of Result can equal 0 in a number of situations, but the problem is that one of those situations, typing This as the search term, is actually a correct input. In order to fix this problem, you must change the comparison condition to look at the text input, rather than the result of the search. The following code works as anticipated.

if (FindValue == "")
{
   document.getElementById("Result").innerHTML =
   "You must provide an input value!";
}

As always, I want to hear about any problems you experience using my books. Please contact me at John@JohnMuellerBooks.com if you encounter any other problems with this example or have questions about the change in comparisons.

 

MathWorks Promotes MATLAB for Dummies

I was incredibly pleased to receive an e-mail the other day stating that MathWorks, the makers of MATLAB, had placed a link for MATLAB for Dummies on their site. I’m always thrilled to receive that sort of recognition and I really appreciate the vendor doing it for me. MathWorks was especially helpful during the writing of the book and I thank everyone involved for their support.

Products such as MATLAB are becoming ever more important as people ask for consumer products with more and more capability, and also want smart devices with which to interact. Of course, MATLAB is used for all sorts of technical, scientific, and medical work. However, the place where most people are likely to see the effect of MATLAB is in the improved devices offered at the store, as part of appliances, and within vehicles.

I also see MATLAB as an important tool to help continue the fight to provide better accessibility aids. At some point in everyone’s life, accessibility aids become essential. If nothing else, getting older means having to use accessibility aids to continue being independent. The sooner we come up with truly effective accessibility aids, the better for everyone.

No matter how you use MATLAB, it’s a great tool for performing a wide range of tasks that require heavy duty math. Yes, you could possibly use it for simple math tasks too, but what would be the fun of that. Thanks again to the MathWorks folks for their support of my book. I really do appreciate it!

 

Getting Your MATLAB for Dummies Extras

The process of discovering how to use MATLAB begins when you get your copy of MATLAB for Dummies. However, it only starts there. Like many of my other books, you can also find online content for MATLAB for Dummies in these forms:

I always want to hear your questions about my books. Be sure to write me about them at John@JohnMuellerBooks.com. In the meantime, I hope you enjoy your MATLAB for Dummies reading experience. Thank you for your continued support.

Announcing MATLAB for Dummies

If you’ve ever wondered how to solve certain kinds of advanced mathematics, then MATLAB may fulfill the need for you. Schools are also using MATLAB as a teaching tool now because it provides so many visual aids. MATLAB for Dummies helps these two groups and many others. If you’ve wanted to use a product like MATLAB, but find the learning curve way too high, then you really do need this book. Here’s what you’ll find inside:

  • Part I: Getting Started With MATLAB
    • Chapter 1: Introducing MATLAB and its Many Uses
    • Chapter 2: Starting Your Copy of MATLAB
    • Chapter 3: Interacting with MATLAB
    • Chapter 4: Starting, Storing, and Saving MATLAB Files
  • Part II: Manipulating and Plotting Data in MATLAB
    • Chapter 5: Embracing Vectors, Matrices, and Higher Dimensions
    • Chapter 6: Understanding Plotting Basics
    • Chapter 7: Using Advanced Plotting Features
  • Part III: Streamlining MATLAB
    • Chapter 8: Automating Your Work
    • Chapter 9: Expanding MATLAB’s Power with Functions
    • Chapter 10: Adding Structure to Your Scripts
  • Part IV: Employing Advanced MATLAB Techniques
    • Chapter 11: Importing and Exporting Data
    • Chapter 12: Printing and Publishing Your Work
    • Chapter 13: Recovering from Mistakes
  • Part V: Specific MATLAB Applications
    • Chapter 14: Solving Equations and Finding Roots
    • Chapter 15: Performing Analysis
    • Chapter 16: Creating Super Plots
  • Part VI: Part of Tens
    • Chapter 17: Top Ten Uses of MATLAB
    • Chapter 18: Ten Ways to Make a Living Using MATLAB
  • Appendix A: MATLAB’s Functions
  • Appendix B: MATLAB’s Plotting Routines
  • Appendix C: Geometry, Pre-calculus, and Trigonometry Review

This book starts out simply and gently introduces you to the various tasks that MATLAB can perform. By the time you get done, you can perform many basic and a few complex tasks with MATLAB. The important part is that you’ll be in a position to use the tutorials and other learning aids that MathWorks provides to use with MATLAB. Making the learning process both simple and enjoyable is the main goal of this book. When dealing with a complex product such as MATLAB, you really do need the simpler introduction.

MATLAB is an amazing product. Once you start using it, you’ll wonder how you ever got along without it. Not only does it help you solve complex math problems, but you can also use it for a wide range of plotting needs (many of which are covered in the book). This book also acts as an idea generator to help you better use the capabilities of MATLAB. It’s amazing to discover just how many people use MATLAB and the ways in which they employ it.

I want to be sure you have the best possible learning experience. If you have any questions about this book, please feel free to contact me at John@JohnMuellerBooks.com. Please keep your questions book-specific. If you have questions about MATLAB as a product, please address those questions to MathWorks. I’ll be providing more posts about this book soon, so please come back to my blog to discover more about MATLAB for Dummies.

 

C++ All-in-One for Dummies 3rd Edition Extras

A number of you have pointed out that the extras for C++ All-In-One for Dummies, 3rd Edition on the Dummies site are a bit confused at the moment. Thank you, as always, for your input. I always appreciate getting your e-mails on any topic that affects the usability of my books. The publisher has assured me that the links will be cleaned up. Of course, eventually getting the links fixed won’t help you today. With this in mind, here is a list of the actual extras for this book—the elements that I’ll support and that provide support for the book:

To access a particular extra, just click its link in the list. Of the items you can download, the items that I most strongly suggest you download are the code examples. Downloading the code examples will save you considerable time, reduce potential errors, and make your experience with the book a lot better. If you want to type the examples in by hand, try them first using the downloaded code and then type them in. Using this two-step process makes it possible for you to easily see typos that you make as you work with the code on your own.

Remember that this edition of the book uses a newer IDE, Code::Blocks 13.12. Even though some examples will work with the older versions of Code::Blocks used in the second edition, other examples won’t. Upgrading your copy of Code::Blocks to version 13.12 ensures that you see the examples as they are meant to work. A few readers have asked about the requirements for using the extras and you really do need Code::Blocks 13.12 to use them correctly. You can also get by with a compiler that provides C++ 14 support, but you’ll need to modify the procedures to use that compiler, rather than Code::Blocks. I don’t provide support for other compilers because I don’t have them installed on my system.

Please let me know if you have any other questions about the extras for this book. It’s important to me that you get the maximum value from your purchase. Report any problems to me at John@JohnMuellerBooks.com. Of course, I always want to hear your book-related queries as well.

 

Getting Your Beginning Programming with Python for Dummies Extras

On Monday I announced my latest book, Beginning Programming with Python For Dummies. This truly is the book you must have if you need to learn Python quickly and you don’t have a lot of experience. If you have already received your copy of the book or you’re simply curious, you want to check out the extras that come with this book. You can find them on the Dummies site at http://www.dummies.com/extras/beginningprogrammingwithpython. So, just what sorts of things can you get? Here is a list of the online content:

  • Cheat sheet: You remember using crib notes in school to make a better mark on a test, don’t you? You do? Well, a cheat sheet is sort of like that. It provides you with some special notes about tasks that you can do with Python that not every other developer knows. You can find the cheat sheet for this book at http://www.dummies.com/cheatsheet/beginningprogrammingwithpython. It contains really neat information like the top ten mistakes developers make when working with Python and some of the Python syntax that gives most developers problems.
  • Dummies.com online articles: A lot of readers were skipping past the part pages in the book, so I decided to remedy that. You now have a really good reason to read the part pages, and that’s online content. Every parts page has an article associated with it that provides additional interesting information that wouldn’t fit in the book. You can find the articles for this book at http://www.dummies.com/extras/beginningprogrammingwithpython. Here is a quick overview of the articles you find on the extras site:

  • Updates: Sometimes changes happen. For example, I might not have seen an upcoming change when I looked into my crystal ball during the writing of this book. In the past, that simply meant the book would become outdated and less useful, but you can now find updates to the book at http://www.dummies.com/extras/beginningprogrammingwithpython.
  • Companion files: Hey! Who really wants to type all the code in the book? Most readers would prefer to spend their time actually working through coding examples, rather  than typing. Fortunately for you, the source code is available for download, so all you need to do is read the book to learn Python coding techniques. Each of the book examples even tells you precisely which example project to use. You can find these files at http://www.dummies.com/extras/beginningprogrammingwithpython.

As always, I highly recommend that you download the book’s source code. Doing so will save you considerable time and frustration. In fact, when you write to me at John@JohnMuellerBooks.com, the first thing I’ll ask is whether you downloaded the source code.

Of course, you’ll also continue seeing extra content for the book on my blog. Always check out the Beginning Programming with Python for Dummies category to see new posts for this book. You’ll find all sorts of useful information in this category including: book fixes, source code fixes, answers to reader queries, and general Python news.