Chuck Utterback: Diving Deeper Into Data

Chuck Utterback, a June 2021 Data Science graduate from Flatiron School, came to his program with decades of professional experience. 

He shares why he chose to attend Flatiron School to upskill in data analytics below. 

Background in Business

Chuck Utterback began his 30-year career with an MBA in finance. While he initially followed the traditional path by working as a Financial Analyst, he soon transitioned toward data. 

“I derive intense satisfaction in developing business insights through data engineering and analytics. Today’s technology, such as cloud computing, advanced data visualization tools, and analytics programming languages, enable iterative and rapid time to insight.”

In the subsequent years, he held a string of data-focused leadership roles in prominent companies and founded his own analytic consulting company.

“Within years of starting my career, I migrated into cross-functional business analytics. [But] to answer complex business questions, I found the data sources insufficient,” he said. “To remedy this, I began building data warehouses, leading to 15 years of consulting projects in data warehousing, data visualization, and process improvement.” 

Bootcamp Experience

After 15 years, however, technology had changed. To keep up with evolving capabilities, Chuck determined it was time to go back to school and update his skillset. 

“I decided to pause client work and invest in developing more profound data science and machine learning skills,” he said. “I aimed to bring more robust statistics and machine learning techniques into my existing analytics practice. ” 

Choosing Flatiron School, Chuck said, was the result of an analysis combining several factors and features of its programs.

“Flatiron [School] had the best combination of course materials, commitment length, and remote flexibility. I chose the full-time data science bootcamp and focused all my energy there for six months.” 

Even before the program began, Chuck’s skillset quickly began to expand. 

“The onboarding assignment was to use Python to code gradient descent calculus equations,” he explained. “The project stretched me from the start but was foundational to getting comfortable with Python functions.” 

The coursework, he said, had relevancy to his practice throughout the program.

“I liked learning classification models due to their relevance to solving business problems like customer segmentation/churn and predicting various outcomes across any business process.” 

Working With Data

Unlike most Flatiron School students, after graduating in June 2021, Chuck returned to where he began – using data to reduce his customer’s friction, find revenue opportunities, and expose process inefficiencies. The transition back into using data to meet clients’ needs – as opposed to creating projects for a grade – has been a fluid one. 

“I love [what I do]. I target to keep at least 80% of my time heads-down (versus meetings), solving problems using data.” 

As for his new skills, he’s already putting them into practice. 

“I use Python to extract customer data from Salesforce into Google Big Query and automate data quality applications and customer insights. Overcoming poor data quality is a considerable impediment to advanced techniques.”

Reflecting On His Journey

Looking back on his time at Flatiron School, Chuck’s main takeaway is to always bet on oneself, and never stop learning.

“Embracing continuous learning by investing in myself – upskilling within analytics through Flatiron – drives a positive return on investment.” 

His advice for other data science students is to remember that Flatiron School is just one piece of the puzzle, it’s critical to prioritize being a well-rounded applicant. 

“Formalize daily habits in data science coding and reading that go beyond the Flatiron curriculum so you can sustain momentum after graduating.”

Connect with Chuck on Medium or LinkedIn

Ready To Dig Deeper Into Data, Just Like Chuck Utterback?

Apply Now to join other students like Chuck Utterback in a program that sets you apart from the competition. 

Not ready to apply? Try out our Free Data Science Prep Work and test-run the material we teach in the course. Or, review the Data Science Course Syllabus that will set you up for success and help launch your new career.

Read more stories about successful career changes on the Flatiron School blog.

Data Science vs. Software Engineering: Industry Trends and Future Predictions

The road to the future isn’t paved with asphalt—it’s a path defined by ones and zeros. For centuries, infrastructure was in the hands of physical labor engineers. Today, it’s the masters of data science and software engineers who will move today’s societies into the next stage of technological advances.

In this piece, we’ll examine industry trends in data science vs. software engineering, forecast the direction of both fields, and consider how they’ll impact each other in the future.

Industry Trends in Data Science

Hiring Growth

The industry is actively seeking data scientists. Estimates show data science employment is expected to grow by a staggering 36% from 2021 to 2031. The future is in the hands of skilled data analysts, data engineers, and data architects who can use data analysis to extract valuable, actionable insights.

Gathering Big Data

Projections suggest more than 150 billion devices will be generating 175 zettabytes of data by 2025. Much data will be generated and analyzed in real-time, providing almost-instant feedback for improved results (think content recommendation systems).

These mountains of captured data will drive company decisions, strategies, and future projections. People who can design complex new analytical models and then train machine learning systems on those models will be invaluable.

Analyzing TinyML and Small Data for Data-Driven Devices

The Internet of Things (IoT) has ramped up the need for data scientists who work with TinyML and small data. IoT devices are being developed for nearly every industry, calling for experts to gather and implement that data.

Smart homes. Smart transit. Entire smart cities. All of these call for small, low-powered devices that compute their ML and datasets. These TinyML devices require the expertise of data scientists to collect and analyze billions of data points. They’re then stored in the cloud, streaming new command instructions for these smart devices to act upon in real time.

This is where data science meets the true cutting edge of the future of data-driven devices.

Using AutoML

Analyzing monumental amounts of data collected from databases, platforms, and devices calls for integrating metrics using Automatic Machine Learning (AutoML). 

Data scientists will rely on automated tasks to gather accurate data streams. Likewise, industries will need their expertise to define what tasks are suitable for ML and to train ML on their information models to improve accuracy.

Industry Trends in Software Engineering

High Growth

Like data science, software engineering will likely see extremely fast growth. The industry is expected to grow 25% from 2021 to 2031.

For over a decade, businesses have relied more heavily on digital solutions to traditional scaling challenges. From digital platforms to app development in emerging fields like AI and ML, software engineers are in high demand to build the future.

Utilization of Agile Methodology and DevOps

Software development teams have significantly benefited from advances in Agile Methodology and DevOps programming and share centralized datasets while developing quickly and efficiently. 

Teams consistently share daily progress in small sections of completed applications, later joined to build a final product. Redundant processes like testing for errors and security issues are automated.

Agile and DevOps will trend upwards together as both continue to benefit from increased usage and advances in AI and ML.

Cloud-Based Platform Development

The reliance on cloud computing will increase. Centralized data repositories shared by development teams, massive amounts of storage, and an added layer of security will help businesses scale at cost.

AI and ML Automation

While the AI and ML fields are currently experiencing an explosion of public interest, they’ve been trending for many years. From every sector, automating processes reliably while using ML to train systems for specific tasks to increase accuracy is critical. The roles of AI and ML in Agile and DevOps are expected to continue driving innovations in development.

Advances in Cybersecurity

Cyber threats are rising exponentially. In 2022, there was an average of 1,168 weekly cyberattacks—a 38% rise compared to 2021. Paired with a proportionate increase in complexity and sophistication, companies both large and small are seeking news ways to secure their systems against the onslaught. 

There will continuously high demand for Software Engineering skills in Cybersecurity to keep systems and information secure.

Mobile App Development

The more we rely on smartphones for our daily needs, the greater the need for mobile-friendly app development and support systems. Whether it’s for companies needing to develop AI-based customer support, for apps using gamification to help people in personal development, or even for GPS-based beacon technology, there’s never been a greater need for mobile-first software development.

The Intersection of Data Science vs. Software Engineering: How the Two Fields Will Impact Each Other

It’s easy to think of these two fields as separate entities – as data science vs. software engineering. But, as multiple revolutionary technologies grow exponentially, we’ll see the intersection of technology fueled by advances in both fields—data science and software engineering. 

Increasingly sophisticated software tools will integrate cutting-edge AI and ML, requiring new skill sets from data scientists and software engineers alike. 

Software engineers will draw from massive repositories to streamline and optimize code development. 

Data privacy and the ethics surrounding intellectual property will call on advanced data analytics. At the same time, combining 5G, IoT, and advances in AR and VR will transform every industry.

Data scientists and software engineers will play fundamental roles in shaping the future of banks, hospitals, customer service, and ethical data mining. At the same time, new fields will be emerging, creating demand for roles that don’t exist yet.

Advances in AI and ML

With new applications developed every day that tap into the power of neural networks and large language models, the world will need analysts and other data experts. Data analysts will formulate how to use millions of new data points. Meanwhile, software engineers will experience increased demand to help companies accelerate data use to gain an edge over competitors.

Programs designed to help the user automate tasks will require the expertise of data scientists and programmers to integrate AI and ML upgrades to features. Companies based on a digital platform model will need constant new integrations for greater datasets from users and features to help the user make smarter, faster purchases using advanced predictive models.

Advances in IoT

IoT is going to change the way we look at the world. Every device, appliance, and gadget will operate on analytics designed by today’s data scientists, with code optimized for even the simplest systems. At scale, everything from traffic patterns on our roads to railways and airport runways will require complex models that other machines will read and interpret. 

Cities will rely on well-crafted information systems and dynamic analytics to manage electricity use, waste management, hospital equipment, and other systems. The potential use cases are virtually endless.

Advances in AR and VR

Along with powerful CPUs and other advances, we’ll probably see accelerated movement into practical applications for AR and VR. They’ll factor into production tools, virtual work environments, live events, and virtual game environments — supporting and enhancing experiences in reality. This technology means coding opportunities galore, but it also means opportunities to collect unique new user data.

Advances in 5G

5G does for internet bandwidth what AI is doing for intelligent computing. This technology will open doors for front end developers to design radically upgraded visuals for desktop and mobile.

New predictive models will transform the market in ways we have yet to imagine. Improvement in computing data means collecting real-time information on users and their connections to one another.

Join the Technology Revolution in Data Science and Software Engineering

If you’re considering a future in data science or software engineering, get a taste of what Flatiron School offers: download a syllabus and try your hand at our free lessons.

Or, you may be looking to hire the best talent. If so, learn how we help businesses with our hire-to-retire dream team recruitment services and multiple technology training solutions.

Artificial Intelligence vs. Data Science

Navigating the fast-changing currents of the tech sector can challenge even the strongest sailor. The winds change, the ocean swells, and suddenly a ship that seemed completely seaworthy is wrecked on the rocks of irrelevance. New technologies emerge from the storm every day, promising grand sights just over the horizon. Nowhere is this more true than with the two racing yachts of applied data: data science and artificial intelligence (AI).

What is Artificial Intelligence?

Before going any further, I’d like to make clear that for the purposes of this article, “AI” refers to the generative models that have captured the public imagination over the last two years – applications like OpenAI’s ChatGPT and DALL-E. The applications described as “AI” in the news are algorithms trained for specific tasks on specific datasets. If an algorithm has been trained to play chess, it will play chess exactly as well as it has been trained to.  It will not be able to carry on a human-sounding conversation about chess, or even explain why it makes its moves. That said, if you haven’t played around with ChatGPT or DALL-E or any of these generative models, you should. They’re really a blast!

These two apparent competitors have traded off the lead several times, at least in the imaginations of the tech press and blogosphere. Five years ago, “data scientist” was still the sexiest career of the 21st century. Now, the headline writers seem to think that data science will be rendered obsolete by the advent of AI. Someone who hadn’t been paying any attention at all might even think at this point that “data science” and “AI” are interchangeable. The reality, though, is that AI is really just an application of data science – a set of tools and methods for making data useful.

The Modern Flood Of Data

The world is drowning in data. Estimates put daily data generation globally at 328.77 quintillion bytes. (A quintillion is a 1 followed by 18 zeros!) That’s approximately 328 million maxed-out iPhone 13s – enough for just about every human in the United States. It is practically beyond conception. That volume represents everything: every video, picture, email, and spreadsheet. Every like, favorite, and follow is recorded and stored, but so is every action taken by an Internet of Things (IoT) device like your doorbell video camera, or your fitness tracker.

Data sitting in a data warehouse doesn’t do anyone any good, though. Someone has to make sense of it and make it useful. That is what data science does. Using code, statistics, and machine learning, data science is the field concerned with extracting knowledge and insight from the floods of data running around the world. 

What Does A Data Scientist Do?

We can think of the data scientist as a detective. Clad in a deerstalker cap and Inverness cape or, more likely, a hoodie and noise-canceling headphones, they meticulously sift through the mountains of data looking for gems of insight and understanding. The data scientist uses their analytical skills and abilities, and old-fashioned human curiosity and intuition, augmented by machine learning algorithms and statistical analysis, to pose interesting questions of data. They develop inferential models that can help companies better understand and serve their customers. And they build predictive models that ensure customers find what they are looking for before they know they’re looking for it!

In broad strokes, a data scientist’s job is to make sense of data, to make it useful in some context. And while data science is a tremendous amount of fun to do on its own, data scientists earn our salaries by being useful to businesses or other enterprises. 

Data Science In Action

Let’s take a look at a hypothetical project involving online shopping and customer service. This example will take us through a data science workflow, even up to the construction of a generative model that could help a retailer improve its customer experience. (It should go without saying that not every data scientist can do everything described in this example. This is a rather fanciful scenario to illustrate the vast breadth of work that falls under the heading of data science.)

Imagine a large online retailer called Congo. As a retail platform, Congo wants to make sure that customers make as many purchases as possible on their platform, in part by providing a positive customer experience. 

Asking A Question

A data scientist, charged with improving customer service, begins their work with a question. The question could be simple, like “What do people contact customer support the most often for?” It could be more complex like “How can we improve customer satisfaction while reducing the amount of time a representative spends on a ticket?” The important thing is to have a clear question that, in theory, can be answered with data.

Collecting Data

Along with selling products to customers, Congo collects information about what people are doing on its website, every interaction from the first log-in to the final purchase is tracked and recorded. This goes for interactions with customer support as well as regular interactions. The data scientist can have access to all of this information, but will usually perform their first forays into answering their question on a portion of the data, a dataset. This dataset is collected from whatever database, data warehouse, or data lake Congo uses, and refined using SQL or some other query language.

Initial Analysis

Once they have data in hand, the data scientist can begin analyzing it for patterns. The specifics of how they do this depend on their tech stack, but also on the question they are asking. The two main stacks (‘stack’ is tech-speak for a person’s or organization’s preferred collection of programming tools and frameworks) for data science at the moment build on the R and Python programming languages. Other languages, like Rust and Julia, are growing in popularity, but have not yet gained major holds in the field. 

The initial stages of answering a question tend to look the same. A data scientist needs to get a handle on what is actually in their dataset, and they almost invariably start with descriptive analysis and data visualization. Descriptive analysis is built on the basic calculations of things like mean, median, and mode, as well as variance and standard deviation. Unfortunately, numbers alone don’t tell a complete story, so the data scientist will also likely produce a number of visualizations: scatter plots, histograms, and heatmaps for correlation coefficients. 

Natural Language Processing

Since the questions our data scientist is attempting to answer involve things like problems submitted to customer support, they have to use an area of data science called natural language processing (NLP) in order to get the data into a format that can be analyzed. Computers, for now, do not really know what to do with natural language. If you were to give a regular scripting language, or even Excel, a plain sentence like “The quick brown fox jumps over the lazy dog” and asked it to sum the words, you would get an error. NLP lets data scientists get around this problem, among other things, by creating computer-friendly representations of the words, called tokens.

If the question is a simple one, like “What is the most common complaint on a Tuesday?” or “How long does the average ticket take to get closed?” the data scientist’s work is likely to end with this initial analysis. (In point of fact, a question this simple is more likely to go to a business analyst or data analyst than to a data scientist, but a good data scientist has to be familiar with every stage of the process.) 

Remember that the data scientist’s ultimate goal in this scenario is to improve Congo’s customer service with basic analysis. A more complicated question, like, “How can we improve time-to-close on our customer support tickets?” requires more advanced tools and techniques than simple means and standard deviations. When looking for answers to a question like this, the data scientist is likely to turn to machine learning.

Using Machine Learning To Answer Complex Questions

Machine learning (ML) is a set of algorithms and processes that enable computers to ‘learn’ by recognizing patterns in data and using those patterns to identify new examples of that pattern. Keeping with our customer service example: if we showed a computer thousands of complaints (the data) and told it how to look at those complaints (the algorithm), it would pick out all the things that are similar among those complaints and use those similarities to identify complaints in new customer service requests. This particular example of machine learning is called “classification,” which is sorting things into groups based on common attributes. Depending on how it is implemented, it could also involve an NLP task called “sentiment analysis,” which evaluates the emotional content of text.

Depending on how far our data scientist wanted to go, an ML-based filter identifying customer service tickets that are simply complaints could be sufficient for the task. With the filter in place, the customer service team could create a protocol for dealing with messages flagged as ‘complaint’ and improve their clearance time that way. 

But let’s say that our data scientist is not satisfied with good enough. With their new ML-enabled filter, the data scientist could process every customer support ticket Congo has ever received, effectively creating a new dataset of complaints. They could build a new algorithm on the complaints data to identify which complaints were resolved successfully, based on customer feedback for the interaction, and use the results of that analysis to inform a response protocol for customer service representatives to use.

The Role Of AI Assistants

Having done quite a lot of analysis at this point of what is and is not a successful customer complaint interaction, it may even make sense for the data scientist to create an AI assistant just for handling complaints. Something like ChatGPT (GPT stands for ‘Generative Pre-Trained Transformer’) requires a mind-boggling volume of data to train effectively. A recent estimate of its training data put it at around 600GB. For comparison, the whole of all the English language text on Wikipedia is about 25GB. But with sufficient data, and a good model selected, a data scientist could build a proof-of-concept assistant without too much difficulty. Of course, scaling it to support an entire customer service team would require the services of data engineers, software developers, and a host of other technical specialties. It may even turn out to be too expensive in terms of a straight cost-benefit analysis to implement, but it is absolutely within the realm of possibilities.

The Future Of Artificial Intelligence vs. Data Science

Data science and AI exist in an elegant symbiosis. AI requires enormous amounts of data to produce its wondrous creations. It uses algorithms to learn the patterns contained in trillions of words written by actual humans. All of that data requires processing, selection, and analysis by data scientists, who also have to observe the AI’s behavior and monitor it for flaws. Data scientists, furthermore, develop the algorithms and models that help drive improvements to AI. Although it might seem like the advent of generative models has rendered the data scientist obsolete, or at least endangered, the reality is that a good data scientist will learn how to use the strengths of the generative models to help with their own work.

About Charlie Rice

Charlie Rice is a Data Science Instructor with the Flatiron School. A former journalist, he got interested in data science when an editor showed him a news story written by a computer. Since making the switch eight years ago, he’s been involved in blockchain research, FinTech development, and helping to develop the forthcoming CompTIA Data Science certification.

What is Artificial Intelligence?

Artificial Intelligence is seemingly everywhere these days. Recent innovations have peppered the technology throughout our lives, with applications in just about every industry and field. But, if you’ve found yourself wondering what exactly this new technology is, you’ve come to the right place. In this post, we’ll cover what AI is, where it comes from, and how it’s used. 

What is Artificial Intelligence?

Artificial Intelligence (AI) is the field of computer science that focuses on creating intelligent machines capable of performing tasks that typically require human intelligence. It involves developing algorithms and systems that can analyze vast amounts of data, recognize patterns, learn from experience, and make informed decisions or predictions.

There are several different terms often used to refer to AI, as the technology encompasses a wide range of technologies and techniques. Commonly used terms include machine learning, natural language processing, computer vision, and robotics. 

Machine learning, a subset of AI, enables machines to learn and improve from experience without being explicitly programmed.

Natural language processing allows machines to understand, interpret, and respond to human language. This is the foundation of applications like voice assistants and language translation.

Computer vision empowers machines to analyze and interpret visual data, facilitating tasks like object recognition and image classification.

Robotics combines AI with mechanical engineering, enabling the development of intelligent machines that can interact with the physical world.

Who invented Artificial Intelligence?

Alan Turing

Alan Turing was a pioneering figure in the field of computer science. He made several significant contributions that influenced the development of artificial intelligence (AI). Turing’s ideas and concepts laid the groundwork for AI research and continue to shape the field to this day. As a result, he is often considered its inventor.  

One of Turing’s most influential contributions was his proposal of the “Turing test” in 1950. The Turing test is a measure of a machine’s ability to exhibit intelligent behavior indistinguishable from that of a human. According to the test, if a machine can engage in natural language conversations and convince a human evaluator that it is human, then it can be considered artificially intelligent. 

The Turing test became a benchmark for AI researchers, encouraging the development of conversational agents and natural language processing capabilities.

Dartmouth College

AI also has its roots in the Dartmouth Conference held in 1956. It was at the conference when researchers first coined the term “artificial intelligence” and laid the foundation for the field.

Since its inception, AI has undergone significant evolutions, driven by advancements in computing power, data availability, and algorithmic improvements.

Late 20th Century AI

Late 20th century AI experienced an “AI winter” from the late 1970s to early 1990s. It was a period characterized by decreased interest and progress in AI. High expectations, limited computing power, and challenges in solving complex problems contributed to the decline. 

The AI winter ended due to advances in computing power, and practical applications demonstrating value, big data availability, improved algorithms, successful commercial products, and interdisciplinary collaborations. These factors renewed interest, leading to the resurgence of AI research and applications in the late 1990s and early 2000s.

Early 21st Century AI

The early 21st-century AI resurgence was driven by the availability of Big Data, which enabled improved algorithms, pattern recognition, real-world applications, and iterative improvement of AI models.

  • Data Availability The emergence of Big Data provided AI researchers with access to vast and diverse datasets for training and validation.
  • Enhanced Algorithms: AI algorithms, particularly in machine learning, are improved by leveraging large datasets, leading to better performance and accuracy.
  • Pattern Recognition: Big Data allowed for the identification of complex patterns and correlations that were previously difficult to uncover.
  • Real-World Applications: Industries leveraged Big Data and AI to gain insights, make better decisions, and improve operational efficiency.
  • Iterative Improvement: The feedback loop created by Big Data enabled iterative improvement of AI models through continuous learning from real-world data.

What Does AI Do?

The purpose of AI is to automate tasks, enhance decision-making, improve efficiency and productivity, enable personalization, augment human capabilities, and drive innovation and research.

Automate Tasks

AI automates routine and repetitive tasks, freeing up human resources and allowing them to focus on more complex and creative endeavors.

Enhance Decision-Making

AI helps in making informed and data-driven decisions by analyzing large volumes of information, identifying patterns, and providing valuable insights to support decision-making processes.

Improve Efficiency and Productivity

AI technologies optimize processes, streamline operations, and increase efficiency, leading to improved productivity across various industries and sectors.

Enable Personalization

AI enables personalized experiences by analyzing user preferences, behavior, and data, allowing businesses to tailor products, services, and recommendations to individual needs and preferences.

Augment Human Capabilities

AI complements human abilities by enhancing their cognitive and physical capabilities, enabling humans to perform tasks faster, with higher accuracy, and with reduced effort.

Advance Innovation and Research

AI fuels innovation by enabling breakthroughs in various fields, driving advancements in healthcare, science, engineering, and other disciplines, leading to new discoveries and solutions.

Different Types of Artificial Intelligence

AI systems are categorized based on how generalizable or specific they are (Narrow vs General) or by the way they make decisions (rule-based versus machine learning).

Narrow AI versus General AI

There are different types of AI, ranging from narrow or weak AI to general or strong AI.

Narrow/Weak AI refers to systems designed to perform specific tasks, such as facial recognition or voice assistants, and operates within predefined boundaries.

General/Strong AI aims to replicate human-level intelligence, possessing the ability to understand, learn, and apply knowledge across various domains.

While narrow AI is prevalent today, achieving general AI remains an ongoing challenge, and its development raises ethical and societal considerations.

Rule-Based versus Machine Learning

Rule-based AI, also known as expert systems, relies on predefined rules created by human experts to make decisions or solve problems. These rules are encoded into the AI system, and the system matches input data against these rules to determine the appropriate output or action.

Benefits:

  • Suited for well-defined domains with known and explicitly defined rules

Limitations:

  • It may struggle with handling ambiguity or learning from new data
  • Requires human expertise to create and maintain the rules

Machine Learning AI, in contrast, learns from data without explicit rules, using algorithms that analyze patterns and create mathematical models.

Benefits:

  • Adapts internal parameters to optimize performance and makes predictions or decisions based on new, unseen data
  • Excels in complex domains with large amounts of data, discovering intricate patterns and generalizing from examples
  • Adapts and improves performance over time as new data becomes available
  • Relies on training data and algorithms to learn autonomously

Limitations:

  • Need for large amounts of data
  • Overfitting/an inability to generalize
  • Potential to duplicate biases present in data

Both approaches have their strengths and limitations, and the choice between them depends on the specific problem domain and the availability of labeled data and expert knowledge.

Oftentimes, both approaches are used at different stages in the life cycle of an AI project.

AI Uses In Industry

Self-Driving Cars (Tesla)

Tesla’s self-driving cars utilize a combination of AI techniques, including machine learning and expert systems.

Machine learning algorithms analyze vast amounts of data from cameras, radar, and other sensors to recognize and interpret the surrounding environment. Expert systems encode rules and decision-making processes, allowing the car to make real-time decisions based on input from sensors and the learned models.

Large Language Models (Chat GPT)

Large language models, like those Chat GPT, primarily rely on unsupervised machine learning techniques, particularly large language models. Engineers train these systems on large datasets of text, enabling them to learn patterns, language structures, and context.

By leveraging deep learning algorithms, the models generate coherent and contextually relevant prompts or responses based on the input they receive.

Editing and Proofreading (Grammarly)

Grammarly uses a combination of expert systems and machine learning approaches to provide editing and proofreading suggestions. Expert systems encode grammar rules, style guidelines, and best practices.

Machine learning algorithms analyze text patterns and linguistic features to detect errors, suggest corrections, and provide contextual recommendations.

Learn To Wield The Power Of AI

While Artificial Intelligence is currently exploding in popularity, it is still considered to be a new field. The rules are still being written, and the first to move often takes an advantage over those late to adapt. At Flatiron School, we’re teaching the skills to help you adapt to the AI revolution.

For enterprise clients, we’ve released entirely new AI training programs. If your organization wants to use AI to work smarter, move faster, and be prepared to innovate with the latest technology, Flatiron School’s suite of AI training programs is just what you’re looking for. Explore our AI training programs today. 

For students, each of our programs has been enhanced with AI. We teach our students how to use the power of AI to accelerate their output and results in Software Engineering, Data Science, Cybersecurity, and Product Design and be ready to adapt to the next innovation coming down the pipe. 

About Christine Egan

Christine is a Python Developer and Natural Language Processing Engineer, as well as a Senior Data Science Curriculum Developer at Flatiron School. She holds a Bachelor of Arts in Linguistics and Philosophy from Stony Brook University and is also an alum of the Flatiron School Data Science Bootcamp. Before joining Flatiron School’s curriculum team, Christine worked as a consultant for various federal agencies. When not working on Python code, you might find her writing data science articles for Medium, or playing Stardew Valley. 

Ace Interview Prep With AI

This article on interview prep with AI is part of the Content Collective series, featuring tips and expertise from Flatiron School Coaches. Every Flatiron School graduate receives up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School.

My grandfather was known to say to his kids and grandkids when they received an invitation to interview for a job, “You get the interview. You get the job!” It was his enthusiastic way of communicating his confidence in our abilities. His belief, in part, meant that the hard work put into acquiring the interview (studying, relationship-building, practicing or honing our skills) would also serve us well performing in the interview itself. 

There’s no question that the job market has evolved quite a bit since my grandfather’s day. With the introduction of AI assistant tools like ChatGPT, preparing for interviews has become more efficient than ever. If used creatively alongside thoughtful and responsible editing and practice, the following approach can turbo-charge your confidence.

How To Use AI Assistant Tools For Interview Prep

If you’ve been on an interview for a job or been on a first date, you may recall how much preparation can go into such an event. From selecting the right outfit to finding the words to express why you’re interested without coming across as desperate, it can be a lot to think about. 

One of the most nerve-wracking parts is preparing to answer an interviewer’s questions that you can’t see ahead of time while weaving in your prior experience and how it will bring value to the organization.  

When it comes to interviewing for a job, AI assistant tools like ChatGPT can alleviate this prep work with key entries or “prompts,” a term (and even a new job category of “prompt engineer”) being promulgated by this new technology. 

Time to (role) Play!

Before diving into specific interview prompts, it’s helpful to view ChatGPT and other AI assistants like BingAI and Bard as just that – an assistant, or rather, a person. Give the assistant a specific role to play and give it as much information – or context – as it may need to play the role (that of an interviewer in this case) as accurately as possible. 

Context is critical in interviewing, whether you’re using AI to help you prepare or a real person like your Career Coach. A company is hiring you not to do just any job and not to solve just any problem. A good company has a very specific problem, has very specific jobs or responsibilities to tackle the problem, and if hiring, is looking for a specific person who has the right experience, skills, and adaptability to help solve the problem. 

Put It Into Action With AI

Enter the following prompt into the chatbot to give the AI assistant a role to play and as much context as possible to generate interview questions. 

Play the role of a <job title> for <insert company of your choice> (e.g., Spotify) who is hiring for a <insert job title> to join their team. The job description is <paste in the text from the job description on the company’s website>. What questions will you ask the candidate during the 45-minute interview to determine whether or not you will offer them a job to join your team? 

Watch as the AI assistant creates a list of questions that have remarkable relevancy to help you begin preparing for how best to respond.

Additional iterations:

  • In the same chat, enter the prompt “Now condense this list of questions to the top 5 questions.” 
  • If you have a LinkedIn profile of the hiring manager, try entering the text from the profile and regenerating the first prompt to give the chatbot even more context about the role it’s playing as a hiring manager. See if the questions change. What do you notice?

Now, what to do with those AI-generated questions?

With these questions in mind, it’s time to start creating what you might say in response. 

You can also use AI assistants like ChatGPT to generate some ideas. And, just like the example above, you’ll want to give ChatGPT as much context as possible to produce the most accurate “like you” types of responses.

Put into Action:

Enter the following prompt into the open chat you started above (i.e., do not start a new chat from scratch) to give the AI assistant a role to play and as much context as possible. 

Now play the role of an interview candidate who has been selected to interview for the same open position of <insert job title>. Your resume is <paste into the chatbot the text of your resume> (tip: use your LinkedIn profile if it contains even more details and experience). How would you answer <insert one question at a time from the list above> in 60 seconds? 

Watch as the AI assistant creates an answer using the inputs you gave it. What do you notice? Does it sound like your voice? Does it pull in the right experience? What’s missing from the answer it gives you? Should it be longer or shorter? 

Additional iterations:

  • Ask the chatbot to regenerate responses using the STAR method. 
  • Begin a new chat and ask the chatbot to create a 60-second introduction about yourself. Give it different scenarios in which you might introduce yourself (e.g., at the beginning of an interview, at an industry conference, or at a cocktail party). 
  • Use elements of the prompts above to create a follow-up thank you note to the interview that takes place, adding new information you gather from the interview itself (e.g., the questions actually asked of you and any other important or fun details from the interview you want to use to personalize your follow-up).

Rules of Thumb For Interview Prep With AI

When employing an AI assistant, it’s beneficial to follow a couple of key guidelines to achieve the best outcomes. Carefully read the output, maybe 2-3 times, and reflect on several introspective questions. 

Personalize & Contextualize

Does the AI-generated response sound like something I would say? Do the responses integrate the right context, accounting for nuances in my experience, and what I’ve learned about the company’s business, culture, and challenges? Not sure? Record yourself reading the response and listen back. What do you notice? What would you change? 

Be Honest

Do I fully understand the response it generated? Do I understand the terms and concepts enough to answer follow-up questions reasonably well? Not to worry if the answer is no. Being honest about your responses to these questions will provide a helpful list of topics to prepare yourself confidently for the interview. 

Practice and Seek Feedback

Now that you’ve got a solid starting point with your AI-generated questions, it’s time to put those responses into practice. Reading from a script is obvious. Not to mention, it defeats the point. Hiring managers are real people who are still hiring real people, even if AI tools are growing in acceptance in work environments. 

First, schedule an interview prep session with your Career Coach. Send them the job description ahead of time along with the questions ChatGPT gave you. Ask them to alter the wording of each question slightly, putting them into new words or in a different order.

Next, put away the responses to the questions from ChatGPT and practice responding in your own words. How does it feel? 

Keep practicing after your coaching session, recording your responses with tools like Loom or Riveter to listen and give yourself feedback. Send the recordings to your coach or a friend for additional feedback. 

The more practice we have relaying our experience and skills – hard and soft – to a variety of interview questions, the more comfortable we become when under pressure. Once you’re comfortable with 70% of the questions, practice the tougher questions at least a couple more times for good measure, and then take a break. Let your brain do work while you sleep, and rest easy(ier) knowing you’ve put in a solid effort preparing to ace your interview!

No job interview yet? No problem!

Repurpose the above prompts to fit prep work for an upcoming informational interview or networking conversation. Or, ask the chatbot to help you create an outreach message requesting an informational chat. 

In whichever scenario you choose to employ an AI assistant, remember that it’s merely a tool and those who use tools thoughtfully, responsibly, and creatively often create impressive results. 

About Lindsey Williams

Lindsey Williams is the Senior Manager of Coaching at Flatiron School. She has more than 15 years of experience in the tech and edtech spaces and has held a variety of roles from Recruiter and HR to Campus Director and Training Director.

Flatiron School Launches Artificial Intelligence Curriculum Enhancements For Students

Enhancements teach students how to effectively leverage artificial intelligence (AI) tools, giving them a competitive edge in the job market.

Flatiron School is excited to announce that we’ve launched curriculum enhancements designed to teach students how to leverage powerful, emerging artificial intelligence (AI) tools.

The curriculum enhancements affect each of our four disciplines – software engineering, data science, cybersecurity, and UX / UI product design – and come at a time where AI requirements are increasingly appearing in job descriptions. For the past 10 years, we have been committed to keeping our curriculum modern, aligning with the ever-evolving tech landscape. Now, as new AI tools emerge, we continue to lead tech education in providing students with the skills needed to thrive in today’s job market.  

“Even as AI reshapes the industry, we expect demand for tech talent to remain strong,” said Kate Cassino, Flatiron School CEO. “The most competitive talent will have the skills needed to unlock the full potential of AI, and that’s why now is the time to invest in our students. Our latest curriculum enhancements empower students with the skills needed to not only excel in an evolving job market, but also to advance the future of tech through innovation.”

Curriculum Enhancements

The enhancements cover topics such as machine learning, natural language processing, and prompt engineering. Students will learn how to use generative AI as a research tool, effectively communicate with AI chatbots, build AI models, and leverage machine learning for testing.

Curriculum enhancements include:

  • Software Engineering. Discover how AI can help with code debugging, enable code completion, and integrate AI features into apps. Students will also learn prompt engineering and how to successfully correspond with chatbots.
  • Data Science. Learn the fundamentals of AI theory, including concepts such as data leakage, overfitting, and regularization. Students will also learn scikit-learn (a popular AI library for Python programming language) as well as how to build AI models for text data (also known as natural language processing, or NLP). 
  • Cybersecurity. Gain experience leveraging AI and machine learning (ML) for threat intelligence feeds, vulnerability and penetration testing, and detecting anomalous and behavioral events. Students will also learn how bad actors could leverage AI to crack encryption.
  • UX / UI Product Design. Explore how to co-create with AI for inspiration, as well as how to analyze potential biases in AI-generated design solutions. Students will also learn about the implications of AI on intellectual property, how to develop user journeys with generative AI, and how to use NLP to automate identification of patterns in user data.

Taught by instructors with real-world experience, our courses are offered online or in-person on New York City or Denver campuses. Students can choose full-time or part-time programs, which are paced between 15 and 60 weeks. Upon graduation, we provide up to 180 days of 1-on-1 career coaching. 

To learn more about our curriculum enhancements for students, please click here.

Flatiron School Launches New Artificial Intelligence Training Programs

Today we’re excited to announce our new portfolio of artificial intelligence (AI) training programs, designed to empower workforces with the expertise required to leverage powerful, emerging AI tools.

We’re leading the way with our new AI training programs, building on our track record of high quality training that meets the industry’s evolving needs. The programs are all instructor-led for optimal learning experience and cover topics such as machine learning, natural language processing (NLP), and data science.

“Artificial intelligence is rapidly evolving and for organizations across the globe it’s now a necessity to stay competitive. Through engaging lectures, demonstrations, and hands-on labs, learners will discover how to implement AI-driven solutions that have the potential to revolutionize their businesses,” said Pete Barth, Chief Product Officer.

Program Overview

Our new programs are designed based on feedback from Fortune 100 organizations and provide fluency as well as the latest AI skills to technical and non-technical learners alike. All programs can be tailored to fit the needs of any organization, such as incorporating specific industry examples, in-person or online instruction, and more immersive offerings. New programs include:

  • Detecting Cybersecurity Threats With AI. Learn how to protect and mitigate against emerging threats created by AI products. This four-hour program also covers NLP in threat intelligence as well as uncovering hidden patterns with machine learning.
  • Prompt Engineering Basics. Discover how to design, evaluate, and refine prompt solutions for ChatGPT. After eight hours, learners will have a deep understanding on how to get effective results from generative AI tools.
  • Build & Deploy AI Applications. Build and deploy an AI application, including data preprocessing, model development, and deployment. This 40-hour program also covers deep learning and natural language processing.
  • AI Strategy for Business Leaders. Develop a baseline understanding of the concepts needed to move organizations towards AI adoption. During the 12-hour program, leaders will hear use cases in their functional areas as well as learn how to create persuasive presentations when advocating for AI throughout their departments.

“AI is transforming how organizations operate and provide services to their clients, creating the way for new opportunities and growth,” said Nancy Ziser, EVP Enterprise Partnerships.  “Our new training programs will quickly give organizations the latest, cutting edge skills needed to thrive in the evolving AI landscape.” 

To learn more about our Enterprise AI programs, please click here

March Madness Results: The Tale of A Busted Bracket

After 3 weeks and 67 games, March Madness ended with disappointment for most fans. While you may still be recovering from the gray-hair-inducing stress-fest that is the annual tournament (we recommend ripping up your paper bracket – it’s very cathartic), it’s a good time to look back at where we started and how things went so, very wrong for the official Flatiron School bracket. 

Our Machine Learning Bracket Prediction

In March, Data Science Curriculum Developer Brendan Purdy used Machine Learning to develop a March Madness bracket, which you can see below. Visit this blog post to learn how he used Machine Learning to develop his March Madness bracket.

Machine Generated March Madness Bracket
Machine Generated March Madness Bracket

Unfortunately, the Machine Learning generated bracket did not perform well. Purdy’s bracket correctly predicted only 2 of the final 8 teams and none of the final 4.

March Madness Results

This year’s bracket had quite a few surprises, with favorite teams like UCLA and Purdue not even making it to the final 8. And with San Diego beginning at a 25.7% win probability, it shocked many that they made it all the way to the National Championship.

NCAA March Madness Results
NCAA March Madness Results

For a team-by-team breakdown of each defeat and unexpected upset, visit ESPN’s March Madness Results Pain Scale and be comforted by the fact that your agony is shared.

So, What Happened?

First off, let’s put some numbers into perspective around the March Madness Results. There are 9,223,372,036,854,775,808 possible outcomes for a bracket, so you’re more likely to win the lottery (or several lotteries) than guess a perfect bracket. And despite the more than 70 official brackets submitted each year, the longest (verifiable) streak of an NCAA men’s bracket ever was only 49 games, where the person predicted all of the teams who got into the Sweet 16 in 2022. 

So, whether Machine Learning and AI are used to generate a bracket or not, the odds are slim.

Machine Learning Constraints

Data Sets and Inputs

The algorithm uses certain assumptions to generate outputs based on provided inputs, and so makes predictions based on data trends. So, if team A has consistently beaten B, then there is a high probability that they’ll do it again, and that is what the AI will predict.

Where the training data is obtained from and the different weights they attribute to ranking factors such as historical seeding, performance (both season and postseason), box scores, geography, coaches, etc. can greatly impact the linear regression model’s predictions.

Preprocessing/ Feature Engineering

The preprocessing or feature engineering stage of creating a Machine Learning model is one of the most challenging steps. This requires bringing disparate data sets together, getting the variables in the proper form so that we can use the algorithm, and other cleaning of the data to focus the model on certain variables. 

Naturally, this can result in varied inputs and thus varied outputs. If fact, two Data Scientists given the same data set will inevitably preprocess it in slightly different ways, leading to distinct results. 

Dumb Luck

No matter how perfectly ranked your stats are, how precisely programmed the data set is, or the number of iterations your model runs, there are certain things a Machine Learning model won’t be able to account for. The model makes predictions based on previous data and past performance and predicts outcomes based on the same conditions. 

So if, for example, a star player is out of the game, the whole team got food poisoning the night before, or a hail mary shot somehow made it through the next in the last second of the game, the model does not expect nor account for random good or bad luck.

Conclusion

As fans can attest, there is no greater torment than watching your bracket inevitably go bust. And, while Machine Learning may increase your chances of hanging in longer, it’s almost inevitable that your bracket predictions will eventually prove incorrect. But if we’re honest, isn’t that half of the fun? From one busted bracket to another – better luck next year.  

Wanna try your hand at the Data Science fundamentals needed to make a Machine Learning model like the one discussed in this post? Try out our Free Data Science Prep Work – no strings attached.

Earth Day: How Tech Can Fight Climate Change and Improve Sustainability

Tech is shaping the world around us and our future. Whether it’s climate change or waste management, tech is solving some of the world’s most pressing problems. To celebrate Earth Day, here are a few ways technology is helping to make the world a better place — both for today and tomorrow.

Track Temperature Trends

Climate change models need millions of data points spanning centuries to identify Earth’s temperature trends. NASA reported that 2022 was tied with 2015 as the fifth warmest on record, and the past nine years have been the warmest years since modern recordkeeping began in 1880. To generate these climate findings, the space agency collects data from 6,300 weather stations, Antarctic research stations, and sea surface temperature observations to determine the surface temperature for a given year.

To make sense of it all, NASA uses data science. “These raw measurements are analyzed using an algorithm that considers the varied spacing of temperature stations around the globe and urban heat island effects that could skew the conclusions,” according to NASA.

Improve Climate Models

Data science can also further improve current climate models. For example, Georgia Tech researchers are creating data mining methodologies that can help scientists identify warming trends. Georgia Tech researchers are already using the methodology to measure sea surface temperatures.

Predict Extreme Weather

Columbia University has a great list of ways artificial intelligence (AI) is being used to predict tropical cyclones and areas of potential poaching and map the damage caused by hurricanes.

Adapt Farming Practices

If you want something more practical for Earth Day, there are apps that can help you live a more sustainable life. Farmers in India, for example, have used AI for fertilizer application and to identify ideal sowing dates leading to a 30 percent increase in groundnut production per hectare.

Make Sustainability Accessible

Oroeco gamifies sustainability. The app helps you track and reduce your carbon footprint while helping you save money. There’s also a leaderboard where you can share your stats across social media.

Promote Conscious Consumerism

TheGoodGuide reviews products by analyzing their ingredients, to help you make informed purchasing decisions.

Reduce Water Usage

If you want to reduce your water usage, there’s the Dropcountr app.

Deputize Citizen Scientists

You can even help NASA track how carbon moves through ecosystems by taking photos of trees.

Climate Change Challengers Are Powered By Tech Skills

Behind these reports, interactive websites, and apps are data scientists, software engineers, and UX/UI designers. Front-end and back-end engineers are working to make websites functional. Data scientists and analysts are making troves of collected information actionable. UX/UI designers are ensuring users can have the best experience possible.

Flatiron School has already helped alumni plant seeds of change in the tech industry. We encourage you to explore our immersive Software Engineering, Data Science, and UX/UI Design programs for Earth Day.

Together, we can make the world a better place.

Making March Madness Predictions With Data Science

For millions of Americans, the third month of the year means only one thing – March Madness. With more than 70 million official brackets created annually, the likelihood of your bracket being correct is slim.

Here’s Data Science Curriculum Developer Brendan Purdy on how he uses Machine Learning to make predictions and beat the odds.

The Tournament

First things first, we’ll do a short overview of what the March Madness tournament is for those not familiar with all things Basketball, or who just need a refresher. 

The NCAA Division I men’s basketball tournament is a single-elimination tournament of 68 teams that compete in seven rounds for the national championship. The playoff tournament is known as “March Madness” due to there being 67 games in the single-elimination tournament within three weeks, many of which overlap and are played simultaneously in the beginning. The winner of the tournament is crowned the NCAA Basketball Champion for the season.

Creating Brackets

Individuals pick who they think will win each game. Millions of fans submit their brackets for online competitions that have payoffs. Over 40 million people fill in brackets, many people more than one, which results in over 70 million officially submitted brackets. The actual number of brackets created each year is likely much higher, considering that many will simply make their own and never share or submit publicly. 

To complicate matters, there is a “Round 0” of the tournament called the “First Four” where 8 teams play for four spots in Round 1. Round 1 has 64 teams.

The process of creating a bracket is to select the team you think will win each match-up. As the tournament proceeds, your choices narrow down until the championship game. 

This article will cover the men’s tournament, however, two March Madness tournaments run simultaneously – a men’s and a women’s. Everything that’s covered in this piece data-science-wise can be applied to both.

By the numbers:

  • 9.2 quintillion – With 63 games from Round 0 on, there are 2^63 = 9,223,372,036,854,775,808 possible outcomes for a bracket
  • 49 – The longest (verifiable) streak of an NCAA men’s bracket is 49 games, where the person predicted all of the teams who got into the Sweet 16 in 2022
  • $3.1 billion – About 45 million Americans wagered a total of 3.1 billion dollars on March Madness games in 2022

With billions of dollars wagered each year on statistically slim odds of winning, why not use Data Science to make better predictions?

Data Science

The goal of Data Science is to discover actionable insights hidden in large data sets by creating models using the tools of mathematics and statistics and machine learning, along with germane subject matter expertise.

Let’s break those ingredients down a bit more to see how they all work together to make predictions.

  • Mathematics and statistics – Math and stats give the foundations of machine learning algorithms and inform us how we can interpret the models.
  • Machine learning – Machine learning is artificial intelligence algorithms that learn from data.
  • SME – The data is always about a specific thing, and this is where the subject matter expertise (SME) is germane. Having SME aids you in accurately interpreting data to produce relevant insights.

Now, what skills will you need to create a powerful predictive model to beat the March Madness bracket odds? The main fundamentals the typical data scientist would use to create a model like this one are:

  • Math and stats – Calculus, Linear Algebra, Statistics, Probability
  • Programming/software skills – Python, Tableau, SQL, R/R Studio
  • Other skills – SME, Communicating and storytelling with data, Data ethics, and privacy

If you don’t have all of those skills – worry not! You can still read about how the modeling works using machine learning below, courtesy of Flation School Data Science Curriculum Developer, Brendan Purdy. Or if you want to try your hand at Data Science, jump into our Free Data Science Prep Work!

Machine Learning

Next, we’ll learn a bit about Machine Learning – how it works, its goals, and common examples. 

Machine Learning is often defined as “a subfield of Artificial Intelligence where the algorithms learn from data.” That’s the key – that the algorithm learns from data, instead of just delivering preset and easily-definable outputs as a calculator does. For example, programmers initially programmed AI to play games like checkers and chess and inputted all the rules so that if an opponent did an action, the program would perform an expected response action. However, with modern AI, the system has enough computational power to learn from the data and perform new, nonprogrammed actions, making it machine learning

Types of Machine Learning

There are two main types of machine learning – supervised and unsupervised. 

In supervised machine learning, algorithms are trained using labeled data, e.g. linear models, nearest neighbors, decision trees, and gradient-boosting decision trees. The programmer tells the AI what the data means, and then asks the AI to look at similar data and determine what it is. For example, define an image as a picture of a cat, then show another image and ask the AI if the image is of a cat or not.

In unsupervised machine learning, algorithms are used against data that is not labeled, e.g. Gaussian mixture models, and clustering algorithms. For example, give the AI pictures of various animals, and ask how the machine would group them.

Common Goals of Machine Learning

Three Common Goals of Machine Learning
Three Common Goals of Machine Learning

Classification – a type of supervised learning. In this type of program, you give the program attributes to group items based on.

Regression/Prediction – a type of supervised learning. This is the type of model that we will use to create our March Madness Bracket. The most basic example of this is our linear regression model, with a line that represents trends in the data. 

Clustering – a type of unsupervised learning. In this case, the machine puts data into clusters. This model type is used to make inferences from demographic data for companies. For example, if you are part of a rewards program, these types of models gather data based on your purchases, then use clustering machine learning to attribute you to a certain demographic and inform targeted advertising campaigns.

Machine Learning Usage In Industry

Whether you realize it or not, machine learning permeates much of your daily life. According to industry surveys, 67% of companies were using machine learning in 2020. 97% planned to use it in 2021. 

Some examples of machine learning that you likely interface with, or interfaces with you and your data, almost every day:

  • Recommendation systems (Netflix, Amazon)
  • Neural Networks (sports analytics)
  • CNN (medical image analysis)
  • NLP (Translations, Chatbots)
  • Clustering models (demographics of customers)

The applications for machine learning are numerous and growing each year. Knowing how to wield such a powerful tool can set you up for success in far more than just your friend’s March Madness bracket. 

Extreme Gradient Boosting

Now that we know a bit more about machine learning, which algorithm are we going to use for our bracket predictions? For making a March Madness prediction, we will be using a decision tree.

Decision Trees are a supervised learning method. The goal is to create a model that predicts the value of a target variable by learning simple decision rules inferred from the data. They can be used for classification or prediction.

A decision tree takes in data and determines the probability of the most likely outcome. 

For the specific decision tree type, we will be using a Gradient Boosting Decision Tree (GBDT). A GBDT uses boosting to create many decision trees iteratively. It uses weak learning to calculate the gradient to minimize the error for each iteration of the algorithm. The model makes the prediction based on a weighted aggregation of each input. The algorithm also calculates a gradient to minimize errors for each iteration. 

Gradient Boosting Decision Tree
Gradient Boosting Decision Tree

How Boosting Decision Trees Work

Some facts about Boosting Decision Trees to further explain how the model works:

  • Ensemble Method – In machine learning, an ensemble method combines more than one technique. Boosting is a type of ensemble learning that uses many decision trees. Ensembles often work better than a singular model as they’re able to exploit multiple algorithms at the same time.
  • Weak Learner – A weak learner is a model that only does slightly better than random chance. This results in a simple decision tree. 
  • Iterative – One tree is created and then the algorithm determines what the weak learner got wrong. It then builds another weak learner that focuses on what the previous tree got wrong. This process continues until a stopping condition has been met.
  • Aggregate Predictions – Boosting algorithms make the final prediction based on a weighted aggregation of each input. The inputs that were harder for the weak learners to learn are weighted higher than those that were easy to learn. 

Minimizing Errors

As mentioned above, gradient boosting is used to minimize the errors in each iteration created. Here’s how the model does this:

  • Residual Fitting – A residual is how far the actual value is from the predicted value. GBDT uses the residuals with a loss function to see how well, or poorly, it is doing.
  • Loss Function – A loss function uses the residuals of the model to calculate the overall loss. (The loss function must be differentiable.)
  • Gradient Descent – The gradient is a concept from calculus that is used in a myriad of machine learning models. The key idea of the gradient descent is that it uses the second derivative of the loss function to determine how to minimize loss, i.e. error. This is what GBDT is using at each iteration of its algorithm.

All three of these concepts tie together. The residual fitting is the input into the function. The loss function is the function itself, and the gradient descent is the second derivative of the function.

XGBoost & Bracket Prediction

So how do we implement this Gradient Boosting Decision Tree to make March Madness predictions? By using XG Boost.

Data Set

Everything starts with acquiring data. The NCAA and Kaggle release several data sets that contain for each team: historical seeding, performance (both season and postseason), box scores, geography, coaches, etc. Five thirty eight and other websites also have a ranking of the teams.

Preprocessing/ Feature Engineering

This is often the most challenging aspect of machine learning: bringing disparate data sets together, getting the variables in the proper form so that we can use the algorithm, etc. 

Preprocessing is prepping the data, and feature engineering is focusing on certain variables. Once this is complete, you move on to XG boost. 

XG Boost

XGBoost is the most commonly used library for GBDT and is available in a large number of languages, including Python. Part of where the science of data science comes in is at this point when the data scientist needs to “tune” the model. If two data scientists used the same data sets and did the same preprocessing and feature engineering, modifying the model’s parameters (aka “tuning” it) differently will result in different outputs. 

Predictions

In a single-elimination tournament with 68 teams, we predict (68*67)/2 = 2,278 matchups and get the probability of who is more likely to win each possible match-up.

Sample Output

The predictions represent the probability that the team with the lower id will beat the team with the higher id, e.g. 1101 has a 2.7% chance of beating 1104.

Measuring Success

So once you have your bracket, how do you measure success? We’ll consider two ways how well we did.

Bracket Challenges

For sites like CBS Sports, ESPN, etc., typically a weighted value is given for each game where you have a correct pick, e.g. 1st round is 1 pt, 2nd is 2 pts, Sweet 16 is 4 pts, Elite 8 is 8 pts, Final 4 is 16 points, Championship is 32 pts. The highest score at the end is considered the “winner.”

Machine Learning Competitions

For ML competitions like Kaggle where the goal is to use ML modeling, then a metric like log-loss is used. Log-loss is indicative of how close the prediction probability is to the corresponding actual value (win or loss). In particular, this provides extreme penalties for being both confident and wrong.

Brendan Purdy’s Bracket Predictions

March Madness Bracket

Here’s Brendan’s March Madness bracket, based on his Machine Learning model (though he notes, as a long-time UCLA fan, that he does not approve of Houston beating UCLA, no matter what the algorithm data says.)

Come back in mid-April to see how he did, with a follow-up piece explaining model predictions vs. real-life results.