CINXE.COM

Machine Learning Glossary: Fairness  |  Google for Developers

<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#fff"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/machine-learning/glossary/fairness"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/machine-learning/glossary/fairness" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/machine-learning/glossary/fairness" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/machine-learning/glossary/fairness?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/machine-learning/glossary/fairness?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/machine-learning/glossary/fairness?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/machine-learning/glossary/fairness?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/machine-learning/glossary/fairness?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/machine-learning/glossary/fairness?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/machine-learning/glossary/fairness?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/machine-learning/glossary/fairness?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/machine-learning/glossary/fairness?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/machine-learning/glossary/fairness?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/machine-learning/glossary/fairness?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/machine-learning/glossary/fairness?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/machine-learning/glossary/fairness?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/machine-learning/glossary/fairness?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/machine-learning/glossary/fairness?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/machine-learning/glossary/fairness?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/machine-learning/glossary/fairness?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/machine-learning/glossary/fairness?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/machine-learning/glossary/fairness?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/machine-learning/glossary/fairness?hl=vi" /><title>Machine Learning Glossary: Fairness &nbsp;|&nbsp; Google for Developers</title> <meta property="og:title" content="Machine Learning Glossary: Fairness &nbsp;|&nbsp; Google for Developers"><meta property="og:url" content="https://developers.google.com/machine-learning/glossary/fairness"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/opengraph/white.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Machine Learning Glossary: Fairness" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Machine Learning", "item": "https://developers.google.com/machine-learning" },{ "@type": "ListItem", "position": 2, "name": "Machine Learning Glossary: Fairness", "item": "https://developers.google.com/machine-learning/glossary/fairness" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="white" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <a href="#main-content" class="skip-link button"> Skip to main content </a> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/machine-learning" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Machine Learning" > Machine Learning </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab > <a href="https://developers.google.com/machine-learning/foundational-courses" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/machine-learning/foundational-courses" track-type="nav" track-metadata-position="nav - foundational courses" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Foundational courses" track-name="foundational courses" > Foundational courses </a> </tab> <tab > <a href="https://developers.google.com/machine-learning/advanced-courses" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/machine-learning/advanced-courses" track-type="nav" track-metadata-position="nav - advanced courses" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Advanced courses" track-name="advanced courses" > Advanced courses </a> </tab> <tab > <a href="https://developers.google.com/machine-learning/guides" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/machine-learning/guides" track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab class="devsite-dropdown "> <a href="https://developers.google.com/machine-learning/glossary" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary" track-type="nav" track-metadata-position="nav - glossary" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Glossary" track-name="glossary" > Glossary </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Glossary" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary" track-metadata-position="nav - glossary" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Glossary" track-name="glossary" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> All terms </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/clustering" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/clustering" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Clustering </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/df" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/df" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Decision Forests </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/fairness" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/fairness" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Fairness </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/fundamentals" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/fundamentals" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Fundamentals </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/googlecloud" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/googlecloud" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> GCP </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/generative" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/generative" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Generative AI </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/image" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/image" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Image </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/language" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/language" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Lang Eval </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/metrics" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/metrics" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Metrics </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/recsystems" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/recsystems" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Recommendation Systems </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/rl" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/rl" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Reinforcement Learning </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/sequence" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/sequence" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Sequence Models </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/tensorflow" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/tensorflow" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Machine Learning" tenant-name="Google for Developers" project-scope="/machine-learning" url-scoped="https://developers.google.com/s/results/machine-learning" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section devsite-header-no-lower-tabs "> <div class="devsite-header-background"> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars hidden> <div class="devsite-book-nav-filter" hidden> <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/machine-learning" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Machine Learning" > Machine Learning </a> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/machine-learning/foundational-courses" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Foundational courses" track-name="foundational courses" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Foundational courses" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Foundational courses </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/advanced-courses" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Advanced courses" track-name="advanced courses" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Advanced courses" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Advanced courses </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/guides" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guides </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Glossary" track-name="glossary" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Glossary" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Glossary </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Glossary" track-name="glossary" > <span class="devsite-nav-text" tooltip menu="Glossary"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Glossary"> </span> </span> </li> </ul> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="Glossary" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/machine-learning/glossary" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: All terms" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > All terms </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/clustering" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Clustering" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Clustering </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/df" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Decision Forests" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Decision Forests </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/fairness" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Fairness" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Fairness </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/fundamentals" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Fundamentals" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Fundamentals </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/googlecloud" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: GCP" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > GCP </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/generative" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Generative AI" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Generative AI </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/image" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Image" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Image </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/language" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Lang Eval" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Lang Eval </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/metrics" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Metrics" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Metrics </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/recsystems" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Recommendation Systems" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Recommendation Systems </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/rl" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reinforcement Learning" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reinforcement Learning </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/sequence" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Sequence Models" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Sequence Models </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/tensorflow" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" id="main-content" class="devsite-main-content" > <devsite-content> <article class="devsite-article"><style> /* Styles inlined from /machine-learning/glossary/glossary.css */ /* Drop display of empty description row */ .devsite-product-description-row { display: none; } h2.glossary { border: none; padding-top: 25px; margin-top: 30px; margin-bottom: 10px; font-weight: bold; } h2.hide-from-toc { border-bottom: none; border-top: 1px solid #ebebeb; padding-top: 1%; margin-bottom: 1px; } a.glossary-anchor { display: block; padding-top: 40px; } @media screen and (min-width: 720px) { /* Styling for intersection/union images in IoU entry */ /* Place images side by side if not on phone */ #intersection-union-side-by-side img { display: inline-block; width: 45%; margin-right: 4.5%; } /* Styling for tables in sparse representation section */ /* Use two-column layout if not on phone */ #sparse-dense-tables { width: 80%; margin-left: auto; margin-right: auto; column-count: 2; column-width: 45%; } #sparse-dense-tables table { break-after: column; } } #sparse-dense-tables table caption { background: none; } #sparse-dense-tables table tr.elided-rows td { text-align: center; } .glossary-icon-container { float: right; position: relative; top: -34px; } /* Push glossary icons 40px to the left * to match 40px of right padding * applied to heading elements */ h2 + .glossary-icon-container { right: 40px; } .glossary-icon { color: transparent; float: left; font-size: 5px; position: relative; } .glossary-icon[title='Fairness'], .glossary-icon[data-title='Fairness'], .glossary-icon[title='Generative AI'], .glossary-icon[data-title='Generative AI'], .glossary-icon[title='Metric'], .glossary-icon[data-title='Metric'], .glossary-icon[title='ML Fundamentals'], .glossary-icon[data-title='ML Fundamentals'], .glossary-icon[title='Recommendation Systems'], .glossary-icon[data-title='Recommendation Systems'], .glossary-icon[title='Image Models'], .glossary-icon[data-title='Image Models'], .glossary-icon[title='Clustering'], .glossary-icon[data-title='Clustering'], .glossary-icon[title='Language Evaluation'], .glossary-icon[data-title='Language Evaluation'], .glossary-icon[title='Sequence Models'], .glossary-icon[data-title='Sequence Models'], .glossary-icon[title='Decision Forests'], .glossary-icon[data-title='Decision Forests'] { font-size: 7px; top: 4px; letter-spacing: -2.5px; } .glossary-icon[title='Fairness']::after, .glossary-icon[data-title='Fairness']::after, .glossary-icon[title='Generative AI']::after, .glossary-icon[data-title='Generative AI']::after, .glossary-icon[title='Metric']::after, .glossary-icon[data-title='Metric']::after, .glossary-icon[title='ML Fundamentals']::after, .glossary-icon[data-title='ML Fundamentals']::after, .glossary-icon[title='Recommendation Systems']::after, .glossary-icon[data-title='Recommendation Systems']::after, .glossary-icon[title='Image Models']::after, .glossary-icon[data-title='Image Models']::after, .glossary-icon[title='Clustering']::after, .glossary-icon[data-title='Clustering']::after, .glossary-icon[title='Language Evaluation'], .glossary-icon[data-title='Language Evaluation']::after, .glossary-icon[title='Sequence Models'], .glossary-icon[data-title='Sequence Models']::after, .glossary-icon[title='Decision Forests'], .glossary-icon[data-title='Decision Forests']::after { color: initial; font-size: 25px; text-align: center; } .glossary-icon[title='Fairness']::after, .glossary-icon[data-title='Fairness']::after { content: '⚖️'; width: 32px; } .glossary-icon[title='Generative AI']::after, .glossary-icon[data-title='Generative AI']::after { content: '🎨'; width: 32px; } .glossary-icon[title='Metric']::after, .glossary-icon[data-title='Metric']::after { content: '📏'; width: 32px; } .glossary-icon[title='ML Fundamentals']::after, .glossary-icon[data-title='ML Fundamentals']::after { content: '🐣'; width: 32px; } .glossary-icon[title='Image Models']::after, .glossary-icon[data-title='Image Models']::after { content: '🖼️'; width: 32px; } .glossary-icon[title='Clustering']::after, .glossary-icon[data-title='Clustering']::after { content: '🍇'; width: 32px; } .glossary-icon[title='Language Evaluation']::after, .glossary-icon[data-title='Language Evaluation']::after { content: '🔤'; width: 32px; } .glossary-icon[title='Sequence Models']::after, .glossary-icon[data-title='Sequence Models']::after { content: '🔺→🟦→🟡'; width: 96px; font-size: 1vw; } .glossary-icon[title='Decision Forests']::after, .glossary-icon[data-title='Decision Forests']::after { content: '🌳🌲🌳'; width: 64px; letter-spacing: -0.45em; font-size: 1vw; } .glossary-icon[title='Recommendation Systems']::after, .glossary-icon[data-title='Recommendation Systems']::after { content: '👎👍'; width: 64px; } .glossary-icon[title='Google Cloud']::after, .glossary-icon[data-title='Google Cloud']::after { background-position: center; background-repeat: no-repeat; content: ""; width: 37px; background-image: url(https://www.gstatic.com/images/branding/product/1x/google_cloud_48dp.png); background-size: 28px 28px; height: 29px; position: absolute; left: 0; } .glossary-icon[title='Reinforcement Learning'], .glossary-icon[data-title='Reinforcement Learning'] { font-size: 7px; top: 4px; } .glossary-icon[title='Reinforcement Learning']::after, .glossary-icon[data-title='Reinforcement Learning']::after { color: rgb(139, 0, 0); content: 'RL'; font-size: 25px; text-align: center; width: 32px; } .glossary-icon[title='TensorFlow']::after, .glossary-icon[data-title='TensorFlow']::after { background-position: center; background-repeat: no-repeat; content: ""; width: 30px; background-image: url(https://developers.google.com/site-assets/logo-tensorflow.svg); background-size: 26px 26px; height: 28px; position: absolute; left: 0; } </style> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/machine-learning" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Machine Learning" > Machine Learning </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Machine Learning" product-id="5005867" bucket="" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/touchicon-180-new.png" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Machine Learning Glossary: Fairness </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <devsite-key-takeaways></devsite-key-takeaways> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <p> <devsite-mathjax config="TeX-AMS-MML_SVG"></devsite-mathjax></p> <p>This page contains Fairness glossary terms. For all glossary terms, <a href="/machine-learning/glossary">click here</a>.</p> <p><a class="glossary-anchor" name="a"></a> <h2 class="glossary" id="a" data-text="A" tabindex="-1">A</h2></p> <p><a class="glossary-anchor" name="attribute"></a> <h2 class="hide-from-toc" id="attribute" data-text=" attribute" tabindex="-1"> attribute</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>Synonym for <a href="/machine-learning/glossary#feature"><strong>feature</strong></a>.</p> <p>In machine learning fairness, attributes often refer to characteristics pertaining to individuals.</p> <p><a class="glossary-anchor" name="automation_bias"></a> <h2 class="hide-from-toc" id="automation-bias" data-text=" automation bias " tabindex="-1"> automation bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>When a human decision maker favors recommendations made by an automated decision-making system over information made without automation, even when the automated decision-making system makes errors.</p> <p>See <a href="/machine-learning/crash-course/fairness/types-of-bias">Fairness: Types of bias</a> in Machine Learning Crash Course for more information.</p> <p><a class="glossary-anchor" name="b"></a> <h2 class="glossary" id="b" data-text="B" tabindex="-1">B</h2></p> <p><a class="glossary-anchor" name="bias_ethics"></a> <h2 class="hide-from-toc" id="bias-ethicsfairness" data-text=" bias (ethics/fairness)" tabindex="-1"> bias (ethics/fairness)</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="ML Fundamentals">#fundamentals</div> </div></p> <p> 1. Stereotyping, prejudice or favoritism towards some things, people, or groups over others. These biases can affect collection and interpretation of data, the design of a system, and how users interact with a system. Forms of this type of bias include: </p> <ul> <li><a href="#automation_bias"><strong>automation bias</strong></a></li> <li><a href="#confirmation_bias"><strong>confirmation bias</strong></a></li> <li><a href="#confirmation_bias"><strong>experimenter&#39;s bias</strong></a></li> <li><a href="#group_attribution_bias"><strong>group attribution bias</strong></a></li> <li><a href="#implicit_bias"><strong>implicit bias</strong></a></li> <li><a href="#in-group_bias"><strong>in-group bias</strong></a></li> <li><a href="#out-group_homogeneity_bias"><strong>out-group homogeneity bias</strong></a></li> </ul> <p> 2. Systematic error introduced by a sampling or reporting procedure. Forms of this type of bias include: </p> <ul> <li><a href="#selection_bias"><strong>coverage bias</strong></a></li> <li><a href="#selection_bias"><strong>non-response bias</strong></a></li> <li><a href="#participation_bias"><strong>participation bias</strong></a></li> <li><a href="#reporting_bias"><strong>reporting bias</strong></a></li> <li><a href="#selection_bias"><strong>sampling bias</strong></a></li> <li><a href="#selection_bias"><strong>selection bias</strong></a></li> </ul> <p>Not to be confused with the <a href="/machine-learning/glossary#bias"><strong>bias term</strong></a> in machine learning models or <a href="/machine-learning/glossary#prediction_bias"><strong>prediction bias</strong></a>.</p> <p>See <a href="/machine-learning/crash-course/fairness/types-of-bias">Fairness: Types of bias</a> in Machine Learning Crash Course for more information.</p> <p><a class="glossary-anchor" name="c"></a> <h2 class="glossary" id="c" data-text="C" tabindex="-1">C</h2></p> <p><a class="glossary-anchor" name="confirmation_bias"></a> <h2 class="hide-from-toc" id="confirmation-bias" data-text=" confirmation bias " tabindex="-1"> confirmation bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>The tendency to search for, interpret, favor, and recall information in a way that confirms one&#39;s pre-existing beliefs or hypotheses. Machine learning developers may inadvertently collect or label data in ways that influence an outcome supporting their existing beliefs. Confirmation bias is a form of <a href="#implicit_bias"><strong>implicit bias</strong></a>.</p> <p><strong>Experimenter&#39;s bias</strong> is a form of confirmation bias in which an experimenter continues training models until a pre-existing hypothesis is confirmed.</p> <p><a class="glossary-anchor" name="counterfactual_fairness"></a> <h2 class="hide-from-toc" id="counterfactual-fairness" data-text=" counterfactual fairness " tabindex="-1"> counterfactual fairness </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>A <a href="#fairness_metric"><strong>fairness metric</strong></a> that checks whether a classifier produces the same result for one individual as it does for another individual who is identical to the first, except with respect to one or more <a href="#sensitive_attribute"><strong>sensitive attributes</strong></a>. Evaluating a classifier for counterfactual fairness is one method for surfacing potential sources of bias in a model.</p> <p>See either of the following for more information:</p> <ul> <li><a href="/machine-learning/crash-course/fairness/counterfactual-fairness">Fairness: Counterfactual fairness</a> in Machine Learning Crash Course.</li> <li><a href="https://papers.nips.cc/paper/2017/file/1271a7029c9df08643b631b02cf9e116-Paper.pdf">When Worlds Collide: Integrating Different Counterfactual Assumptions in Fairness</a></li> </ul> <p><a class="glossary-anchor" name="coverage_bias"></a> <h2 class="hide-from-toc" id="coverage-bias" data-text=" coverage bias " tabindex="-1"> coverage bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>See <a href="#selection_bias"><strong>selection bias</strong></a>.</p> <p><a class="glossary-anchor" name="d"></a> <h2 class="glossary" id="d" data-text="D" tabindex="-1">D</h2></p> <p><a class="glossary-anchor" name="demographic_parity"></a> <h2 class="hide-from-toc" id="demographic-parity" data-text=" demographic parity" tabindex="-1"> demographic parity</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>A <a href="#fairness_metric"><strong>fairness metric</strong></a> that is satisfied if the results of a model&#39;s classification are not dependent on a given <a href="#sensitive_attribute"><strong>sensitive attribute</strong></a>.</p> <p>For example, if both Lilliputians and Brobdingnagians apply to Glubbdubdrib University, demographic parity is achieved if the percentage of Lilliputians admitted is the same as the percentage of Brobdingnagians admitted, irrespective of whether one group is on average more qualified than the other.</p> <p>Contrast with <a href="#equalized_odds"><strong>equalized odds</strong></a> and <a href="#equality_of_opportunity"><strong>equality of opportunity</strong></a>, which permit classification results in aggregate to depend on sensitive attributes, but don&#39;t permit classification results for certain specified <a href="/machine-learning/glossary#ground_truth"><strong>ground truth</strong></a> labels to depend on sensitive attributes. See <a href="http://research.google.com/bigpicture/attacking-discrimination-in-ml/" target="T">&quot;Attacking discrimination with smarter machine learning&quot;</a> for a visualization exploring the tradeoffs when optimizing for demographic parity.</p> <p>See <a href="/machine-learning/crash-course/fairness/demographic-parity">Fairness: demographic parity</a> in Machine Learning Crash Course for more information.</p> <p><a class="glossary-anchor" name="disparate_impact"></a> <h2 class="hide-from-toc" id="disparate-impact" data-text=" disparate impact" tabindex="-1"> disparate impact</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>Making decisions about people that impact different population subgroups disproportionately. This usually refers to situations where an algorithmic decision-making process harms or benefits some subgroups more than others.</p> <p>For example, suppose an algorithm that determines a Lilliputian&#39;s eligibility for a miniature-home loan is more likely to classify them as &quot;ineligible&quot; if their mailing address contains a certain postal code. If Big-Endian Lilliputians are more likely to have mailing addresses with this postal code than Little-Endian Lilliputians, then this algorithm may result in disparate impact.</p> <p>Contrast with <a href="#disparate_treatment"><strong>disparate treatment</strong></a>, which focuses on disparities that result when subgroup characteristics are explicit inputs to an algorithmic decision-making process.</p> <p><a class="glossary-anchor" name="disparate_treatment"></a> <h2 class="hide-from-toc" id="disparate-treatment" data-text=" disparate treatment" tabindex="-1"> disparate treatment</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>Factoring subjects&#39; <a href="#sensitive_attribute"><strong>sensitive attributes</strong></a> into an algorithmic decision-making process such that different subgroups of people are treated differently.</p> <p>For example, consider an algorithm that determines Lilliputians&#39; eligibility for a miniature-home loan based on the data they provide in their loan application. If the algorithm uses a Lilliputian&#39;s affiliation as Big-Endian or Little-Endian as an input, it is enacting disparate treatment along that dimension.</p> <p>Contrast with <a href="#disparate_impact"><strong>disparate impact</strong></a>, which focuses on disparities in the societal impacts of algorithmic decisions on subgroups, irrespective of whether those subgroups are inputs to the model.</p> <aside class="warning"><strong>Warning:</strong><span> Because sensitive attributes are almost always correlated with other features the data may have, explicitly removing sensitive attribute information doesn&#39;t guarantee that subgroups will be treated equally. For example, removing sensitive demographic attributes from a training dataset that still includes postal code as a feature may address disparate treatment of subgroups, but there still might be disparate impact upon these groups because postal code might serve as a <a href="#proxy_sensitive_attributes"><strong>proxy</strong></a> for other demographic information.</span></aside> <p><a class="glossary-anchor" name="e"></a> <h2 class="glossary" id="e" data-text="E" tabindex="-1">E</h2></p> <p><a class="glossary-anchor" name="equality_of_opportunity"></a> <h2 class="hide-from-toc" id="equality-of-opportunity" data-text=" equality of opportunity " tabindex="-1"> equality of opportunity </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>A <a href="#fairness_metric"><strong>fairness metric</strong></a> to assess whether a model is predicting the desirable outcome equally well for all values of a <a href="#sensitive_attribute"><strong>sensitive attribute</strong></a>. In other words, if the desirable outcome for a model is the <a href="/machine-learning/glossary#positive_class"><strong>positive class</strong></a>, the goal would be to have the <a href="/machine-learning/glossary#TP_rate"><strong>true positive rate</strong></a> be the same for all groups.</p> <p>Equality of opportunity is related to <a href="#equalized_odds"><strong>equalized odds</strong></a>, which requires that <em>both</em> the true positive rates and <a href="/machine-learning/glossary#FP_rate"><strong>false positive rates</strong></a> are the same for all groups.</p> <p>Suppose Glubbdubdrib University admits both Lilliputians and Brobdingnagians to a rigorous mathematics program. Lilliputians&#39; secondary schools offer a robust curriculum of math classes, and the vast majority of students are qualified for the university program. Brobdingnagians&#39; secondary schools don&#39;t offer math classes at all, and as a result, far fewer of their students are qualified. Equality of opportunity is satisfied for the preferred label of &quot;admitted&quot; with respect to nationality (Lilliputian or Brobdingnagian) if qualified students are equally likely to be admitted irrespective of whether they&#39;re a Lilliputian or a Brobdingnagian.</p> <p>For example, suppose 100 Lilliputians and 100 Brobdingnagians apply to Glubbdubdrib University, and admissions decisions are made as follows:</p> <p><strong>Table 1.</strong> Lilliputian applicants (90% are qualified)</p> <table> <tr> <th>&nbsp;</th> <th>Qualified</th> <th>Unqualified</th> </tr> <tr> <th>Admitted</th> <td>45</td> <td>3</td> </tr> <tr> <th>Rejected</th> <td>45</td> <td>7</td> </tr> <tr> <th>Total</th> <td>90</td> <td>10</td> </tr> <tr> <td colspan="3"> Percentage of qualified students admitted: 45/90 = 50%<br/> Percentage of unqualified students rejected: 7/10 = 70%<br/> Total percentage of Lilliputian students admitted: (45+3)/100 = 48% </td> </tr> </table> <p>&nbsp;</p> <p><strong>Table 2.</strong> Brobdingnagian applicants (10% are qualified):</p> <table> <tr> <th>&nbsp;</th> <th>Qualified</th> <th>Unqualified</th> </tr> <tr> <th>Admitted</th> <td>5</td> <td>9</td> </tr> <tr> <th>Rejected</th> <td>5</td> <td>81</td> </tr> <tr> <th>Total</th> <td>10</td> <td>90</td> </tr> <tr> <td colspan="3"> Percentage of qualified students admitted: 5/10 = 50%<br/> Percentage of unqualified students rejected: 81/90 = 90%<br/> Total percentage of Brobdingnagian students admitted: (5+9)/100 = 14% </td> </tr> </table> <p>The preceding examples satisfy equality of opportunity for acceptance of qualified students because qualified Lilliputians and Brobdingnagians both have a 50% chance of being admitted.</p> <p>While equality of opportunity is satisfied, the following two fairness metrics are not satisfied:</p> <ul> <li><a href="#demographic_parity"><strong>demographic parity</strong></a>: Lilliputians and Brobdingnagians are admitted to the university at different rates; 48% of Lilliputians students are admitted, but only 14% of Brobdingnagian students are admitted.</li> <li><a href="#equalized_odds"><strong>equalized odds</strong></a>: While qualified Lilliputian and Brobdingnagian students both have the same chance of being admitted, the additional constraint that unqualified Lilliputians and Brobdingnagians both have the same chance of being rejected is not satisfied. Unqualified Lilliputians have a 70% rejection rate, whereas unqualified Brobdingnagians have a 90% rejection rate.</li> </ul> <p>See <a href="/machine-learning/crash-course/fairness/equality-of-opportunity">Fairness: Equality of opportunity</a> in Machine Learning Crash Course for more information.</p> <p><a class="glossary-anchor" name="equalized_odds"></a> <h2 class="hide-from-toc" id="equalized-odds" data-text=" equalized odds" tabindex="-1"> equalized odds</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>A fairness metric to assess whether a model is predicting outcomes equally well for all values of a <a href="#sensitive_attribute"><strong>sensitive attribute</strong></a> with respect to both the <a href="/machine-learning/glossary#positive_class"><strong>positive class</strong></a> and <a href="/machine-learning/glossary#negative_class"><strong>negative class</strong></a>—not just one class or the other exclusively. In other words, both the <a href="/machine-learning/glossary#TP_rate"><strong>true positive rate</strong></a> and <a href="/machine-learning/glossary#false-negative-rate"><strong>false negative rate</strong></a> should be the same for all groups.</p> <p>Equalized odds is related to <a href="#equality_of_opportunity"><strong>equality of opportunity</strong></a>, which only focuses on error rates for a single class (positive or negative).</p> <p>For example, suppose Glubbdubdrib University admits both Lilliputians and Brobdingnagians to a rigorous mathematics program. Lilliputians&#39; secondary schools offer a robust curriculum of math classes, and the vast majority of students are qualified for the university program. Brobdingnagians&#39; secondary schools don&#39;t offer math classes at all, and as a result, far fewer of their students are qualified. Equalized odds is satisfied provided that no matter whether an applicant is a Lilliputian or a Brobdingnagian, if they are qualified, they are equally as likely to get admitted to the program, and if they are not qualified, they are equally as likely to get rejected.</p> <p>Suppose 100 Lilliputians and 100 Brobdingnagians apply to Glubbdubdrib University, and admissions decisions are made as follows:</p> <p><strong>Table 3.</strong> Lilliputian applicants (90% are qualified)</p> <table> <tr> <th>&nbsp;</th> <th>Qualified</th> <th>Unqualified</th> </tr> <tr> <th>Admitted</th> <td>45</td> <td>2</td> </tr> <tr> <th>Rejected</th> <td>45</td> <td>8</td> </tr> <tr> <th>Total</th> <td>90</td> <td>10</td> </tr> <tr> <td colspan="3"> Percentage of qualified students admitted: 45/90 = 50%<br/> Percentage of unqualified students rejected: 8/10 = 80%<br/> Total percentage of Lilliputian students admitted: (45+2)/100 = 47% </td> </tr> </table> <p>&nbsp;</p> <p><strong>Table 4.</strong> Brobdingnagian applicants (10% are qualified):</p> <table> <tr> <th>&nbsp;</th> <th>Qualified</th> <th>Unqualified</th> </tr> <tr> <th>Admitted</th> <td>5</td> <td>18</td> </tr> <tr> <th>Rejected</th> <td>5</td> <td>72</td> </tr> <tr> <th>Total</th> <td>10</td> <td>90</td> </tr> <tr> <td colspan="3"> Percentage of qualified students admitted: 5/10 = 50%<br/> Percentage of unqualified students rejected: 72/90 = 80%<br/> Total percentage of Brobdingnagian students admitted: (5+18)/100 = 23% </td> </tr> </table> <p>Equalized odds is satisfied because qualified Lilliputian and Brobdingnagian students both have a 50% chance of being admitted, and unqualified Lilliputian and Brobdingnagian have an 80% chance of being rejected.</p> <aside class="note"><strong>Note:</strong><span> While equalized odds is satisfied here, <a href="#demographic_parity"><strong>demographic parity</strong></a> is <em>not satisfied</em>. Lilliputian and Brobdingnagian students are admitted to Glubbdubdrib University at different rates; 47% of Lilliputian students are admitted, and 23% of Brobdingnagian students are admitted.</span></aside> <p>Equalized odds is formally defined in <a href="https://arxiv.org/pdf/1610.02413.pdf" target="T">&quot;Equality of Opportunity in Supervised Learning&quot;</a> as follows: &quot;predictor Ŷ satisfies equalized odds with respect to protected attribute A and outcome Y if Ŷ and A are independent, conditional on Y.&quot;</p> <aside class="note"><strong>Note:</strong><span> Contrast equalized odds with the more relaxed <a href="#equality_of_opportunity"><strong>equality of opportunity</strong></a> metric.</span></aside> <p><a class="glossary-anchor" name="experimenters_bias"></a> <h2 class="hide-from-toc" id="experimenters-bias" data-text=" experimenter's bias " tabindex="-1"> experimenter's bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>See <a href="#confirmation_bias"><strong>confirmation bias</strong></a>.</p> <p><a class="glossary-anchor" name="f"></a> <h2 class="glossary" id="f" data-text="F" tabindex="-1">F</h2></p> <p><a class="glossary-anchor" name="fairness_constraint"></a> <h2 class="hide-from-toc" id="fairness-constraint" data-text=" fairness constraint" tabindex="-1"> fairness constraint</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div> Applying a constraint to an algorithm to ensure one or more definitions of fairness are satisfied. Examples of fairness constraints include:</p> <ul> <li><a href="#post-processing"><strong>Post-processing</strong></a> your model&#39;s output.</li> <li>Altering the <a href="/machine-learning/glossary#loss"><strong>loss function</strong></a> to incorporate a penalty for violating a <a href="#fairness_metric"><strong>fairness metric</strong></a>.</li> <li>Directly adding a mathematical constraint to an optimization problem.</li> </ul> <p><a class="glossary-anchor" name="fairness_metric"></a> <h2 class="hide-from-toc" id="fairness-metric" data-text=" fairness metric" tabindex="-1"> fairness metric</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>A mathematical definition of &quot;fairness&quot; that is measurable. Some commonly used fairness metrics include:</p> <ul> <li><a href="#equalized_odds"><strong>equalized odds</strong></a></li> <li><a href="#predictive_parity"><strong>predictive parity</strong></a></li> <li><a href="#counterfactual_fairness"><strong>counterfactual fairness</strong></a></li> <li><a href="#demographic_parity"><strong>demographic parity</strong></a></li> </ul> <p>Many fairness metrics are mutually exclusive; see <a href="/machine-learning/glossary#incompatibility_of_fairness_metrics"><strong>incompatibility of fairness metrics</strong></a>.</p> <p><a class="glossary-anchor" name="g"></a> <h2 class="glossary" id="g" data-text="G" tabindex="-1">G</h2></p> <p><a class="glossary-anchor" name="group_attribution_bias"></a> <h2 class="hide-from-toc" id="group-attribution-bias" data-text=" group attribution bias " tabindex="-1"> group attribution bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>Assuming that what is true for an individual is also true for everyone in that group. The effects of group attribution bias can be exacerbated if a <a href="/machine-learning/glossary#convenience_sampling"><strong>convenience sampling</strong></a> is used for data collection. In a non-representative sample, attributions may be made that don&#39;t reflect reality.</p> <p>See also <a href="#out-group_homogeneity_bias"><strong>out-group homogeneity bias</strong></a> and <a href="#in-group_bias"><strong>in-group bias</strong></a>. Also, see <a href="/machine-learning/crash-course/fairness/types-of-bias">Fairness: Types of bias</a> in Machine Learning Crash Course for more information.</p> <p><a class="glossary-anchor" name="h"></a> <h2 class="glossary" id="h" data-text="H" tabindex="-1">H</h2></p> <p><a class="glossary-anchor" name="historical_bias"></a> <h2 class="hide-from-toc" id="historical-bias" data-text=" historical bias" tabindex="-1"> historical bias</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>A type of <a href="#bias_ethics"><strong>bias</strong></a> that already exists in the world and has made its way into a dataset. These biases have a tendency to reflect existing cultural stereotypes, demographic inequalities, and prejudices against certain social groups.</p> <p>For example, consider a <a href="/machine-learning/glossary#classification_model"><strong>classification model</strong></a> that predicts whether or not a loan applicant will default on their loan, which was trained on historical loan-default data from the 1980s from local banks in two different communities. If past applicants from Community A were six times more likely to default on their loans than applicants from Community B, the model might learn a historical bias resulting in the model being less likely to approve loans in Community A, even if the historical conditions that resulted in that community&#39;s higher default rates were no longer relevant.</p> <p>See <a href="/machine-learning/crash-course/fairness/types-of-bias">Fairness: Types of bias</a> in Machine Learning Crash Course for more information.</p> <p><a class="glossary-anchor" name="i"></a> <h2 class="glossary" id="i" data-text="I" tabindex="-1">I</h2></p> <p><a class="glossary-anchor" name="implicit_bias"></a> <h2 class="hide-from-toc" id="implicit-bias" data-text=" implicit bias " tabindex="-1"> implicit bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>Automatically making an association or assumption based on one&#39;s mind models and memories. Implicit bias can affect the following:</p> <ul> <li>How data is collected and classified.</li> <li>How machine learning systems are designed and developed.</li> </ul> <p>For example, when building a classifier to identify wedding photos, an engineer may use the presence of a white dress in a photo as a feature. However, white dresses have been customary only during certain eras and in certain cultures.</p> <p>See also <a href="#confirmation_bias"><strong>confirmation bias</strong></a>.</p> <p><a class="glossary-anchor" name="incompatibility"></a> <h2 class="hide-from-toc" id="incompatibility-of-fairness-metrics" data-text=" incompatibility of fairness metrics" tabindex="-1"> incompatibility of fairness metrics</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>The idea that some notions of fairness are mutually incompatible and cannot be satisfied simultaneously. As a result, there is no single universal <a href="#fairness_metric"><strong>metric</strong></a> for quantifying fairness that can be applied to all ML problems.</p> <p>While this may seem discouraging, incompatibility of fairness metrics doesn&#39;t imply that fairness efforts are fruitless. Instead, it suggests that fairness must be defined contextually for a given ML problem, with the goal of preventing harms specific to its use cases.</p> <p>See <a href="https://arxiv.org/pdf/1609.07236.pdf" target="T">&quot;On the (im)possibility of fairness&quot;</a> for a more detailed discussion of the incompatibility of fairness metrics.</p> <p><a class="glossary-anchor" name="individual_fairness"></a> <h2 class="hide-from-toc" id="individual-fairness" data-text=" individual fairness" tabindex="-1"> individual fairness</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>A fairness metric that checks whether similar individuals are classified similarly. For example, Brobdingnagian Academy might want to satisfy individual fairness by ensuring that two students with identical grades and standardized test scores are equally likely to gain admission.</p> <p>Note that individual fairness relies entirely on how you define &quot;similarity&quot; (in this case, grades and test scores), and you can run the risk of introducing new fairness problems if your similarity metric misses important information (such as the rigor of a student&#39;s curriculum).</p> <p>See <a href="https://arxiv.org/pdf/1104.3913.pdf" target="T">&quot;Fairness Through Awareness&quot;</a> for a more detailed discussion of individual fairness.</p> <p><a class="glossary-anchor" name="in-group_bias"></a> <h2 class="hide-from-toc" id="in-group-bias" data-text=" in-group bias " tabindex="-1"> in-group bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>Showing partiality to one&#39;s own group or own characteristics. If testers or raters consist of the machine learning developer&#39;s friends, family, or colleagues, then in-group bias may invalidate product testing or the dataset.</p> <p>In-group bias is a form of <a href="#group_attribution_bias"><strong>group attribution bias</strong></a>. See also <a href="#out-group_homogeneity_bias"><strong>out-group homogeneity bias</strong></a>.</p> <p>See <a href="/machine-learning/crash-course/fairness/types-of-bias">Fairness: Types of bias</a> in Machine Learning Crash Course for more information.</p> <p><a class="glossary-anchor" name="n"></a> <h2 class="glossary" id="n" data-text="N" tabindex="-1">N</h2></p> <p><a class="glossary-anchor" name="non-response_bias"></a> <h2 class="hide-from-toc" id="non-response-bias" data-text=" non-response bias " tabindex="-1"> non-response bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>See <a href="#selection_bias"><strong>selection bias</strong></a>.</p> <p><a class="glossary-anchor" name="o"></a> <h2 class="glossary" id="o" data-text="O" tabindex="-1">O</h2></p> <p><a class="glossary-anchor" name="out-group_homogeneity_bias"></a> <h2 class="hide-from-toc" id="out-group-homogeneity-bias" data-text=" out-group homogeneity bias " tabindex="-1"> out-group homogeneity bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>The tendency to see out-group members as more alike than in-group members when comparing attitudes, values, personality traits, and other characteristics. <strong>In-group</strong> refers to people you interact with regularly; <strong>out-group</strong> refers to people you don&#39;t interact with regularly. If you create a dataset by asking people to provide attributes about out-groups, those attributes may be less nuanced and more stereotyped than attributes that participants list for people in their in-group.</p> <p>For example, Lilliputians might describe the houses of other Lilliputians in great detail, citing small differences in architectural styles, windows, doors, and sizes. However, the same Lilliputians might simply declare that Brobdingnagians all live in identical houses.</p> <p>Out-group homogeneity bias is a form of <a href="#group_attribution_bias"><strong>group attribution bias</strong></a>.</p> <p>See also <a href="#in-group_bias"><strong>in-group bias</strong></a>.</p> <p><a class="glossary-anchor" name="p"></a> <h2 class="glossary" id="p" data-text="P" tabindex="-1">P</h2></p> <p><a class="glossary-anchor" name="participation_bias"></a> <h2 class="hide-from-toc" id="participation-bias" data-text=" participation bias" tabindex="-1"> participation bias</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>Synonym for non-response bias. See <a href="#selection_bias"><strong>selection bias</strong></a>.</p> <p><a class="glossary-anchor" name="post-processing"></a> <h2 class="hide-from-toc" id="post-processing" data-text=" post-processing" tabindex="-1"> post-processing</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="ML Fundamentals">#fundamentals</div> </div></p> <p>Adjusting the output of a model <em>after</em> the model has been run. Post-processing can be used to enforce fairness constraints without modifying models themselves.</p> <p>For example, one might apply post-processing to a binary classifier by setting a classification threshold such that <a href="#equality_of_opportunity"><strong>equality of opportunity</strong></a> is maintained for some attribute by checking that the <a href="/machine-learning/glossary#TP_rate"><strong>true positive rate</strong></a> is the same for all values of that attribute.</p> <p><a class="glossary-anchor" name="predictive_parity"></a> <h2 class="hide-from-toc" id="predictive-parity" data-text=" predictive parity" tabindex="-1"> predictive parity</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>A <a href="#fairness_metric"><strong>fairness metric</strong></a> that checks whether, for a given classifier, the <a href="/machine-learning/glossary#precision"><strong>precision</strong></a> rates are equivalent for subgroups under consideration.</p> <p>For example, a model that predicts college acceptance would satisfy predictive parity for nationality if its precision rate is the same for Lilliputians and Brobdingnagians.</p> <p>Predictive parity is sometime also called <em>predictive rate parity</em>.</p> <p>See <a href="http://fairware.cs.umass.edu/papers/Verma.pdf">&quot;Fairness Definitions Explained&quot;</a> (section 3.2.1) for a more detailed discussion of predictive parity.</p> <p><a class="glossary-anchor" name="predictive_rate_parity"></a> <h2 class="hide-from-toc" id="predictive-rate-parity" data-text=" predictive rate parity" tabindex="-1"> predictive rate parity</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> <div class="glossary-icon" title="Metric">#Metric</div> </div></p> <p>Another name for <a href="#predictive_parity"><strong>predictive parity</strong></a>.</p> <p><a class="glossary-anchor" name="preprocessing"></a> <h2 class="hide-from-toc" id="preprocessing" data-text=" preprocessing" tabindex="-1"> preprocessing</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div> Processing data before it&#39;s used to train a model. Preprocessing could be as simple as removing words from an English text corpus that don&#39;t occur in the English dictionary, or could be as complex as re-expressing data points in a way that eliminates as many attributes that are correlated with <a href="#sensitive_attribute"><strong>sensitive attributes</strong></a> as possible. Preprocessing can help satisfy <a href="#fairness_constraint"><strong>fairness constraints</strong></a>.</p> <p><a class="glossary-anchor" name="proxy_sensitive_attributes"></a> <h2 class="hide-from-toc" id="proxy-sensitive-attributes" data-text=" proxy (sensitive attributes)" tabindex="-1"> proxy (sensitive attributes)</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div> An attribute used as a stand-in for a <a href="#sensitive_attribute"><strong>sensitive attribute</strong></a>. For example, an individual&#39;s postal code might be used as a proxy for their income, race, or ethnicity.</p> <p><a class="glossary-anchor" name="r"></a> <h2 class="glossary" id="r" data-text="R" tabindex="-1">R</h2></p> <p><a class="glossary-anchor" name="reporting_bias"></a> <h2 class="hide-from-toc" id="reporting-bias" data-text=" reporting bias " tabindex="-1"> reporting bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>The fact that the frequency with which people write about actions, outcomes, or properties is not a reflection of their real-world frequencies or the degree to which a property is characteristic of a class of individuals. Reporting bias can influence the composition of data that machine learning systems learn from.</p> <p>For example, in books, the word <em>laughed</em> is more prevalent than <em>breathed</em>. A machine learning model that estimates the relative frequency of laughing and breathing from a book corpus would probably determine that laughing is more common than breathing.</p> <p>See <a href="/machine-learning/crash-course/fairness/types-of-bias">Fairness: Types of bias</a> in Machine Learning Crash Course for more information.</p> <p><a class="glossary-anchor" name="s"></a> <h2 class="glossary" id="s" data-text="S" tabindex="-1">S</h2></p> <p><a class="glossary-anchor" name="sampling_bias"></a> <h2 class="hide-from-toc" id="sampling-bias" data-text=" sampling bias " tabindex="-1"> sampling bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>See <a href="#selection_bias"><strong>selection bias</strong></a>.</p> <p><a class="glossary-anchor" name="selection_bias"></a> <h2 class="hide-from-toc" id="selection-bias" data-text=" selection bias " tabindex="-1"> selection bias </h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>Errors in conclusions drawn from sampled data due to a selection process that generates systematic differences between samples observed in the data and those not observed. The following forms of selection bias exist:</p> <ul> <li><strong>coverage bias</strong>: The population represented in the dataset doesn&#39;t match the population that the machine learning model is making predictions about.</li> <li><strong>sampling bias</strong>: Data is not collected randomly from the target group.</li> <li><strong>non-response bias</strong> (also called <strong>participation bias</strong>): Users from certain groups opt-out of surveys at different rates than users from other groups.</li> </ul> <p>For example, suppose you are creating a machine learning model that predicts people&#39;s enjoyment of a movie. To collect training data, you hand out a survey to everyone in the front row of a theater showing the movie. Offhand, this may sound like a reasonable way to gather a dataset; however, this form of data collection may introduce the following forms of selection bias:</p> <ul> <li>coverage bias: By sampling from a population who chose to see the movie, your model&#39;s predictions may not generalize to people who did not already express that level of interest in the movie.</li> <li>sampling bias: Rather than randomly sampling from the intended population (all the people at the movie), you sampled only the people in the front row. It is possible that the people sitting in the front row were more interested in the movie than those in other rows.</li> <li>non-response bias: In general, people with strong opinions tend to respond to optional surveys more frequently than people with mild opinions. Since the movie survey is optional, the responses are more likely to form a <a href="https://wikipedia.org/wiki/Multimodal_distribution" target="T">bimodal distribution</a> than a normal (bell-shaped) distribution.</li> </ul> <p><a class="glossary-anchor" name="sensitive_attribute"></a> <h2 class="hide-from-toc" id="sensitive-attribute" data-text=" sensitive attribute" tabindex="-1"> sensitive attribute</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div> A human attribute that may be given special consideration for legal, ethical, social, or personal reasons.</p> <p><a class="glossary-anchor" name="u"></a> <h2 class="glossary" id="u" data-text="U" tabindex="-1">U</h2></p> <p><a class="glossary-anchor" name="unawareness"></a> <h2 class="hide-from-toc" id="unawareness-to-a-sensitive-attribute" data-text=" unawareness (to a sensitive attribute)" tabindex="-1"> unawareness (to a sensitive attribute)</h2> <div class="glossary-icon-container"> <div class="glossary-icon" title="Fairness">#fairness</div> </div></p> <p>A situation in which <a href="#sensitive_attribute"><strong>sensitive attributes</strong></a> are present, but not included in the training data. Because sensitive attributes are often correlated with other attributes of one&#39;s data, a model trained with unawareness about a sensitive attribute could still have <a href="#disparate_impact"><strong>disparate impact</strong></a> with respect to that attribute, or violate other <a href="#fairness_constraint"><strong>fairness constraints</strong></a>.</p> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Machine Learning" product-id="5005867" bucket="" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/touchicon-180-new.png" > <button> Send feedback </button> </devsite-feedback> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2025-01-13 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Machine Learning" product-id="5005867" bucket="" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/touchicon-180-new.png" > <button> Need to tell us more? </button> </devsite-feedback> </template> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-01-13 UTC."],[[["This glossary defines key terminology related to fairness in machine learning, encompassing biases, metrics, discrimination types, and mitigation strategies."],["Understanding various biases, such as automation, confirmation, and selection bias, is crucial for recognizing potential sources of unfairness in machine learning systems."],["Fairness metrics, including demographic parity, equality of opportunity, and equalized odds, offer ways to assess and measure fairness but can sometimes be mutually exclusive."],["Mitigating unfairness involves applying fairness constraints, such as pre-processing, post-processing, or altering loss functions, to ensure equitable outcomes."],["Recognizing the complexity of fairness in machine learning and the potential for sensitive attribute proxies is essential for developing responsible AI systems."]]],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//googledevelopers.blogspot.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.instagram.com/googlefordevs/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Instagram </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.linkedin.com/showcase/googledevelopers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > LinkedIn </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/googledevs" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > X (Twitter) </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/user/GoogleDevelopers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > YouTube </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Programs</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/community" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google Developer Groups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/experts" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Developer Experts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/accelerators" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Accelerators </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/womentechmakers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Women Techmakers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.techequitycollective.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Tech Equity Collective </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Developer consoles</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//console.developers.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google API Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.cloud.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Cloud Platform Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//play.google.com/apps/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Google Play Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.firebase.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Firebase Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.actions.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Actions on Google Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cast.google.com/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" > Cast SDK Developer Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//chrome.google.com/webstore/developer/dashboard" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" > Chrome Web Store Dashboard </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.home.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" > Google Home Developer Console </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{&#34;dimensions&#34;: {&#34;dimension11&#34;: false, &#34;dimension4&#34;: &#34;Machine Learning&#34;, &#34;dimension3&#34;: false, &#34;dimension5&#34;: &#34;en&#34;, &#34;dimension1&#34;: &#34;Signed out&#34;, &#34;dimension6&#34;: &#34;en&#34;}, &#34;gaid&#34;: &#34;UA-24532603-1&#34;, &#34;metrics&#34;: {&#34;ratings_count&#34;: &#34;metric2&#34;, &#34;ratings_value&#34;: &#34;metric1&#34;}, &#34;purpose&#34;: 1}, {&#34;dimensions&#34;: {&#34;dimension11&#34;: false, &#34;dimension4&#34;: &#34;Machine Learning&#34;, &#34;dimension3&#34;: false, &#34;dimension5&#34;: &#34;en&#34;, &#34;dimension1&#34;: &#34;Signed out&#34;, &#34;dimension6&#34;: &#34;en&#34;}, &#34;gaid&#34;: &#34;UA-105980039-1&#34;, &#34;metrics&#34;: {&#34;ratings_count&#34;: &#34;metric2&#34;, &#34;ratings_value&#34;: &#34;metric1&#34;}, &#34;purpose&#34;: 0}]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}, {&#34;id&#34;: &#34;G-PRD3Z0HRX3&#34;, &#34;purpose&#34;: 0}], &#34;ga4p&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;gtm&#34;: [], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;Machine Learning&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;developers&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="I3gg64ufKKUgbtKSOtyDEAkJh/Z2LL"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["MiscFeatureFlags__enable_view_transitions","Analytics__enable_clearcut_logging","Profiles__require_profile_eligibility_for_signin","Cloud__enable_cloud_dlp_service","MiscFeatureFlags__developers_footer_image","Concierge__enable_concierge","Cloud__enable_cloud_shell_fte_user_flow","Profiles__enable_public_developer_profiles","Cloud__enable_cloudx_ping","CloudShell__cloud_shell_button","MiscFeatureFlags__enable_firebase_utm","Search__enable_page_map","Experiments__reqs_query_experiments","Cloud__enable_cloud_facet_chat","BookNav__enable_tenant_cache_key","MiscFeatureFlags__enable_project_variables","DevPro__enable_cloud_innovators_plus","MiscFeatureFlags__emergency_css","Profiles__enable_completecodelab_endpoint","TpcFeatures__enable_unmirrored_page_left_nav","Concierge__enable_key_takeaways","Concierge__enable_pushui","Profiles__enable_join_program_group_endpoint","MiscFeatureFlags__enable_explain_this_code","Search__enable_dynamic_content_confidential_banner","CloudShell__cloud_code_overflow_menu","Profiles__enable_stripe_subscription_management","MiscFeatureFlags__enable_variable_operator","Cloud__enable_cloudx_experiment_ids","Profiles__enable_developer_profiles_callout","Search__enable_ai_eligibility_checks","Profiles__enable_completequiz_endpoint","Profiles__enable_profile_collections","Search__enable_suggestions_from_borg","Cloud__enable_legacy_calculator_redirect","Cloud__enable_llm_concierge_chat","Search__enable_ai_search_summaries_restricted","Profiles__enable_recognition_badges","Profiles__enable_page_saving","DevPro__enable_developer_subscriptions","Search__enable_ai_search_summaries","TpcFeatures__enable_mirror_tenant_redirects","Cloud__enable_cloud_shell","Profiles__enable_dashboard_curated_recommendations","Profiles__enable_awarding_url","Cloud__enable_free_trial_server_call","MiscFeatureFlags__developers_footer_dark_image","Significatio__enable_by_tenant","Profiles__enable_complete_playlist_endpoint","Profiles__enable_release_notes_notifications","Concierge__enable_concierge_restricted","EngEduTelemetry__enable_engedu_telemetry"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[1,1],[14,11],[4,3],[12,9],[6,5],[16,13],[15,12],[5,4],[3,2],[13,10],[11,8]],[[2,2],[1,1]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m",1]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10