
Collecting data is relatively easy, but turning raw information into something useful requires that you know how to extract precisely what you need. With this insightful book, intermediate to experienced programmers interested in data analysis will learn techniques for working with data in a business environment. You'll learn how to look at data to discover what it contains, how to capture those ideas in conceptual models, and then feed your understanding back into the organization through business plans, metrics dashboards, and other applications. Along the way, you'll experiment with concepts through hands-on workshops at the end of each chapter. Above all, you'll learn how to think about the results you want to achieve -- rather than rely on tools to think for you. Use graphics to describe data with one, two, or dozens of variables Develop conceptual models using back-of-the-envelope calculations, as well asscaling and probability arguments Mine data with computationally intensive methods such as simulation and clustering Make your conclusions understandable through reports, dashboards, and other metrics programs Understand financial calculations, including the time-value of money Use dimensionality reduction techniques or predictive analytics to conquer challenging data analysis situations Become familiar with different open source programming environments for data analysis "Finally, a concise reference for understanding how to conquer piles of data."--Austin King,…
This learnt me how to analyze "small" datasets which have helped me incredibly in my career. Technology wise is very out of date, but the concepts are still valid.
I think it's hard to get more with less investmtent. Really underrated book.
2. Expert Oracle Database Architecture
If you have to develop on Oracle (something I undestand it's not very popular in HN), you have to read it. It's a great book that delves into the why's and not only into the how's.
3. Software Estimation: Demystifying the Black Art.
Only the "cone of uncertainty" concept would make it a must-read. It provided me a framework for doing estimations and at same time, to worry less about them. It has helped me to divert lots of uncomfortable conversations about "when" towards a much more productive "what-and-why-is-needed".
Also, read lots of scientific papers. You'll learn all kinds of interesting stuff, but you'll also need to think about how you would implement their process if a scientist asked you for programming help. Nowadays many papers also come with access to their methods and/or a Github repository.
Because it's so common, you should learn some basic statistics in order to be able to better read things in context, even if you decide to use external tools or libraries to do statistics. I found 'Data Analysis with Open Source Tools' by Philipp Janert (O'Reilly) a great resource: it's language-agnostic, grounded in real-world practices, and assumes you want to solve problems using statistics (and other mathematical analysis tools) rather than treating the math as an end in itself. He includes much valuable context on how and why statistical concepts have evolved, and when you should stick with convention or experiment playfully. Most importantly, he enjoys math and does a good job of communicating his enthusiasm to the reader.
For learning, I'd recommend taking something like Janert's "Data Analysis with Open Source Tools" and go through chapter-by-chapter trying to figure out how to implement the various analyses in Python. That book in particular uses a different technology every chapter for its tutorial exercises, so ignore those. But the exposition of the concepts is fantastic.
These are three very good O'Reilly books that all use Python:
- Programming Collective Intelligence: A broad and shallow survey of automated machine learning techniques.
- Data Analysis with Open Source Tools: Also a survey. More focused on manual data exploration.
- Python for Data Analysis: A pandas tutorial (and more). Very helpful to learn the ML tools in the python ecosystem.
Fitting all that into two months sounds challenging.
Khan Academy + "Head First Statistics"
-No matter what direction you want to go with your learning and before you start getting into street fights over Bayesian vs Frequentists philosophies, "stats 101" is the common base of 'statistics' for: Physicists, Engineers, Sociologists, Doctors, Economists, Journalists and more. Yes there are many "truths" in 'stats 101' that can be questioned, but this is the common language you'll want talking to any of these people.
"What is a p-value anyway?"
-A very quick, non-math heavy read on avoiding magical thinking in classical statistics.
"Data Analysis with Open Source Tools"
-I really love this book because it steps way out of "stats 101" land and gives a lot of really great real world advice and touches on many mathematical tools that can help you understand data. The chapter "What you really need to know about classical statistics" gives a refreshing overview of all the basic stats you've covered and explains many things that seem strange. Also the bibliography/recommended reading list from this book is fantastic.
The biggest thing I've noticed as I've learned more is that statistics is a gigantic field, and can mean extremely different things depending on what field you're in. Obviously learn the advanced statistics relevant to your interests, but when you get a chance listen to how other people think about stats, and keep learning.