Christopher Peters is a full-stack data scientist at Zapier. He was both Zapier and Treehouse's first data scientist. Prior to his work as a data scientist, he was a research associate at LSU’s Center for Energy Studies where he was an energy economist. He has a real passion for working with, sharing, visualizing and analyzing data of all kinds using statistical, visual and machine learning techniques.
Greedy Algorithm and Dynamic Programming
In an algorithm design there is no one 'silver bullet' that is a cure for all computation problems. Different problems require the use of different kinds of techniques. A good programmer uses all these techniques based on the type of problem. In this blog post, I am going to cover 2 fundamental algorithm design principles: greedy algorithms and dynamic programming.
Datacast Episode 4: AI in Retail with Saurabh Bhatnagar
Divide and Conquer Algorithms
Fascinating Top 16 Team Facts From The FIFA World Cup 2018
Heap Sort, Merge Sort, and Convex Hull
Datacast Episode 3: How to Be a Social Media Data Whiz with Leni Krsova
Leni Krsová is social media data analyst from the Czech Republic, currently based in Prague. At the beginning of her career, she worked for Czech TV, a public broadcaster in the country, as a social media editor but switched quickly from marketing to the path of a data analyst. Since then she is interested more and more in data analysis of social media and online news media data with R, data privacy and academic research in these fields. She is planning to start her Ph.D. studies in near future.
Datacast Episode 2: Becoming a Deep Learning Expert with Deep Narain Singh
Deep Narain Singh is Data Scientist with specialization in machine learning and deep learning. He has extensive work experience in building NLP/Computer Vision products using AI/ML/DL. He has spent 12 years in industry working with startups and large scale companies. He holds a Master’s degree in Data Science from the University Of New Haven/Galvanize and completed his undergraduate in Civil Engineering from NIT Jaipur.
Decision Trees: How to Optimize My Decision-Making Process?
The major advantage of using decision trees is that they are intuitively very easy to explain. They closely mirror human decision-making compared to other regression and classification approaches. They can be displayed graphically, and they can easily handle qualitative predictors without the need to create dummy variables.
The 5 Fundamental Running Times in Computer Science
As you see, you should make a habit of thinking about the time complexity of algorithms as you design them. Asymptotic analysis is a powerful tool, but use it wisely. Sometimes optimizing runtime may negatively impact readability or coding time. Whether you like it or not, an effective engineer knows how to strike the right balance between runtime, space, implementation time, maintainability, and readability.