CINXE.COM

Towards Data Science

<!DOCTYPE html><html xmlns:cc="http://creativecommons.org/ns#"><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# medium-com: http://ogp.me/ns/fb/medium-com#"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=contain"><title>Towards Data Science</title><link rel="canonical" href="https://towardsdatascience.com"><link id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="https://towardsdatascience.com/feed"><meta name="robots" content="index,follow"><meta name="title" content="Towards Data Science"><meta name="referrer" content="unsafe-url"><meta name="description" content="Your home for data science and AI. The world’s leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals."><meta name="keywords" content="DATA SCIENCE, MACHINE LEARNING, ARTIFICIAL INTELLIGENCE, DATA ENGINEERING, DATA"><meta name="theme-color" content="#000000"><meta property="og:title" content="Towards Data Science"><meta property="twitter:title" content="Towards Data Science"><meta property="og:url" content="https://towardsdatascience.com/"><meta property="og:image" content="https://cdn-images-1.medium.com/max/1200/1*CJe3891yB1A1mzMdqemkdg.jpeg"><meta property="fb:app_id" content="542599432471018"><meta property="og:description" content="Your home for data science and AI. The world’s leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals."><meta name="twitter:description" content="Your home for data science and AI. The world’s leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals."><meta name="twitter:image:src" content="https://cdn-images-1.medium.com/max/1200/1*CJe3891yB1A1mzMdqemkdg.jpeg"><meta property="og:type" content="medium-com:collection"><meta name="twitter:card" content="summary_large_image"><meta property="medium-com:creator" content="https://towardsdatascience.com/@engineering_48478"><meta name="twitter:site" content="@TDataScience"><meta property="og:site_name" content="Towards Data Science"><meta name="twitter:app:name:iphone" content="Medium"><meta name="twitter:app:id:iphone" content="828256236"><meta name="twitter:app:url:iphone" content="medium://towards-data-science"><meta property="al:ios:app_name" content="Medium"><meta property="al:ios:app_store_id" content="828256236"><meta property="al:android:package" content="com.medium.reader"><meta property="al:android:app_name" content="Medium"><meta property="al:ios:url" content="medium://towards-data-science"><meta property="al:android:url" content="medium://towards-data-science"><meta property="al:web:url" content="https://towardsdatascience.com/"><link rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml" /><link rel="alternate" href="android-app://com.medium.reader/https/medium.com/towards-data-science" /><script type="application/ld+json">{"@context": "http://schema.org", "@graph": [{"@type": "WebSite", "url": "https:\/\/towardsdatascience.com", "name": "Towards Data Science", "alternateName": "Your home for data science and AI. The world’s leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals."},{"@type": "Organization", "url": "https:\/\/towardsdatascience.com", "name": "Towards Data Science"}]}</script><link rel="stylesheet" href="https://cdn-static-1.medium.com/_/fp/css/main-branding-base.ouwh4uMviI3QQWIjxRhkHA.12.css"><script>!function(n,e){var t,o,i,c=[],f={passive:!0,capture:!0},r=new Date,a="pointerup",u="pointercancel";function p(n,c){t||(t=c,o=n,i=new Date,w(e),s())}function s(){o>=0&&o<i-r&&(c.forEach(function(n){n(o,t)}),c=[])}function l(t){if(t.cancelable){var o=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,o){function i(){p(t,o),r()}function c(){r()}function r(){e(a,i,f),e(u,c,f)}n(a,i,f),n(u,c,f)}(o,t):p(o,t)}}function w(n){["click","mousedown","keydown","touchstart","pointerdown"].forEach(function(e){n(e,l,f)})}w(n),self.perfMetrics=self.perfMetrics||{},self.perfMetrics.onFirstInputDelay=function(n){c.push(n),s()}}(addEventListener,removeEventListener);</script><script>document.domain = document.domain;</script><script>if (window.top !== window.self) window.location = 'about:blank';var OB_startTime = new Date().getTime(); var OB_loadErrors = []; function _onerror(e) { OB_loadErrors.push(e) }; if (document.addEventListener) document.addEventListener("error", _onerror, true); else if (document.attachEvent) document.attachEvent("onerror", _onerror); function _asyncScript(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("script"); s.type = "text/javascript"; s.async = true; s.src = u; f.parentNode.insertBefore(s, f);}function _asyncStyles(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("link"); s.rel = "stylesheet"; s.href = u; f.parentNode.insertBefore(s, f); return s}(new Image()).src = "/_/stat?event=pixel.load&origin=" + encodeURIComponent(location.origin);</script><script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga("create", "G-7JY7T788PK", "auto", {"allowLinker": true, "legacyCookieDomain": window.location.hostname});ga("send", "pageview");</script><script async src="https://www.google-analytics.com/analytics.js"></script><script>(function () {var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; document.write("<style>section.section-image--fullBleed.is-backgrounded {padding-top: " + Math.round(1.1 * height) + "px;}section.section-image--fullScreen.is-backgrounded, section.section-image--coverFade.is-backgrounded {min-height: " + height + "px; padding-top: " + Math.round(0.5 * height) + "px;}.u-height100vh {height: " + height + "px !important;}.u-height110vh {height: " + Math.round(1.1 * height) + "px !important;}.u-minHeight100vh {min-height: " + height + "px !important;}.u-maxHeight100vh {max-height: " + height + "px !important;}section.section-image--coverFade {height: " + height + "px;}.section-aspectRatioViewportPlaceholder, .section-aspectRatioViewportCropPlaceholder {max-height: " + height + "px;}.section-aspectRatioViewportBottomSpacer, .section-aspectRatioViewportBottomPlaceholder {max-height: " + Math.round(0.5 * height) + "px;}.zoomable:before {top: " + (-1 * height) + "px; left: " + (-1 * width) + "px; padding: " + height + "px " + width + "px;}</style>");})()</script><!--[if lt IE 9]><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js"></script><![endif]--><link rel="icon" href="https://cdn-images-1.medium.com/fit/c/256/256/1*VzTUkfeGymHP4Bvav-T-lA.png" class="js-favicon"><link rel="apple-touch-icon" sizes="152x152" href="https://cdn-images-1.medium.com/fit/c/304/304/1*CJe3891yB1A1mzMdqemkdg.jpeg"><link rel="apple-touch-icon" sizes="120x120" href="https://cdn-images-1.medium.com/fit/c/240/240/1*CJe3891yB1A1mzMdqemkdg.jpeg"><link rel="apple-touch-icon" sizes="76x76" href="https://cdn-images-1.medium.com/fit/c/152/152/1*CJe3891yB1A1mzMdqemkdg.jpeg"><link rel="apple-touch-icon" sizes="60x60" href="https://cdn-images-1.medium.com/fit/c/120/120/1*CJe3891yB1A1mzMdqemkdg.jpeg"><link rel="mask-icon" href="https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg" color="#171717"></head><body itemscope class=" browser-ie os-windows v-unbound v-glyph v-glyph--m2-unbound-source-serif-pro is-noJs"><script>document.body.className = document.body.className.replace(/(^|\s)is-noJs(\s|$)/, "$1is-js$2")</script><div class="site-main" id="container"><div class="butterBar butterBar--error"></div><div class="surface"><div id="prerendered" class="screenContent"><div class="metabar u-clearfix u-textColorTransparentWhiteDarker u-tintBgColor u-tintSpectrum js-metabar"><div class="branch-journeys-top"></div><div class="js-metabarMiddle metabar-inner u-marginAuto u-maxWidth1032 u-flexCenter u-justifyContentSpaceBetween u-height65 u-xs-height56 u-paddingHorizontal20"><div class="metabar-block u-flex1 u-flexCenter"><div class="js-metabarLogoLeft"><a href="https://medium.com/" data-log-event="home" class="siteNav-logo u-fillWhite u-flex0 u-flexCenter u-paddingTop0"><span class="svgIcon svgIcon--wordmarkMedium svgIcon--120x26px u-flex"><svg class="svgIcon-use" width="120" height="26" ><path d="M29.57 1.404l.036-.008V1.12h-7.27l-6.75 15.979-6.75-15.98H1.003v.278l.035.008c1.327.302 2 .752 2 2.374v18.993c0 1.623-.676 2.073-2.003 2.374L1 25.153v.279h5.315v-.278l-.035-.008c-1.327-.302-2-.751-2-2.374V4.88l8.67 20.552h.492l8.924-21.125V23.24c-.114 1.282-.782 1.677-1.983 1.95l-.036.009v.275h9.259V25.2l-.036-.008c-1.203-.274-1.886-.67-2-1.95l-.006-19.464h.006c0-1.622.674-2.072 2-2.374zm4.23 12.582c.15-3.412 1.367-5.875 3.41-5.918.629.01 1.157.219 1.568.62.872.852 1.282 2.634 1.219 5.298h-6.198zm-.092.962h10.85v-.046c-.03-2.61-.78-4.64-2.228-6.033-1.25-1.204-3.103-1.867-5.048-1.867h-.043c-1.01 0-2.248.246-3.13.693a7.316 7.316 0 00-2.623 2.086c-1.185 1.479-1.903 3.477-2.078 5.724a13.717 13.717 0 00-.04.755c-.004.195-.005.39-.001.587.117 5.087 2.846 9.153 7.692 9.153 4.254 0 6.73-3.132 7.348-7.336l-.312-.11c-1.085 2.259-3.034 3.628-5.252 3.461-3.028-.228-5.347-3.32-5.137-7.066m23.122 6.893c-.356.85-1.099 1.319-2.094 1.319-.995 0-1.905-.689-2.552-1.939-.694-1.342-1.06-3.24-1.06-5.487 0-4.678 1.445-7.704 3.68-7.704.937 0 1.674.468 2.026 1.284v12.527zm7.198 3.335c-1.327-.316-2-.787-2-2.492V0l-8.062 2.392v.293l.05-.004c1.111-.09 1.866.064 2.304.472.343.32.51.809.51 1.498v3.11C56.033 7.25 55.088 7 53.94 7c-2.326 0-4.453.987-5.986 2.779-1.599 1.867-2.444 4.42-2.444 7.38 0 5.287 2.584 8.84 6.43 8.84 2.25 0 4.06-1.242 4.888-3.336v2.811h7.233v-.29l-.035-.008zM70.94 3.085c0-1.65-1.236-2.896-2.875-2.896-1.632 0-2.908 1.272-2.908 2.896 0 1.624 1.278 2.896 2.908 2.896 1.64 0 2.875-1.245 2.875-2.896zm1.903 22.092c-1.327-.316-2-.787-2-2.492h-.006V7.055l-7.234 2.092v.284l.043.004c1.566.14 1.994.683 1.994 2.525v13.515h7.24v-.29l-.037-.008zm18.536 0c-1.327-.316-2-.787-2-2.492V7.055L82.49 9.078v.285l.04.004c1.28.136 1.65.71 1.65 2.56v9.88c-.426.85-1.227 1.356-2.196 1.39-1.573 0-2.439-1.07-2.439-3.012V7.055l-7.234 2.092v.284l.044.004c1.565.14 1.994.683 1.994 2.525v8.362a9.443 9.443 0 00.15 1.741l.13.57C75.243 24.845 76.848 26 79.362 26c2.129 0 3.996-1.328 4.818-3.405v2.885h7.233v-.291l-.034-.012zm28.102.298v-.291l-.035-.009c-1.44-.334-2.001-.964-2.001-2.248V12.295C117.445 8.98 115.597 7 112.5 7c-2.257 0-4.16 1.314-4.893 3.36-.582-2.168-2.257-3.36-4.734-3.36-2.175 0-3.88 1.156-4.612 3.11V7.056l-7.233 2.006v.286l.043.004c1.547.138 1.994.697 1.994 2.492v13.631h6.75v-.29l-.037-.01c-1.148-.271-1.519-.767-1.519-2.04V10.95c.304-.715.917-1.562 2.127-1.562 1.504 0 2.266 1.05 2.266 3.116v12.972h6.751v-.29l-.035-.01c-1.149-.271-1.52-.767-1.52-2.04V12.294a7.107 7.107 0 00-.095-1.21c.322-.777.97-1.696 2.23-1.696 1.524 0 2.265 1.02 2.265 3.116v12.972h7.233z"/></svg></span><span class="u-textScreenReader">Homepage</span></a></div><div class="u-paddingLeft10 u-sm-show r-paddingRight10"><a href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com/towards-data-science%3F~feature=LoMobileNavBar&~channel=ShowCollectionHome&~stage=m2">Open in app</a></div></div><div class="metabar-block u-flex0 u-flexCenter"><div class="u-flexCenter u-height65 u-xs-height56"><div class="buttonSet buttonSet--wide u-lineHeightInherit"><a class="button button--primary button--light button--chromeless u-accentColor--buttonNormal is-inSiteNavBar u-xs-hide js-signInButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Ftowardsdatascience.com%2F%3Fsource%3Dlogo-lo_498bb2d22746---7f60cf5620c9&amp;source=--------------------------nav_reg&amp;operation=login" data-action="sign-in-prompt" data-redirect="https://towardsdatascience.com/?source=logo-lo_498bb2d22746---7f60cf5620c9" data-action-source="--------------------------nav_reg">Sign in</a><a class="button button--primary button--light button--withChrome u-accentColor--buttonNormal is-inSiteNavBar js-signUpButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Ftowardsdatascience.com%2F%3Fsource%3Dlogo-lo_498bb2d22746---7f60cf5620c9&amp;source=--------------------------nav_reg&amp;operation=register" data-action="sign-up-prompt" data-redirect="https://towardsdatascience.com/?source=logo-lo_498bb2d22746---7f60cf5620c9" data-action-source="--------------------------nav_reg">Get started</a></div></div></div></div></div><div class="metabar metabar--spacer js-metabarSpacer u-tintBgColor u-height65 u-xs-height56"></div><div class="collectionHeader js-collectionHeaderContainer u-relative collectionHeader--layoutMedium collectionHeader--alignmentLeft collectionHeader--withLogo collectionHeader--withoutBackground collectionHeader--colorBehaviorBold collectionHeader--withNavigation collectionHeader--editorLayoutTitleAndLogo is-modeView is-whiteLabel u-tintBgColor"><div class="collectionHeader-aspectRatioTable"><div class="collectionHeader-aspectRatioContent u-backgroundSizeCover js-collectionHeaderBackground"><div class="collectionHeader-overlayBackground u-height100vh"></div><header class="collectionHeader-heroAndInlineNav u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto u-foreground js-collectionHeader"><div class="collectionHeader-hero js-collectionHeaderHero u-clearfix u-tintSpectrum"><div class="collectionHeader-heroInner"><div class="collectionHeader-logo js-collectionHeaderLogo" style="max-width: 221px;"><a class="link u-baseColor--link" href="https://towardsdatascience.com" title="Go to Towards Data Science" aria-label="Go to Towards Data Science" data-collection-slug="towards-data-science"><div class="u-relative u-marginAuto"><div style="padding-bottom: 41.59848961611076%"></div><img class="collectionHeader-logoImage js-collectionHeaderLogoImage" src="https://cdn-images-1.medium.com/max/442/1*1m9fjwOZWwXIP82RWvRH5A@2x.png" data-image-id="1*1m9fjwOZWwXIP82RWvRH5A@2x.png" data-width="1589" data-height="661" /></div></a></div><div class="collectionHeader-nameAndDescription"><h2 class="collectionHeader-description js-collectionDescription u-foreground u-baseColor--textNormal u-contentSansRegular u-fontSize24 u-xs-fontSize18">The world’s leading publication for data science, AI, data analytics, data engineering and ML professionals.</h2></div></div></div></header></div><div class="collectionHeader-aspectRatioCell"><div class="collectionHeader-aspectRatioFullWidth"></div></div></div><div class="collectionHeader-blockNav"><div class="u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto"><nav class="collectionHeader-nav u-clearfix js-collectionHeaderNav u-lineHeight40 u-overflowHiddenY u-tintSpectrum"><div class="buttonSet u-flex1 u-noWrap u-overflowX u-paddingBottom100 u-xs-marginRight15"><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://towardsdatascience.com/latest">Latest</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://towardsdatascience.com/editors-picks/home">Editors&#39; Picks</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://towardsdatascience.com/deep-dives/home">Deep Dives</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://towardsdatascience.com/about-us/home">About</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://towardsdatascience.com/questions-96667b06af5">Contribute</a></li><span class="u-borderLeft1 u-paddingLeft22 u-xs-paddingLeft12 u-baseColor--borderLight"></span><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0 is-external"><a class="link link--darkenOnHover u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://medium.com/towards-data-science/newsletter" rel="nofollow noopener" target="_blank">Newsletter</a></li></div><div class="buttonSet u-textAlignRight u-marginLeft18 u-flex0 u-noWrap"><label class="button button--small button--chromeless button--withIcon button--withSvgIcon inputGroup u-sm-hide metabar-predictiveSearch u-baseColor--buttonNormal u-baseColor--placeholderNormal" title="Search"><span class="svgIcon svgIcon--search svgIcon--25px u-baseColor--iconLight"><svg class="svgIcon-use" width="25" height="25" ><path d="M20.067 18.933l-4.157-4.157a6 6 0 10-.884.884l4.157 4.157a.624.624 0 10.884-.884zM6.5 11c0-2.62 2.13-4.75 4.75-4.75S16 8.38 16 11s-2.13 4.75-4.75 4.75S6.5 13.62 6.5 11z"/></svg></span><input class="js-predictiveSearchInput textInput textInput--rounded textInput--darkText u-baseColor--textNormal textInput--transparent" type="search" placeholder="Search" required="true" data-collection-id="7f60cf5620c9" /></label><a class="button button--light button--chromeless is-touchIconBlackPulse u-baseColor--buttonLight button--withIcon button--withSvgIcon button--chromeless u-verticalAlignMiddle" href="https://twitter.com/TDataScience" title="Visit “Towards Data Science” on X" aria-label="Visit “Towards Data Science” on X" rel="me" target="_blank"><span class="button-defaultState"><span class="svgIcon svgIcon--twitter svgIcon--25px"><svg class="svgIcon-use" width="25" height="25" fill="none" ><path d="M14.215 11.3l5.764-6.7h-1.366l-5.005 5.818L9.611 4.6H5l6.045 8.798L5 20.424h1.366l5.286-6.144 4.221 6.144h4.61L14.216 11.3zm-1.871 2.175l-.612-.876-4.874-6.97h2.098l3.933 5.625.613.876 5.112 7.312h-2.098l-4.172-5.966z" fill="#242424"/></svg></span></span></a><button class="button button--primary button--smallest u-noUserSelect button--withChrome u-accentColor--buttonNormal button--followCollection js-followCollectionButton" data-action="sign-up-prompt" data-sign-in-action="toggle-subscribe-collection" data-requires-token="true" data-redirect="https://medium.com/_/subscribe/collection/towards-data-science" data-action-source="header----7f60cf5620c9----------------------follow_pub"><span class="button-label button-defaultState js-buttonLabel">Follow</span><span class="button-label button-activeState">Following</span></button></div></nav></div></div></div><div class="u-marginBottom40 js-collectionStream"><div class="streamItem streamItem--section js-streamItem"><section class="u-marginTop30 u-xs-margin0 u-marginBottom15 u-maxWidth1032 u-sm-paddingLeft20 u-sm-paddingRight20 u-borderBox u-marginAuto"><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size6of12" data-source="collection_home---4------0-----------------------" data-post-id="8f1bd06b9476" data-index="0"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/level-up-your-coding-skills-with-python-threading-8f1bd06b9476?source=collection_home---4------0-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/level-up-your-coding-skills-with-python-threading-8f1bd06b9476?source=collection_home---4------0-----------------------" class="u-block u-xs-height170 u-width600 u-height272 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/1200/0*JTfMaNPNoCXvmCUq&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Level Up Your Coding Skills with Python Threading</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/level-up-your-coding-skills-with-python-threading-8f1bd06b9476?source=collection_home---4------0-----------------------" data-action-source="collection_home---4------0-----------------------" data-post-id="8f1bd06b9476"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Level Up Your Coding Skills with Python Threading</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Learn how to use queues, daemon threads, and events in a Machine Learning project</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@marcellopoliti" data-action="show-user-card" data-action-value="7390355d40fe" data-action-type="hover" data-user-id="7390355d40fe" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*j2LGC9PJoe-x4E6xdz5Jqg.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Marcello Politi"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@marcellopoliti" data-action="show-user-card" data-action-value="7390355d40fe" data-action-type="hover" data-user-id="7390355d40fe" data-collection-slug="towards-data-science" dir="auto">Marcello Politi</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-27T17:02:10.603Z">Nov 27</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="7 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size6of12" data-source="collection_home---4------1-----------------------" data-post-id="096550746987" data-index="1"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/how-to-develop-an-effective-ai-powered-legal-assistant-096550746987?source=collection_home---4------1-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/how-to-develop-an-effective-ai-powered-legal-assistant-096550746987?source=collection_home---4------1-----------------------" class="u-block u-xs-height170 u-width600 u-height272 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/1200/0*RAUD_lxOn00LQC47&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">How to Develop an Effective AI-Powered Legal Assistant</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/how-to-develop-an-effective-ai-powered-legal-assistant-096550746987?source=collection_home---4------1-----------------------" data-action-source="collection_home---4------1-----------------------" data-post-id="096550746987"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">How to Develop an Effective AI-Powered Legal Assistant</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Create a machine-learning-based search into legal decisions</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@oieivind" data-action="show-user-card" data-action-value="1b616317eda" data-action-type="hover" data-user-id="1b616317eda" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*2XuqdJNiyziDVy0Z2bLz3Q.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Eivind Kjosbakken"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@oieivind" data-action="show-user-card" data-action-value="1b616317eda" data-action-type="hover" data-user-id="1b616317eda" data-collection-slug="towards-data-science" dir="auto">Eivind Kjosbakken</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-27T16:02:10.586Z">Nov 27</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="10 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div></div></section></div><div class="streamItem streamItem--section js-streamItem"><section class="u-marginTop30 u-xs-margin0 u-marginBottom15 u-maxWidth1032 u-sm-paddingLeft20 u-sm-paddingRight20 u-borderBox u-marginAuto"><header class="heading heading--borderedBottom u-fontSize18 u-contentSansThin" ><div class="u-clearfix"><div class="heading-content u-floatLeft"><span class="heading-title heading-title--dark heading-title--lineHeightTight u-fontSize18 u-contentSansThin">Latest</span></div></div></header><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------0-----------------------" data-post-id="2dc9beb69b27" data-index="0"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/roadmap-to-becoming-a-data-scientist-part-1-maths-2dc9beb69b27?source=collection_home---4------0-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/roadmap-to-becoming-a-data-scientist-part-1-maths-2dc9beb69b27?source=collection_home---4------0-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*E0V_rBGKoNg-zb7r399HcQ.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Roadmap to Becoming a Data Scientist, Part 1: Maths</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/roadmap-to-becoming-a-data-scientist-part-1-maths-2dc9beb69b27?source=collection_home---4------0-----------------------" data-action-source="collection_home---4------0-----------------------" data-post-id="2dc9beb69b27"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Roadmap to Becoming a Data Scientist, Part 1: Maths</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Identifying fundamental math skills to master for aspiring Data Scientists</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@slavahead" data-action="show-user-card" data-action-value="c8a0ca9d85d8" data-action-type="hover" data-user-id="c8a0ca9d85d8" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*9xLh34e9CdTnShI8pgYdbg.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Vyacheslav Efimov"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@slavahead" data-action="show-user-card" data-action-value="c8a0ca9d85d8" data-action-type="hover" data-user-id="c8a0ca9d85d8" data-collection-slug="towards-data-science" dir="auto">Vyacheslav Efimov</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-27T15:02:20.045Z">Nov 27</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="11 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------1-----------------------" data-post-id="fda22621c5b3" data-index="1"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/why-a-data-scientist-with-a-phd-might-kill-your-early-stage-startup-fda22621c5b3?source=collection_home---4------1-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/why-a-data-scientist-with-a-phd-might-kill-your-early-stage-startup-fda22621c5b3?source=collection_home---4------1-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*Kp0Q71aS4RmnfdtUH2qYbQ.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Why a Data Scientist with a PhD Might Kill Your Early Stage Startup</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/why-a-data-scientist-with-a-phd-might-kill-your-early-stage-startup-fda22621c5b3?source=collection_home---4------1-----------------------" data-action-source="collection_home---4------1-----------------------" data-post-id="fda22621c5b3"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Why a Data Scientist with a PhD Might Kill Your Early Stage Startup</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Look beyond the degree and hire smarter by prioritizing these five traits instead</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@ds-claudia" data-action="show-user-card" data-action-value="ba2da7b3b9c8" data-action-type="hover" data-user-id="ba2da7b3b9c8" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*syg-42yjV4NHGIyRX3iSag.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Claudia Ng"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@ds-claudia" data-action="show-user-card" data-action-value="ba2da7b3b9c8" data-action-type="hover" data-user-id="ba2da7b3b9c8" data-collection-slug="towards-data-science" dir="auto">Claudia Ng</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-27T14:02:10.875Z">Nov 27</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="7 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------2-----------------------" data-post-id="0010657f595f" data-index="2"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/introducing-the-new-anthropic-pdf-processing-api-0010657f595f?source=collection_home---4------2-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/introducing-the-new-anthropic-pdf-processing-api-0010657f595f?source=collection_home---4------2-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/0*aS-g0PMd910xTRQ_&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Introducing the New Anthropic PDF Processing API</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/introducing-the-new-anthropic-pdf-processing-api-0010657f595f?source=collection_home---4------2-----------------------" data-action-source="collection_home---4------2-----------------------" data-post-id="0010657f595f"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Introducing the New Anthropic PDF Processing API</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Anthropic Claude 3.5 now understands PDF input</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@thomas_reid" data-action="show-user-card" data-action-value="1ebe164f0ef0" data-action-type="hover" data-user-id="1ebe164f0ef0" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*9HLVlE34bSbCDExHKmVpvg.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Thomas Reid"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@thomas_reid" data-action="show-user-card" data-action-value="1ebe164f0ef0" data-action-type="hover" data-user-id="1ebe164f0ef0" data-collection-slug="towards-data-science" dir="auto">Thomas Reid</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-27T13:02:15.137Z">Nov 27</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="8 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div></div><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------3-----------------------" data-post-id="fa9e6f0af37f" data-index="3"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/use-tablib-to-handle-simple-tabular-data-in-python-fa9e6f0af37f?source=collection_home---4------3-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/use-tablib-to-handle-simple-tabular-data-in-python-fa9e6f0af37f?source=collection_home---4------3-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/0*txi-Sr47s3u2QE0h&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Use Tablib to Handle Simple Tabular Data in Python</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/use-tablib-to-handle-simple-tabular-data-in-python-fa9e6f0af37f?source=collection_home---4------3-----------------------" data-action-source="collection_home---4------3-----------------------" data-post-id="fa9e6f0af37f"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Use Tablib to Handle Simple Tabular Data in Python</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Sometimes a Shallow Abstraction is more Valuable than Performance</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@ebbeberge" data-action="show-user-card" data-action-value="7722f981eb" data-action-type="hover" data-user-id="7722f981eb" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*VVbzoFcv3jNVCsJvdK-qpg.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Eirik Berge, PhD"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@ebbeberge" data-action="show-user-card" data-action-value="7722f981eb" data-action-type="hover" data-user-id="7722f981eb" data-collection-slug="towards-data-science" dir="auto">Eirik Berge, PhD</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-27T12:02:07.994Z">Nov 27</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="11 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------4-----------------------" data-post-id="26051cc98f2e" data-index="4"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/saving-pandas-dataframes-efficiently-and-quickly-parquet-vs-feather-vs-orc-vs-csv-26051cc98f2e?source=collection_home---4------4-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/saving-pandas-dataframes-efficiently-and-quickly-parquet-vs-feather-vs-orc-vs-csv-26051cc98f2e?source=collection_home---4------4-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*957fUnw3BLTs5wsW0TOXnw.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Saving Pandas DataFrames Efficiently and Quickly — Parquet vs Feather vs ORC vs CSV</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/saving-pandas-dataframes-efficiently-and-quickly-parquet-vs-feather-vs-orc-vs-csv-26051cc98f2e?source=collection_home---4------4-----------------------" data-action-source="collection_home---4------4-----------------------" data-post-id="26051cc98f2e"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Saving Pandas DataFrames Efficiently and Quickly — Parquet vs Feather vs ORC vs CSV</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Speed, RAM, size and convenience. Which storage method is best?</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@maclayton" data-action="show-user-card" data-action-value="51dce1c5bc03" data-action-type="hover" data-user-id="51dce1c5bc03" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*zt0yxZAgLAq5sD50pNxXGw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Mike Clayton"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@maclayton" data-action="show-user-card" data-action-value="51dce1c5bc03" data-action-type="hover" data-user-id="51dce1c5bc03" data-collection-slug="towards-data-science" dir="auto">Mike Clayton</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-27T11:02:07.044Z">Nov 27</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="13 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------5-----------------------" data-post-id="6d718ac40b7d" data-index="5"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/nlp-illustrated-part-2-word-embeddings-6d718ac40b7d?source=collection_home---4------5-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/nlp-illustrated-part-2-word-embeddings-6d718ac40b7d?source=collection_home---4------5-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*UZx9K92bV1eRa32-EzsSWA.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">NLP Illustrated, Part 2: Word Embeddings</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/nlp-illustrated-part-2-word-embeddings-6d718ac40b7d?source=collection_home---4------5-----------------------" data-action-source="collection_home---4------5-----------------------" data-post-id="6d718ac40b7d"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">NLP Illustrated, Part 2: Word Embeddings</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">An illustrated and intuitive guide to word embeddings</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@shreya.rao" data-action="show-user-card" data-action-value="99b63de2f2c3" data-action-type="hover" data-user-id="99b63de2f2c3" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*Dw7i9_T729qQE7ieepVvKw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Shreya Rao"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@shreya.rao" data-action="show-user-card" data-action-value="99b63de2f2c3" data-action-type="hover" data-user-id="99b63de2f2c3" data-collection-slug="towards-data-science" dir="auto">Shreya Rao</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-27T00:15:37.347Z">Nov 26</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="8 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div></div><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------6-----------------------" data-post-id="f6f7920bcc55" data-index="6"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/addressing-missing-data-f6f7920bcc55?source=collection_home---4------6-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/addressing-missing-data-f6f7920bcc55?source=collection_home---4------6-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/0*2azp79om7UNFWEGR&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Addressing Missing Data</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/addressing-missing-data-f6f7920bcc55?source=collection_home---4------6-----------------------" data-action-source="collection_home---4------6-----------------------" data-post-id="f6f7920bcc55"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Addressing Missing Data</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Understand missing data patterns (MCAR, MNAR, MAR) for better model performance with Missingno</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@gizkaya" data-action="show-user-card" data-action-value="bd281fad5f8a" data-action-type="hover" data-user-id="bd281fad5f8a" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*zp87uWSKMigrw0kxY20Dag.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Gizem Kaya"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@gizkaya" data-action="show-user-card" data-action-value="bd281fad5f8a" data-action-type="hover" data-user-id="bd281fad5f8a" data-collection-slug="towards-data-science" dir="auto">Gizem Kaya</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-26T18:50:58.156Z">Nov 26</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="8 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------7-----------------------" data-post-id="7f9c6e6b7251" data-index="7"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/mistral-7b-explained-towards-more-efficient-language-models-7f9c6e6b7251?source=collection_home---4------7-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/mistral-7b-explained-towards-more-efficient-language-models-7f9c6e6b7251?source=collection_home---4------7-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*TRfxFbnLDx9IqpvghpbURA.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Mistral 7B Explained: Towards More Efficient Language Models</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/mistral-7b-explained-towards-more-efficient-language-models-7f9c6e6b7251?source=collection_home---4------7-----------------------" data-action-source="collection_home---4------7-----------------------" data-post-id="7f9c6e6b7251"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Mistral 7B Explained: Towards More Efficient Language Models</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">RMS Norm, RoPE, GQA, SWA, KV Cache, and more!</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@bradneysmith" data-action="show-user-card" data-action-value="d18c7303c5a2" data-action-type="hover" data-user-id="d18c7303c5a2" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*tVLKwOvdthd64kORuXntTg.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Bradney Smith"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@bradneysmith" data-action="show-user-card" data-action-value="d18c7303c5a2" data-action-type="hover" data-user-id="d18c7303c5a2" data-collection-slug="towards-data-science" dir="auto">Bradney Smith</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-26T18:26:18.729Z">Nov 26</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="42 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------8-----------------------" data-post-id="4e77aa46336f" data-index="8"><div class="u-lineHeightBase postItem"><a href="https://towardsdatascience.com/data-scientist-answers-the-most-popular-data-science-questions-4e77aa46336f?source=collection_home---4------8-----------------------" data-action="open-post" data-action-value="https://towardsdatascience.com/data-scientist-answers-the-most-popular-data-science-questions-4e77aa46336f?source=collection_home---4------8-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/0*ks-c7RLyaHiphYSw&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Data Scientist Answers the Most Popular Data Science Questions</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://towardsdatascience.com/data-scientist-answers-the-most-popular-data-science-questions-4e77aa46336f?source=collection_home---4------8-----------------------" data-action-source="collection_home---4------8-----------------------" data-post-id="4e77aa46336f"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Data Scientist Answers the Most Popular Data Science Questions</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">All-around guidance for prospective data scientists</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://towardsdatascience.com/@egorhowell" data-action="show-user-card" data-action-value="1cac491223b2" data-action-type="hover" data-user-id="1cac491223b2" data-collection-slug="towards-data-science" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*GjTgnF9urbcpls3Y9LEzWw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Egor Howell"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://towardsdatascience.com/@egorhowell" data-action="show-user-card" data-action-value="1cac491223b2" data-action-type="hover" data-user-id="1cac491223b2" data-collection-slug="towards-data-science" dir="auto">Egor Howell</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-26T17:50:14.376Z">Nov 26</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span><span class="u-paddingLeft4"><span class="svgIcon svgIcon--star svgIcon--15px"><svg class="svgIcon-use" width="15" height="15" ><path d="M7.438 2.324c.034-.099.09-.099.123 0l1.2 3.53a.29.29 0 00.26.19h3.884c.11 0 .127.049.038.111L9.8 8.327a.271.271 0 00-.099.291l1.2 3.53c.034.1-.011.131-.098.069l-3.142-2.18a.303.303 0 00-.32 0l-3.145 2.182c-.087.06-.132.03-.099-.068l1.2-3.53a.271.271 0 00-.098-.292L2.056 6.146c-.087-.06-.071-.112.038-.112h3.884a.29.29 0 00.26-.19l1.2-3.52z"/></svg></span></span></div></div></div></div></div></div></div></section></div></div><style class="js-collectionStyle"> .u-accentColor--borderLight {border-color: #668AAA !important;} .u-accentColor--borderNormal {border-color: #668AAA !important;} .u-accentColor--borderDark {border-color: #5A7690 !important;} .u-accentColor--iconLight .svgIcon,.u-accentColor--iconLight.svgIcon {fill: #668AAA !important;} .u-accentColor--iconNormal .svgIcon,.u-accentColor--iconNormal.svgIcon {fill: #668AAA !important;} .u-accentColor--iconDark .svgIcon,.u-accentColor--iconDark.svgIcon {fill: #5A7690 !important;} .u-accentColor--textNormal {color: #5A7690 !important;} .u-accentColor--hoverTextNormal:hover {color: #5A7690 !important;} .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #546C83 !important;} .u-accentColor--textDark {color: #546C83 !important;} .u-accentColor--backgroundLight {background-color: #668AAA !important;} .u-accentColor--backgroundNormal {background-color: #668AAA !important;} .u-accentColor--backgroundDark {background-color: #5A7690 !important;} .u-accentColor--buttonDark {border-color: #5A7690 !important; color: #546C83 !important;} .u-accentColor--buttonDark:hover {border-color: #546C83 !important;} .u-accentColor--buttonDark .icon:before,.u-accentColor--buttonDark .svgIcon{color: #5A7690 !important; fill: #5A7690 !important;} .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #668AAA !important; color: #5A7690 !important;} .u-accentColor--buttonNormal:hover {border-color: #5A7690 !important;} .u-accentColor--buttonNormal .icon:before,.u-accentColor--buttonNormal .svgIcon{color: #668AAA !important; fill: #668AAA !important;} .u-accentColor--buttonNormal.button--filled .icon:before,.u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonDark.button--filled,.u-accentColor--buttonDark.button--withChrome.is-active,.u-accentColor--fillWhenActive.is-active {background-color: #5A7690 !important; border-color: #5A7690 !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #668AAA !important; border-color: #668AAA !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .postArticle.is-withAccentColors .markup--user,.postArticle.is-withAccentColors .markup--query {color: #5A7690 !important;}.u-tintBgColor {background-color: rgba(53, 88, 118, 1) !important;}.u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(53, 88, 118, 1) 0%, rgba(53, 88, 118, 0) 100%) !important;}.u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(53, 88, 118, 0) 0%, rgba(53, 88, 118, 1) 100%) !important;} .u-tintSpectrum .u-baseColor--borderLight {border-color: #9FB3C6 !important;} .u-tintSpectrum .u-baseColor--borderNormal {border-color: #C5D2E1 !important;} .u-tintSpectrum .u-baseColor--borderDark {border-color: #E9F1FA !important;} .u-tintSpectrum .u-baseColor--iconLight .svgIcon,.u-tintSpectrum .u-baseColor--iconLight.svgIcon {fill: #9FB3C6 !important;} .u-tintSpectrum .u-baseColor--iconNormal .svgIcon,.u-tintSpectrum .u-baseColor--iconNormal.svgIcon {fill: #C5D2E1 !important;} .u-tintSpectrum .u-baseColor--iconDark .svgIcon,.u-tintSpectrum .u-baseColor--iconDark.svgIcon {fill: #E9F1FA !important;} .u-tintSpectrum .u-baseColor--textNormal {color: #C5D2E1 !important;} .u-tintSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--textDark {color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--textDarker {color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--backgroundLight {background-color: #9FB3C6 !important;} .u-tintSpectrum .u-baseColor--backgroundNormal {background-color: #C5D2E1 !important;} .u-tintSpectrum .u-baseColor--backgroundDark {background-color: #E9F1FA !important;} .u-tintSpectrum .u-baseColor--buttonLight {border-color: #9FB3C6 !important; color: #9FB3C6 !important;} .u-tintSpectrum .u-baseColor--buttonLight:hover {border-color: #9FB3C6 !important;} .u-tintSpectrum .u-baseColor--buttonLight .icon:before,.u-tintSpectrum .u-baseColor--buttonLight .svgIcon {color: #9FB3C6 !important; fill: #9FB3C6 !important;} .u-tintSpectrum .u-baseColor--buttonDark {border-color: #E9F1FA !important; color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--buttonDark:hover {border-color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--buttonDark .icon:before,.u-tintSpectrum .u-baseColor--buttonDark .svgIcon {color: #E9F1FA !important; fill: #E9F1FA !important;} .u-tintSpectrum .u-baseColor--buttonNormal {border-color: #C5D2E1 !important; color: #C5D2E1 !important;} .u-tintSpectrum .u-baseColor--buttonNormal:hover {border-color: #E9F1FA !important;} .u-tintSpectrum .u-baseColor--buttonNormal .icon:before,.u-tintSpectrum .u-baseColor--buttonNormal .svgIcon {color: #C5D2E1 !important; fill: #C5D2E1 !important;} .u-tintSpectrum .u-baseColor--buttonDark.button--filled,.u-tintSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: #E9F1FA !important; border-color: #E9F1FA !important; color: rgba(53, 88, 118, 1) !important; fill: rgba(53, 88, 118, 1) !important;} .u-tintSpectrum .u-baseColor--buttonNormal.button--filled,.u-tintSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: #C5D2E1 !important; border-color: #C5D2E1 !important; color: rgba(53, 88, 118, 1) !important; fill: rgba(53, 88, 118, 1) !important;} .u-tintSpectrum .u-baseColor--link {color: #C5D2E1 !important;} .u-tintSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--link.link--darken:hover,.u-tintSpectrum .u-baseColor--link.link--darken:focus,.u-tintSpectrum .u-baseColor--link.link--darken:active {color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--link.link--dark {color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-tintSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-tintSpectrum .u-baseColor--link.link--dark.link--darken:active {color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--link.link--darker {color: #FBFFFF !important;} .u-tintSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: #9FB3C6;} .u-tintSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: #9FB3C6;} .u-tintSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: #9FB3C6;} .u-tintSpectrum .ui-h1,.u-tintSpectrum .ui-h2,.u-tintSpectrum .ui-h3,.u-tintSpectrum .ui-h4,.u-tintSpectrum .ui-brand1,.u-tintSpectrum .ui-brand2,.u-tintSpectrum .ui-captionStrong {color: #FBFFFF !important; fill: #FBFFFF !important;} .u-tintSpectrum .ui-body,.u-tintSpectrum .ui-caps {color: #FBFFFF !important; fill: #FBFFFF !important;} .u-tintSpectrum .ui-summary,.u-tintSpectrum .ui-caption {color: #9FB3C6 !important; fill: #9FB3C6 !important;} .u-tintSpectrum .u-accentColor--borderLight {border-color: #9FB3C6 !important;} .u-tintSpectrum .u-accentColor--borderNormal {border-color: #C5D2E1 !important;} .u-tintSpectrum .u-accentColor--borderDark {border-color: #E9F1FA !important;} .u-tintSpectrum .u-accentColor--iconLight .svgIcon,.u-tintSpectrum .u-accentColor--iconLight.svgIcon {fill: #9FB3C6 !important;} .u-tintSpectrum .u-accentColor--iconNormal .svgIcon,.u-tintSpectrum .u-accentColor--iconNormal.svgIcon {fill: #C5D2E1 !important;} .u-tintSpectrum .u-accentColor--iconDark .svgIcon,.u-tintSpectrum .u-accentColor--iconDark.svgIcon {fill: #E9F1FA !important;} .u-tintSpectrum .u-accentColor--textNormal {color: #C5D2E1 !important;} .u-tintSpectrum .u-accentColor--hoverTextNormal:hover {color: #C5D2E1 !important;} .u-tintSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #FBFFFF !important;} .u-tintSpectrum .u-accentColor--textDark {color: #FBFFFF !important;} .u-tintSpectrum .u-accentColor--backgroundLight {background-color: #9FB3C6 !important;} .u-tintSpectrum .u-accentColor--backgroundNormal {background-color: #C5D2E1 !important;} .u-tintSpectrum .u-accentColor--backgroundDark {background-color: #E9F1FA !important;} .u-tintSpectrum .u-accentColor--buttonDark {border-color: #E9F1FA !important; color: #FBFFFF !important;} .u-tintSpectrum .u-accentColor--buttonDark:hover {border-color: #FBFFFF !important;} .u-tintSpectrum .u-accentColor--buttonDark .icon:before,.u-tintSpectrum .u-accentColor--buttonDark .svgIcon{color: #E9F1FA !important; fill: #E9F1FA !important;} .u-tintSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #C5D2E1 !important; color: #C5D2E1 !important;} .u-tintSpectrum .u-accentColor--buttonNormal:hover {border-color: #E9F1FA !important;} .u-tintSpectrum .u-accentColor--buttonNormal .icon:before,.u-tintSpectrum .u-accentColor--buttonNormal .svgIcon{color: #C5D2E1 !important; fill: #C5D2E1 !important;} .u-tintSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-tintSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(53, 88, 118, 1) !important; fill: rgba(53, 88, 118, 1) !important;} .u-tintSpectrum .u-accentColor--buttonDark.button--filled,.u-tintSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-tintSpectrum .u-accentColor--fillWhenActive.is-active {background-color: #E9F1FA !important; border-color: #E9F1FA !important; color: rgba(53, 88, 118, 1) !important; fill: rgba(53, 88, 118, 1) !important;} .u-tintSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-tintSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #C5D2E1 !important; border-color: #C5D2E1 !important; color: rgba(53, 88, 118, 1) !important; fill: rgba(53, 88, 118, 1) !important;} .u-tintSpectrum .postArticle.is-withAccentColors .markup--user,.u-tintSpectrum .postArticle.is-withAccentColors .markup--query {color: #C5D2E1 !important;} .u-accentColor--highlightFaint {background-color: rgba(233, 242, 253, 1) !important;} .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(200, 228, 255, 1) !important;} .postArticle.is-withAccentColors .markup--quote.is-other {background-color: rgba(233, 242, 253, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(233, 242, 253, 1), rgba(233, 242, 253, 1));} .postArticle.is-withAccentColors .markup--quote.is-me {background-color: rgba(215, 235, 254, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(215, 235, 254, 1), rgba(215, 235, 254, 1));} .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: rgba(200, 228, 255, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(200, 228, 255, 1), rgba(200, 228, 255, 1));} .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: rgba(200, 228, 255, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(200, 228, 255, 1), rgba(200, 228, 255, 1));} .postArticle.is-withAccentColors .markup--highlight {background-color: rgba(200, 228, 255, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(200, 228, 255, 1), rgba(200, 228, 255, 1));}</style><style class="js-collectionStyleConstant">.u-imageBgColor {background-color: rgba(0, 0, 0, 0.24705882352941178);} .u-imageSpectrum .u-baseColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconLight .svgIcon,.u-imageSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--iconNormal .svgIcon,.u-imageSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconDark .svgIcon,.u-imageSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDarker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important; color: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--buttonLight .icon:before,.u-imageSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark .icon:before,.u-imageSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal .icon:before,.u-imageSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonDark.button--filled,.u-imageSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--buttonNormal.button--filled,.u-imageSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--link {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .ui-h1,.u-imageSpectrum .ui-h2,.u-imageSpectrum .ui-h3,.u-imageSpectrum .ui-h4,.u-imageSpectrum .ui-brand1,.u-imageSpectrum .ui-brand2,.u-imageSpectrum .ui-captionStrong {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-body,.u-imageSpectrum .ui-caps {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-summary,.u-imageSpectrum .ui-caption {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconLight .svgIcon,.u-imageSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--iconNormal .svgIcon,.u-imageSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconDark .svgIcon,.u-imageSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark .icon:before,.u-imageSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonDark.button--filled,.u-imageSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-imageSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-imageSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .postArticle.is-withAccentColors .markup--user,.u-imageSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--highlightFaint {background-color: rgba(255, 255, 255, 0.2) !important;} .u-imageSpectrum .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(255, 255, 255, 0.6) !important;} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: rgba(255, 255, 255, 0.2) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: rgba(255, 255, 255, 0.4) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));}.u-resetSpectrum .u-tintBgColor {background-color: rgba(255, 255, 255, 1) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%) !important;} .u-resetSpectrum .u-baseColor--borderLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderDark {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--iconLight .svgIcon,.u-resetSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconNormal .svgIcon,.u-resetSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconDark .svgIcon,.u-resetSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textNormal {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDarker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--backgroundLight {background-color: rgba(0, 0, 0, 0.09803921568627451) !important;} .u-resetSpectrum .u-baseColor--backgroundNormal {background-color: rgba(0, 0, 0, 0.2) !important;} .u-resetSpectrum .u-baseColor--backgroundDark {background-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight .icon:before,.u-resetSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark {border-color: rgba(0, 0, 0, 0.6) !important; color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--buttonDark .icon:before,.u-resetSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important; color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal .icon:before,.u-resetSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(0, 0, 0, 0.4980392156862745) !important; fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark.button--filled,.u-resetSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2980392156862745) !important; border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--buttonNormal.button--filled,.u-resetSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2) !important; border-color: rgba(0, 0, 0, 0.2) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--link {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--darken:active {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--link.link--darker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .ui-h1,.u-resetSpectrum .ui-h2,.u-resetSpectrum .ui-h3,.u-resetSpectrum .ui-h4,.u-resetSpectrum .ui-brand1,.u-resetSpectrum .ui-brand2,.u-resetSpectrum .ui-captionStrong {color: rgba(0, 0, 0, 0.8) !important; fill: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .ui-body,.u-resetSpectrum .ui-caps {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .ui-summary,.u-resetSpectrum .ui-caption {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-accentColor--borderLight {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderNormal {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderDark {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconLight .svgIcon,.u-resetSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--iconNormal .svgIcon,.u-resetSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconDark .svgIcon,.u-resetSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textDark {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundLight {background-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundNormal {background-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundDark {background-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark {border-color: rgba(17, 128, 14, 1) !important; color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark .icon:before,.u-resetSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(15, 115, 12, 1) !important; fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(26, 137, 23, 1) !important; color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(17, 128, 14, 1) !important; fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark.button--filled,.u-resetSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-resetSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(15, 115, 12, 1) !important; border-color: rgba(15, 115, 12, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-resetSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(17, 128, 14, 1) !important; border-color: rgba(17, 128, 14, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .postArticle.is-withAccentColors .markup--user,.u-resetSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(17, 128, 14, 1) !important;}</style><div class="js-collectionFooter u-tintBgColor u-hide"><div class="container u-maxWidth1040"><div class="u-marginTop10 u-paddingTop10 u-paddingBottom30 u-tintSpectrum"><div class="linkSet u-clearfix"><div class="u-floatRight u-textColorNormal u-baseColor--textNormal u-xs-floatLeft"><a class="button button--chromeless u-baseColor--buttonNormal u-marginLeft15 u-lineHeight35 u-xs-block u-xs-marginLeft0" href="https://towardsdatascience.com/about" title="About Towards Data Science" aria-label="About Towards Data Science" data-collection-slug="towards-data-science">About Towards Data Science</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://towardsdatascience.com/latest" title="Latest Stories for Towards Data Science" aria-label="Latest Stories for Towards Data Science" data-collection-slug="towards-data-science">Latest Stories</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://towardsdatascience.com/archive" title="Archive for Towards Data Science" aria-label="Archive for Towards Data Science" data-collection-slug="towards-data-science">Archive</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/about">About Medium</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f">Terms</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9">Privacy</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/business">Teams</a></div></div></div></div></div></div></div></div><div class="loadingBar"></div><script>// <![CDATA[ window["obvInit"] = function (opt_embedded) {window["obvInit"]["embedded"] = opt_embedded; window["obvInit"]["ready"] = true;} // ]]></script><script>// <![CDATA[ var GLOBALS = {"audioUrl":"https://d1fcbxp97j4nb2.cloudfront.net","baseUrl":"https://towardsdatascience.com","buildLabel":"20241126-1740-root","currentUser":{"userId":"lo_e54e4a9e5c6f","isVerified":false,"subscriberEmail":"","hasPastMemberships":false,"isEnrolledInHightower":false,"isEligibleForHightower":true,"hightowerLastLockedAt":0,"isWriterProgramEnrolled":true,"isWriterProgramInvited":false,"isWriterProgramOptedOut":false,"writerProgramVersion":0,"writerProgramEnrolledAt":0,"friendLinkOnboarding":0,"hasAdditionalUnlocks":false,"hasApiAccess":false,"writerProgramDistributionSettingOptedIn":false,"isSuspended":false,"collectionOnboardingSeen":0,"atsQualifiedAt":0},"currentUserHasUnverifiedEmail":false,"isAuthenticated":false,"isCurrentUserVerified":false,"miroUrl":"https://cdn-images-1.medium.com","moduleUrls":{"base":"https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.95z8xpkUEidhPbIWsh2BVw.12.js","common-async":"https://cdn-static-1.medium.com/_/fp/gen-js/main-common-async.bundle.zqOu8dxaQRtqDyChHdOWlQ.12.js","hightower":"https://cdn-static-1.medium.com/_/fp/gen-js/main-hightower.bundle.y0UkxCxPBUbLlduk5XbwLQ.12.js","home-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-home-screens.bundle.eZhPgaD8AglnbC5Rzxqvhg.12.js","misc-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-misc-screens.bundle.XeRjm4FlHTBOsUvoOQ6Ppg.12.js","notes":"https://cdn-static-1.medium.com/_/fp/gen-js/main-notes.bundle.r9MSvtAmj0CMkyIC0CCCbA.12.js","payments":"https://cdn-static-1.medium.com/_/fp/gen-js/main-payments.bundle.AiXyuYj3AvxRA1-7HEyP9Q.12.js","posters":"https://cdn-static-1.medium.com/_/fp/gen-js/main-posters.bundle.fsLyLvZO4VZXL_zb4RXgeg.12.js","power-readers":"https://cdn-static-1.medium.com/_/fp/gen-js/main-power-readers.bundle.6Dyc-nVN2MDV_AM9XDAZug.12.js","pubs":"https://cdn-static-1.medium.com/_/fp/gen-js/main-pubs.bundle.rUyrVjlTpUj61voxnZosQw.12.js","stats":"https://cdn-static-1.medium.com/_/fp/gen-js/main-stats.bundle.2I2tXSo7-rbez_WYXfga0Q.12.js"},"previewConfig":{"weightThreshold":1,"weightImageParagraph":0.51,"weightIframeParagraph":0.8,"weightTextParagraph":0.08,"weightEmptyParagraph":0,"weightP":0.003,"weightH":0.005,"weightBq":0.003,"minPTextLength":60,"truncateBoundaryChars":20,"detectTitle":true,"detectTitleLevThreshold":0.15},"productName":"Medium","supportsEdit":false,"termsUrl":"//policy.medium.com/medium-terms-of-service-9db0094a1e0f","textshotHost":"textshot.textshot-production.svc.cluster.local","transactionId":"1732731802493:9101ed0667a2","useragent":{"browser":"ie","family":"ie","os":"windows","version":7,"supportsDesktopEdit":false,"supportsInteract":false,"supportsView":true,"isMobile":false,"isTablet":false,"isNative":false,"supportsFileAPI":false,"isTier1":false,"clientVersion":"","clientChannel":"","supportsRealScrollEvents":false,"supportsVhUnits":false,"ruinsViewportSections":false,"supportsHtml5Video":false,"supportsMagicUnderlines":false,"isWebView":false,"isFacebookWebView":false,"supportsProgressiveMedia":false,"supportsPromotedPosts":true,"isBot":false,"isNativeIphone":false,"supportsCssVariables":false,"supportsVideoSections":true,"emojiSupportLevel":1,"isSearchBot":false,"isSyndicationBot":false,"isNativeAndroid":false,"isNativeIos":false,"isSeoAuditBot":false,"isInternalApp":false,"supportsApplePay":false,"supportsScrollableMetabar":false},"variants":{"allow_access":true,"allow_signup":true,"allow_test_auth":"disallow","android_enable_editor_new_publishing_flow":true,"android_enable_friend_links_creation":true,"android_enable_friend_links_postpage_banners":true,"android_enable_image_sharer":true,"android_enable_lists_v2":true,"android_enable_syntax_highlight":true,"android_enable_topic_portals":true,"android_rating_prompt_stories_read_threshold":2,"android_two_hour_refresh":true,"available_annual_plan":"2c754bcc2995","available_annual_premium_plan":"4a442ace1476","available_monthly_plan":"60e220181034","available_monthly_premium_plan":"12a660186432","browsable_stream_config_bucket":"curated-topics","can_receive_tips_v0":true,"can_send_tips_v0":true,"coronavirus_topic_recirc":true,"disable_partner_program_enrollment":true,"enable_abandoned_cart_promotion_email":true,"enable_android_dynamic_aspirational_paywall":true,"enable_android_dynamic_programming_paywall":true,"enable_android_miro_v2":true,"enable_android_offline_reading":true,"enable_android_verified_author":true,"enable_app_flirty_thirty":true,"enable_apple_sign_in":true,"enable_apple_webhook":true,"enable_aurora_pub_follower_page":true,"enable_author_cards":true,"enable_author_cards_byline":true,"enable_auto_follow_on_subscribe":true,"enable_automod":true,"enable_bayesian_average_pub_search":true,"enable_bg_post_post":true,"enable_billing_frequency_on_step2":"group_1","enable_boost_nia_v01":true,"enable_braintree_apple_pay":true,"enable_braintree_client":true,"enable_braintree_google_pay":true,"enable_braintree_integration":true,"enable_braintree_paypal":true,"enable_braintree_trial_membership":true,"enable_braintree_webhook":true,"enable_branch_io":true,"enable_cache_less_following_feed":true,"enable_configure_pronouns":true,"enable_conversion_model_v2":"group_2","enable_conversion_ranker_v2":"control","enable_creator_welcome_email":true,"enable_deprecate_legacy_providers_v3":true,"enable_diversification_rex":true,"enable_entities_to_follow_v2":true,"enable_eventstats_event_processing":true,"enable_explicit_signals":true,"enable_explicit_signals_updated_post_previews":true,"enable_footer_app_buttons":true,"enable_google_one_tap":true,"enable_google_webhook":true,"enable_group_gifting":true,"enable_iceland_forced_android":true,"enable_import":true,"enable_intrinsic_automatic_actions":true,"enable_ios_autorefresh":true,"enable_ios_dynamic_paywall_aspiriational":true,"enable_ios_dynamic_paywall_programming":true,"enable_ios_easy_resubscribe":true,"enable_ios_offline_reading":true,"enable_legacy_feed_in_iceland":true,"enable_lite_archive_page":true,"enable_lite_continue_this_thread":true,"enable_lite_homepage":true,"enable_lite_response_markup":true,"enable_lite_server_upstream_deadlines":true,"enable_lo_homepage":"control","enable_maim_the_meter":true,"enable_marketing_emails":true,"enable_mastodon_avatar_upload":true,"enable_mastodon_for_members":true,"enable_mastodon_for_members_username_selection":true,"enable_medium2_kbfd":true,"enable_members_only_audio":true,"enable_ml_rank_rex_anno":true,"enable_moc_load_processor_all_recs_surfaces":true,"enable_moc_load_processor_c":true,"enable_moc_load_processor_first_story":true,"enable_new_manage_membership_flow":true,"enable_new_stripe_customers":true,"enable_newsletter_lo_flow_custom_domains":true,"enable_pill_based_home_feed":true,"enable_post_bottom_responses":true,"enable_post_bottom_responses_input":true,"enable_pp_country_expansion":true,"enable_pp_v4":true,"enable_pre_pp_v4":true,"enable_premium_tier":true,"enable_premium_tier_badge":true,"enable_publication_hierarchy_web":true,"enable_ranker_v10":"control","enable_recaptcha_enterprise":true,"enable_recirc_model":true,"enable_recommended_publishers_query":true,"enable_rex_aggregator_v2":true,"enable_rex_new_push_notification_endpoint":true,"enable_rex_reading_history":true,"enable_rito_upstream_deadlines":true,"enable_seamless_social_sharing":true,"enable_see_pronouns":true,"enable_sharer_create_post_share_key":true,"enable_sharer_validate_post_share_key":true,"enable_simplified_digest_v2_b":true,"enable_speechify_ios":true,"enable_speechify_widget":true,"enable_sprig":true,"enable_starspace":true,"enable_susi_redesign_android":true,"enable_susi_redesign_ios":true,"enable_switch_plan_premium_tier":true,"enable_tag_recs":true,"enable_tick_landing_page":true,"enable_tipping_v0_android":true,"enable_tipping_v0_ios":true,"enable_tribute_landing_page":true,"enable_update_explore_wtf":true,"enable_update_topic_portals_wtf":true,"enable_updated_pub_recs_ui":true,"enable_verifications_service":true,"glyph_font_set":"m2-unbound-source-serif-pro","goliath_externalsearch_enable_comment_deindexation":true,"ios_display_paywall_after_onboarding":true,"ios_enable_friend_links_creation":true,"ios_enable_friend_links_postpage_banners":true,"ios_enable_home_post_menu":true,"ios_enable_lock_responses":true,"ios_enable_verified_book_author":true,"ios_iceland_nux":true,"ios_in_app_free_trial":true,"ios_remove_twitter_onboarding_step":true,"ios_social_share_sheet":true,"limit_post_referrers":true,"limit_user_follows":true,"mobile_custom_app_icon":true,"num_post_bottom_responses_to_show":"3","onboarding_tags_from_top_views":true,"reader_fair_distribution_non_qp":true,"redefined_top_posts":true,"reengagement_notification_duration":3,"rex_generator_max_candidates":1000,"signin_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","signup_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","skip_fs_cache_user_vals":true},"xsrfToken":"","iosAppId":"828256236","supportEmail":"yourfriends@medium.com","fp":{"/icons/monogram-mask.svg":"https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg","/icons/favicon-medium-editor.ico":"https://cdn-static-1.medium.com/_/fp/icons/favicon-medium-editor.PiakrZWB7Yb80quUVQWM6g.12.ico"},"authBaseUrl":"https://medium.com","imageUploadSizeMb":25,"isAuthDomainRequest":false,"domainCollectionSlug":"towards-data-science","algoliaApiEndpoint":"https://MQ57UUUQZ2-dsn.algolia.net","algoliaAppId":"MQ57UUUQZ2","algoliaSearchOnlyApiKey":"394474ced050e3911ae2249ecc774921","iosAppStoreUrl":"https://itunes.apple.com/app/medium-everyones-stories/id828256236?pt=698524&mt=8","iosAppLinkBaseUrl":"medium:","algoliaIndexPrefix":"medium_","androidPlayStoreUrl":"https://play.google.com/store/apps/details?id=com.medium.reader","googleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","androidPackage":"com.medium.reader","androidPlayStoreMarketScheme":"market://details?id=com.medium.reader","googleAuthUri":"https://accounts.google.com/o/oauth2/auth","androidScheme":"medium","layoutData":{"useDynamicScripts":false,"googleAnalyticsTrackingCode":"G-7JY7T788PK","jsShivUrl":"https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js","useDynamicCss":false,"faviconUrl":"https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","faviconImageId":"5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","fontSets":[{"id":8,"url":"https://glyph.medium.com/css/e/sr/latin/e/ssr/latin/e/ssb/latin/m2-unbound-source-serif-pro.css"},{"id":11,"url":"https://glyph.medium.com/css/m2-unbound-source-serif-pro.css"},{"id":9,"url":"https://glyph.medium.com/css/mkt.css"}],"glyphUrl":"https://glyph.medium.com"},"authBaseUrlRev":"moc.muidem//:sptth","stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","archiveUploadSizeMb":100,"previewConfig2":{"weightThreshold":1,"weightImageParagraph":0.05,"raiseImage":true,"enforceHeaderHierarchy":true,"isImageInsetRight":true},"isAmp":false,"iosScheme":"medium","facebook":{"key":"542599432471018","namespace":"medium-com","scope":{"default":["public_profile","email"],"connect":["public_profile","email"],"login":["public_profile","email"],"share":["public_profile","email"]}},"memberContentTopicId":"13d7efd82fb2","audioContentTopicId":"3792abbd134","isDoNotAuth":false,"buggle":{"videoUrl":"https://cdn-videos-1.medium.com","audioUrl":"https://cdn-audio-1.medium.com"},"referrerType":5,"partnerProgramEmail":"partnerprogram@medium.com","recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","countryCode":"SG","bypassMeter":false,"branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","paypal":{"clientMode":"production","oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com/redeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"}},"collectionConfig":{"mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"]},"bypassMeterWithShareKey":false,"recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","cdcMessaging":[{"text":"For more information on the novel coronavirus and Covid-19, visit ","href":"","type":"text","start":0,"end":0},{"text":"cdc.gov","href":"https://www.cdc.gov/coronavirus/2019-nCoV","type":"link","start":66,"end":73},{"text":".","href":"","type":"text","start":0,"end":0}],"braintree":{"merchantId":"m56f8fqpf7ngnrd4"},"diagnostics":{},"domain":"medium.com"} // ]]></script><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.95z8xpkUEidhPbIWsh2BVw.12.js" async></script><script>// <![CDATA[ window["obvInit"]({"references":{"Collection":{"7f60cf5620c9":{"id":"7f60cf5620c9","name":"Towards Data Science","slug":"towards-data-science","tags":["DATA SCIENCE","MACHINE LEARNING","ARTIFICIAL INTELLIGENCE","DATA ENGINEERING","DATA"],"creatorId":"9c70285657bb","description":"Your home for data science and AI. The world’s leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals.","shortDescription":"Your home for data science and AI.","image":{"imageId":"1*CJe3891yB1A1mzMdqemkdg.jpeg","filter":"","backgroundSize":"","originalWidth":2861,"originalHeight":2861,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":768721,"activeAt":1732726931837},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"1*cFFKn8rFH4ZndmaYeAs6iQ.png","filter":"","backgroundSize":"","originalWidth":2381,"originalHeight":743,"strategy":"resample","height":0,"width":0},"twitterUsername":"TDataScience","collectionMastheadId":"8b6aceffde6","domain":"towardsdatascience.com","sections":[{"type":2,"collectionHeaderMetadata":{"title":"","description":"The world’s leading publication for data science, AI, data analytics, data engineering and ML professionals.","backgroundImage":{},"logoImage":{"id":"1*1m9fjwOZWwXIP82RWvRH5A@2x.png","originalWidth":1589,"originalHeight":661,"alt":"Towards Data Science"},"alignment":2,"layout":5}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":2,"postIds":[]}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":9,"postIds":[],"sectionHeader":"Latest"}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"f9f3fdba6ebf"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":6,"postIds":[],"tagSlug":"Editors Pick","sectionHeader":"Editors' Picks"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":2,"postIds":[],"tagSlug":"Tds Features","sectionHeader":"Features"}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"efaedc412a41"}},{"type":1,"postListMetadata":{"source":3,"layout":4,"number":3,"postIds":["60bb69a22759","c57724e9c461","69019493b259"],"sectionHeader":"Trending articles"}},{"type":1,"postListMetadata":{"source":3,"layout":4,"number":3,"postIds":["182a5ef6588c","e24b50e1d292","68b2303cc9c5"],"sectionHeader":"Popular from our archive"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":6,"postIds":[],"tagSlug":"Deep Dives","sectionHeader":"Deep Dives"}},{"type":1,"postListMetadata":{"source":3,"layout":5,"number":3,"postIds":["d691af11cc2f","c2c8e712c971","3bf37f75a345"],"sectionHeader":"About"}},{"type":1,"postListMetadata":{"source":1,"layout":5,"number":16,"postIds":[],"sectionHeader":"Latest"}}],"tintColor":"#FF355876","lightText":true,"favicon":{"imageId":"1*VzTUkfeGymHP4Bvav-T-lA.png","filter":"","backgroundSize":"","originalWidth":207,"originalHeight":206,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF668AAA","point":0},{"color":"#FF61809D","point":0.1},{"color":"#FF5A7690","point":0.2},{"color":"#FF546C83","point":0.3},{"color":"#FF4D6275","point":0.4},{"color":"#FF455768","point":0.5},{"color":"#FF3D4C5A","point":0.6},{"color":"#FF34414C","point":0.7},{"color":"#FF2B353E","point":0.8},{"color":"#FF21282F","point":0.9},{"color":"#FF161B1F","point":1}],"backgroundColor":"#FFFFFFFF"},"tintBackgroundSpectrum":{"colorPoints":[{"color":"#FF355876","point":0},{"color":"#FF4D6C88","point":0.1},{"color":"#FF637F99","point":0.2},{"color":"#FF7791A8","point":0.3},{"color":"#FF8CA2B7","point":0.4},{"color":"#FF9FB3C6","point":0.5},{"color":"#FFB2C3D4","point":0.6},{"color":"#FFC5D2E1","point":0.7},{"color":"#FFD7E2EE","point":0.8},{"color":"#FFE9F1FA","point":0.9},{"color":"#FFFBFFFF","point":1}],"backgroundColor":"#FF355876"},"highlightSpectrum":{"colorPoints":[{"color":"#FFEDF4FC","point":0},{"color":"#FFE9F2FD","point":0.1},{"color":"#FFE6F1FD","point":0.2},{"color":"#FFE2EFFD","point":0.3},{"color":"#FFDFEEFD","point":0.4},{"color":"#FFDBECFE","point":0.5},{"color":"#FFD7EBFE","point":0.6},{"color":"#FFD4E9FE","point":0.7},{"color":"#FFD0E7FF","point":0.8},{"color":"#FFCCE6FF","point":0.9},{"color":"#FFC8E4FF","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FF7EA2C3","point":0},{"color":"#FF8AAAC9","point":0.1},{"color":"#FF95B2CE","point":0.2},{"color":"#FFA0BAD3","point":0.3},{"color":"#FFABC2D9","point":0.4},{"color":"#FFB6CADE","point":0.5},{"color":"#FFC1D2E3","point":0.6},{"color":"#FFCBD9E8","point":0.7},{"color":"#FFD6E1EC","point":0.8},{"color":"#FFE0E8F1","point":0.9},{"color":"#FFEAEFF6","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":8,"title":"Latest","url":"https://towardsdatascience.com/latest"},{"type":4,"title":"Editors' Picks","url":"https://towardsdatascience.com/editors-picks/home","topicId":"20b4f3e27fbe","source":"topicId"},{"type":4,"title":"Deep Dives","url":"https://towardsdatascience.com/deep-dives/home","topicId":"8ad314313527","source":"topicId"},{"type":4,"title":"About","url":"https://towardsdatascience.com/about-us/home","topicId":"e4bc46bb3ab0","source":"topicId"},{"type":2,"title":"Contribute","postId":"96667b06af5","url":"https://towardsdatascience.com/questions-96667b06af5","source":"postId"},{"type":3,"title":"Newsletter","url":"https://medium.com/towards-data-science/newsletter"}],"colorBehavior":2,"collectionFeatures":[29,30,27,25],"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"title":"","description":"The world’s leading publication for data science, AI, data analytics, data engineering and ML professionals.","backgroundImage":{},"logoImage":{"id":"1*1m9fjwOZWwXIP82RWvRH5A@2x.png","originalWidth":1589,"originalHeight":661,"alt":"Towards Data Science"},"alignment":2,"layout":5},"paidForDomainAt":1509037374118,"subscriberCount":768721,"tagline":"A Medium publication sharing concepts, ideas and codes.","isOptedIntoAurora":false,"newsletterV3":{"newsletterV3Id":"d6fe9076899","type":1,"name":"The Variable","description":"Every Thursday, the Variable delivers the very best of Towards Data Science: from hands-on tutorials and cutting-edge research to the latest on data science and machine learning tools.","collectionId":"7f60cf5620c9","newsletterSlug":"the-variable","isSubscribed":false,"showPromo":true,"avatarImageId":"","creatorId":"895063a310f4","showNewsletterPostsInCollectionHome":true,"exportableSubscribersCount":52145,"subscribersCount":132088,"promoHeadline":"","promoBody":"","replyToEmail":""},"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"1*CJe3891yB1A1mzMdqemkdg.jpeg","filter":"","backgroundSize":"","originalWidth":2861,"originalHeight":2861,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092952992,"type":"Collection"}},"User":{"7390355d40fe":{"userId":"7390355d40fe","name":"Marcello Politi","username":"marcellopoliti","createdAt":1566726217951,"imageId":"1*j2LGC9PJoe-x4E6xdz5Jqg.jpeg","backgroundImageId":"","bio":"Machine Learning Scientist | Ex-ESA.","twitterScreenName":"_March08_","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedAndroidApp":1569932509800,"isMembershipTrialEligible":true,"facebookDisplayName":"Marcello Politi","optInToIceland":true,"userFlags":[3],"hasCompletedProfile":false,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[32,29,21,19,18,12,44,9,41,8,7,30,3,2,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"1b616317eda":{"userId":"1b616317eda","name":"Eivind Kjosbakken","username":"oieivind","createdAt":1647465729067,"imageId":"1*2XuqdJNiyziDVy0Z2bLz3Q.jpeg","backgroundImageId":"","bio":"Data scientist at Findable. Former CS Student at TU Delft and NTNU. I write articles about AI. Reach me at: https://www.linkedin.com/in/eivind-kjosbakken/","twitterScreenName":"Ravenspike21","allowNotes":1,"mediumMemberAt":1690730482000,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1724166612877,"firstOpenedAndroidApp":1678812062166,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"userFlags":[3],"subdomainCreatedAt":1687881854633,"hasCompletedProfile":false,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[47,29,12,44,8,37,36,19,2,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"c8a0ca9d85d8":{"userId":"c8a0ca9d85d8","name":"Vyacheslav Efimov","username":"slavahead","createdAt":1603393368208,"imageId":"1*9xLh34e9CdTnShI8pgYdbg.jpeg","backgroundImageId":"","bio":"BSc in Software Engineering 👨‍🎓 | Passionate Machine Learning Engineer 👨‍💻 | Writer for Towards Data Science ✍️","twitterScreenName":"","allowNotes":1,"mediumMemberAt":1655658796000,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1612477699109,"isMembershipTrialEligible":false,"facebookDisplayName":"","optInToIceland":true,"userFlags":[3],"hasCompletedProfile":true,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[32,29,21,19,18,47,12,44,8,7,5,3,2,10,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"it-it","type":"User"},"ba2da7b3b9c8":{"userId":"ba2da7b3b9c8","name":"Claudia Ng","username":"ds-claudia","createdAt":1578462341799,"imageId":"1*syg-42yjV4NHGIyRX3iSag.jpeg","backgroundImageId":"","bio":"Data Scientist | FinTech | Harvard MPP | Language Enthusiast","twitterScreenName":"ds_claudia_","allowNotes":1,"mediumMemberAt":1715978472231,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedAndroidApp":1703050429836,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"subdomainCreatedAt":1678038719102,"hasCompletedProfile":true,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[29,9,50,3,19,2,1,33,49],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"fr-fr","type":"User"},"1ebe164f0ef0":{"userId":"1ebe164f0ef0","name":"Thomas Reid","username":"thomas_reid","createdAt":1576854494611,"imageId":"1*9HLVlE34bSbCDExHKmVpvg.jpeg","backgroundImageId":"","bio":"A data engineer , specialising in the AWS cloud with particular interest in AI, serverless and the energy, finance and insurance sectors","twitterScreenName":"taupirho","allowNotes":1,"mediumMemberAt":1597580855000,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedAndroidApp":1597581236958,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"userFlags":[3],"hasCompletedProfile":false,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[32,29,21,19,49,48,47,12,44,8,37,36,2,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"7722f981eb":{"userId":"7722f981eb","name":"Eirik Berge, PhD","username":"ebbeberge","createdAt":1609022405566,"imageId":"1*VVbzoFcv3jNVCsJvdK-qpg.png","backgroundImageId":"","bio":"I’m a senior data consultant that is interested in everything related to data! You can reach me here: https://www.linkedin.com/in/eirik-berge-74a307218/","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1626391949337,"firstOpenedAndroidApp":1657897524223,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[32,29,21,19,18,48,12,11,9,41,8,50,5,30,36,3,2,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"nb","type":"User"},"51dce1c5bc03":{"userId":"51dce1c5bc03","name":"Mike Clayton","username":"maclayton","createdAt":1656534316894,"imageId":"1*zt0yxZAgLAq5sD50pNxXGw.jpeg","backgroundImageId":"","bio":"Chartered engineer utilising data science for better insights. thetestspecimen.com | linkedin.com/in/mike-clayton/ | https://github.com/thetestspecimen","twitterScreenName":"thetestspecimen","allowNotes":1,"mediumMemberAt":1656699658000,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedAndroidApp":1656695963055,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"userFlags":[3],"hasCompletedProfile":false,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[32,29,22,21,19,48,47,8,7,6,50,37,36,3,2,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"99b63de2f2c3":{"userId":"99b63de2f2c3","name":"Shreya Rao","username":"shreya.rao","createdAt":1628576668665,"imageId":"1*Dw7i9_T729qQE7ieepVvKw.jpeg","backgroundImageId":"","bio":"Philomath | LinkedIn: https://www.linkedin.com/in/shreyarao24/","twitterScreenName":"","allowNotes":1,"mediumMemberAt":1700768228000,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1669436997224,"isMembershipTrialEligible":false,"facebookDisplayName":"","optInToIceland":true,"userFlags":[3],"hasCompletedProfile":true,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[32,29,22,21,19,18,47,12,44,11,8,7,37,30,3,20,2,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"bd281fad5f8a":{"userId":"bd281fad5f8a","name":"Gizem Kaya","username":"gizkaya","createdAt":1640349200027,"imageId":"1*zp87uWSKMigrw0kxY20Dag.jpeg","backgroundImageId":"","bio":"Data Science @BASF Agricultural Solutions💚 I'm a passionate data analytics professional, committed to continual growth. Reach me for any questions & feedback!","twitterScreenName":"","allowNotes":1,"mediumMemberAt":1728648541959,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedAndroidApp":1732648757194,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"subdomainCreatedAt":1713510747293,"hasCompletedProfile":false,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[50,29,12,33,49],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"d18c7303c5a2":{"userId":"d18c7303c5a2","name":"Bradney Smith","username":"bradneysmith","createdAt":1646074158275,"imageId":"1*tVLKwOvdthd64kORuXntTg.jpeg","backgroundImageId":"","bio":"AI Lead @ Spotted Zebra 🦓 My work focuses on Natural Language Processing (NLP) and data science communication. Check out my \"LLMs from Scratch\" series !","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedAndroidApp":1702116149825,"isMembershipTrialEligible":false,"facebookDisplayName":"Brad Smith","optInToIceland":true,"hasCompletedProfile":true,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[48,47,29,12,41,8,50,19,2,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"1cac491223b2":{"userId":"1cac491223b2","name":"Egor Howell","username":"egorhowell","createdAt":1611675930858,"imageId":"1*GjTgnF9urbcpls3Y9LEzWw.jpeg","backgroundImageId":"","bio":"Top Writer: DS, ML, AI , Statistics & Optimization. 🎬 https://www.youtube.com/@egorhowell. ---- All opinions here are my own.","twitterScreenName":"","allowNotes":1,"mediumMemberAt":1628447448000,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1628892904182,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"userFlags":[3],"hasCompletedProfile":false,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[32,29,22,21,19,18,47,12,44,11,9,8,7,6,38,5,37,36,3,2,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"}},"Post":{"8f1bd06b9476":{"id":"8f1bd06b9476","versionId":"65ef854e983d","creatorId":"7390355d40fe","homeCollectionId":"7f60cf5620c9","title":"Level Up Your Coding Skills with Python Threading","detectedLanguage":"en","latestVersion":"65ef854e983d","latestPublishedVersion":"65ef854e983d","hasUnpublishedEdits":false,"latestRev":874,"createdAt":1732444036684,"updatedAt":1732726934703,"acceptedAt":0,"firstPublishedAt":1732726930603,"latestPublishedAt":1732726930603,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Learn how to use queues, daemon threads, and events in a Machine Learning project","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*JTfMaNPNoCXvmCUq","filter":"","backgroundSize":"","originalWidth":5400,"originalHeight":3600,"strategy":"resample","height":0,"width":0},"wordCount":1588,"imageCount":2,"readingTime":6.3757861635220126,"subtitle":"Learn how to use queues, daemon threads, and events in a Machine Learning project","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"python","name":"Python","postCount":259576,"metadata":{"postCount":259576,"coverImage":{"id":"1*uiA0nCufUQs-K64ebSUhew.jpeg","originalWidth":1280,"originalHeight":800,"isFeatured":true}},"type":"Tag"},{"slug":"programming","name":"Programming","postCount":448088,"metadata":{"postCount":448088,"coverImage":{"id":"1*t5dwn8IabnCdEpoO-6Toog.png","originalWidth":1920,"originalHeight":1080,"isFeatured":true,"alt":"Kubernetes"}},"type":"Tag"},{"slug":"data-science","name":"Data Science","postCount":347124,"metadata":{"postCount":347124,"coverImage":{"id":"1*Yajp0Wd7P8zjtA4D5uWZ7Q.jpeg","originalWidth":640,"originalHeight":425}},"type":"Tag"},{"slug":"tips-and-tricks","name":"Tips And Tricks","postCount":24982,"metadata":{"postCount":24982,"coverImage":{"id":"1*xBmKmGglhsLafmM7tfTTPQ.jpeg","originalWidth":1792,"originalHeight":1024,"isFeatured":true}},"type":"Tag"},{"slug":"multithreading","name":"Multithreading","postCount":2822,"metadata":{"postCount":2822,"coverImage":{"id":"1*9rruj3eqsTR4Lh8NZRNNKg.png","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://unsplash.com?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://emojiterra.com/laptop-computer/","alts":[],"httpStatus":403},{"url":"https://miro.medium.com/v2/resize:fit:1280/0*HUWegihFk4x2x5vS.gif","alts":[],"httpStatus":200},{"url":"https://x.com/Marcello_AI","alts":[],"httpStatus":200},{"url":"https://marcello-politi.super.site/","alts":[],"httpStatus":200},{"url":"https://simple.wikipedia.org/wiki/Computer_program","alts":[],"httpStatus":200},{"url":"https://simple.wikipedia.org/wiki/Task_(computers)","alts":[],"httpStatus":200},{"url":"https://unsplash.com/@sonika_agarwal?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://medium.com/@marcellopoliti","alts":[{"type":2,"url":"medium://@marcellopoliti"},{"type":3,"url":"medium://@marcellopoliti"}],"httpStatus":200},{"url":"https://www.linkedin.com/in/marcello-politi/","alts":[],"httpStatus":999}],"version":"0.3","generatedAt":1732726932086},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":17,"sectionCount":1,"readingList":0,"topics":[]},"coverless":true,"slug":"level-up-your-coding-skills-with-python-threading","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"level-up-your-coding-skills-with-python-threading-8f1bd06b9476","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*JTfMaNPNoCXvmCUq","originalWidth":5400,"originalHeight":3600,"isFeatured":true,"unsplashPhotoId":"l8JilDrJbpA"}},{"name":"8069","type":3,"text":"Level Up Your Coding Skills with Python Threading","markups":[],"alignment":1},{"name":"9cfe","type":13,"text":"Learn how to use queues, daemon threads, and events…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Learn how to use queues, daemon threads, and events in a Machine Learning project"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"9c6816eb734b","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732610071062,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"c584","type":4,"text":"Photo by Sonika Agarwal on Unsplash","markups":[{"type":3,"start":9,"end":23,"href":"https://unsplash.com/@sonika_agarwal?utm_source=medium&utm_medium=referral","title":"","rel":"photo-creator","anchorType":0},{"type":3,"start":27,"end":35,"href":"https://unsplash.com?utm_source=medium&utm_medium=referral","title":"","rel":"photo-source","anchorType":0}],"layout":1,"metadata":{"id":"0*JTfMaNPNoCXvmCUq","originalWidth":5400,"originalHeight":3600,"isFeatured":true,"unsplashPhotoId":"l8JilDrJbpA"}},{"name":"8069","type":3,"text":"Level Up Your Coding Skills with Python Threading","markups":[]},{"name":"9cfe","type":13,"text":"Learn how to use queues, daemon threads, and events in a Machine Learning project","markups":[]},{"name":"deb2","type":13,"text":"Introduction","markups":[]},{"name":"d377","type":1,"text":"In most Machine Learning jobs, you won’t do research on improving some model architecture or designing a new loss function. Most of the time you must utilize what already exists and adapt it to your use case. So it is very important to optimize your project in terms of architectural…","markups":[]}],"sections":[{"name":"0081","startIndex":0}]},"isFullContent":false,"subtitle":"Learn how to use queues, daemon threads, and events in a Machine Learning project"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"096550746987":{"id":"096550746987","versionId":"cfe218fe51a3","creatorId":"1b616317eda","homeCollectionId":"7f60cf5620c9","title":"How to Develop an Effective AI-Powered Legal Assistant","detectedLanguage":"en","latestVersion":"cfe218fe51a3","latestPublishedVersion":"cfe218fe51a3","hasUnpublishedEdits":false,"latestRev":1160,"createdAt":1732444783857,"updatedAt":1732728554008,"acceptedAt":0,"firstPublishedAt":1732723330586,"latestPublishedAt":1732723330586,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Create a machine-learning-based search into legal decisions","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*RAUD_lxOn00LQC47","filter":"","backgroundSize":"","originalWidth":1024,"originalHeight":1024,"strategy":"resample","height":0,"width":0},"wordCount":2278,"imageCount":3,"readingTime":9.14622641509434,"subtitle":"Create a machine-learning-based search into legal decisions","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":2,"isBookmarked":false,"tags":[{"slug":"ai","name":"AI","postCount":430513,"metadata":{"postCount":430513,"coverImage":{"id":"0*Zs_B6zDXGdgkK2jv","originalWidth":5120,"originalHeight":2880,"isFeatured":true,"unsplashPhotoId":"_nWaeTF6qo0"}},"type":"Tag"},{"slug":"machine-learning","name":"Machine Learning","postCount":354532,"metadata":{"postCount":354532,"coverImage":{"id":"1*8yJrgGPFwHBY8lpIFg7ERQ.png","originalWidth":940,"originalHeight":788,"isFeatured":true}},"type":"Tag"},{"slug":"legal","name":"Legal","postCount":21477,"metadata":{"postCount":21477,"coverImage":{"id":"1*ReNAsc3UdfSWzgZjKsY8Ug.jpeg","originalWidth":1792,"originalHeight":1024,"isFeatured":true}},"type":"Tag"},{"slug":"ai-assistant","name":"Ai Assistant","postCount":1620,"metadata":{"postCount":1620,"coverImage":{"id":"1*nHHa0e1yTqn2RF0Gj3AF9w.jpeg","originalWidth":1024,"originalHeight":768,"isFeatured":true}},"type":"Tag"},{"slug":"retrieval","name":"Retrieval","postCount":135,"metadata":{"postCount":135,"coverImage":{"id":"1*rF5MF7JwQ7Ka329DHoSz7Q.png","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":3,"links":{"entries":[{"url":"#df3e","alts":[],"httpStatus":0},{"url":"#6f89","alts":[],"httpStatus":0},{"url":"#f58f","alts":[],"httpStatus":0},{"url":"#3315","alts":[],"httpStatus":0},{"url":"#1879","alts":[],"httpStatus":0},{"url":"#d44e","alts":[],"httpStatus":0},{"url":"#cb8d","alts":[],"httpStatus":0},{"url":"#d83c","alts":[],"httpStatus":0},{"url":"#f851","alts":[],"httpStatus":0},{"url":"#2bc9","alts":[],"httpStatus":0},{"url":"#df69","alts":[],"httpStatus":0},{"url":"https://pypi.org/project/selenium/","alts":[],"httpStatus":200},{"url":"https://legal-share-frontend.vercel.app/","alts":[],"httpStatus":200},{"url":"https://towardsdatascience.com/creating-a-frontend-for-your-ml-application-with-vercel-v0-a25179ea1170","alts":[{"type":3,"url":"medium://p/a25179ea1170"},{"type":2,"url":"medium://p/a25179ea1170"}],"httpStatus":200},{"url":"https://towardsdatascience.com/implementing-anthropics-contextual-retrieval-for-powerful-rag-performance-b85173a65b83","alts":[{"type":2,"url":"medium://p/b85173a65b83"},{"type":3,"url":"medium://p/b85173a65b83"}],"httpStatus":200},{"url":"https://www.domstol.no/no/hoyesterett/avgjorelser/","alts":[],"httpStatus":200},{"url":"https://www.kopinor.no/opphavsrett/opphavsrett-p-123#:~:text=Av%20hensyn%20til%20allmennhetens%20behov,vern%20(%C3%A5ndsverklovens%20%C2%A7%2014).","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1732723332725},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":17,"sectionCount":1,"readingList":0,"topics":[{"topicId":"1af65db9c2f8","slug":"artificial-intelligence","createdAt":1487916832419,"deletedAt":0,"image":{"id":"1*A28aHchbaA8zNVXraBq0Ug@2x.jpeg","originalWidth":4866,"originalHeight":3244},"name":"Artificial Intelligence","description":"Born to be bot.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"AI News and Artificial Intelligence Articles — Medium","type":"Topic"},{"topicId":"1eca0103fff3","slug":"machine-learning","createdAt":1534449726145,"deletedAt":0,"image":{"id":"1*gFJS3amhZEg_z39D5EErVg@2x.png","originalWidth":2800,"originalHeight":1750},"name":"Machine Learning","description":"Teaching the learners.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Machine Learning News and Articles — Medium","type":"Topic"},{"topicId":"8a146bc21b28","slug":"productivity","createdAt":1493922639062,"deletedAt":0,"image":{"id":"1*Kl2y0nUvCgWSE8Qv0Et84Q@2x.jpeg","originalWidth":4096,"originalHeight":2731},"name":"Productivity","description":"Working with purpose.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Articles About Productivity — Medium","type":"Topic"}]},"coverless":true,"slug":"how-to-develop-an-effective-ai-powered-legal-assistant","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"how-to-develop-an-effective-ai-powered-legal-assistant-096550746987","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*RAUD_lxOn00LQC47","originalWidth":1024,"originalHeight":1024,"isFeatured":true}},{"name":"cc1f","type":3,"text":"How to Develop an Effective AI-Powered Legal Assistant","markups":[],"alignment":1},{"name":"4fe9","type":13,"text":"Create a machine-learning-based search into…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Create a machine-learning-based search into legal decisions"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"0ebcd9df434a","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732567817815,"primaryTopicId":"1eca0103fff3","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"cc1f","type":3,"text":"How to Develop an Effective AI-Powered Legal Assistant","markups":[]},{"name":"4fe9","type":13,"text":"Create a machine-learning-based search into legal decisions","markups":[]},{"name":"e810","type":1,"text":"In this article, I describe how I created an application to search for supreme court decisions in Norway. This application is a useful tool for quickly gaining insights into decisions made on different topics, which is especially interesting if you want to learn the Supreme Court’s stance on particular subjects…","markups":[]}],"sections":[{"name":"9c81","startIndex":0}]},"isFullContent":false,"subtitle":"Create a machine-learning-based search into legal decisions"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"2dc9beb69b27":{"id":"2dc9beb69b27","versionId":"4d6844fb15ce","creatorId":"c8a0ca9d85d8","homeCollectionId":"7f60cf5620c9","title":"Roadmap to Becoming a Data Scientist, Part 1: Maths","detectedLanguage":"en","latestVersion":"4d6844fb15ce","latestPublishedVersion":"4d6844fb15ce","hasUnpublishedEdits":false,"latestRev":2235,"createdAt":1731185622890,"updatedAt":1732724845770,"acceptedAt":0,"firstPublishedAt":1732719740045,"latestPublishedAt":1732719740045,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Identifying fundamental math skills to master for aspiring Data Scientists","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*E0V_rBGKoNg-zb7r399HcQ.png","filter":"","backgroundSize":"","originalWidth":1658,"originalHeight":1066,"strategy":"resample","height":0,"width":0},"wordCount":2476,"imageCount":12,"readingTime":10.693396226415095,"subtitle":"Identifying fundamental math skills to master for aspiring Data Scientists","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"data-science","name":"Data Science","postCount":347124,"metadata":{"postCount":347124,"coverImage":{"id":"1*Yajp0Wd7P8zjtA4D5uWZ7Q.jpeg","originalWidth":640,"originalHeight":425}},"type":"Tag"},{"slug":"roadmaps","name":"Roadmaps","postCount":6356,"metadata":{"postCount":6356,"coverImage":{"id":"1*N43-WHSSXGei3wMywLtE0w.jpeg","originalWidth":1120,"originalHeight":1120,"isFeatured":true}},"type":"Tag"},{"slug":"careers","name":"Careers","postCount":135810,"metadata":{"postCount":135810,"coverImage":{"id":"1*CMV8oSUcBy4lnzqiCy45GA.jpeg","originalWidth":3456,"originalHeight":4608,"isFeatured":true}},"type":"Tag"},{"slug":"mathematics","name":"Mathematics","postCount":34739,"metadata":{"postCount":34739,"coverImage":{"id":"0*sHF3qxdjF5sX0GaE","originalWidth":3976,"originalHeight":2652,"isFeatured":true,"unsplashPhotoId":"52gEprMkp7M"}},"type":"Tag"},{"slug":"editors-pick","name":"Editors Pick","postCount":4813,"metadata":{"postCount":4813,"coverImage":{"id":"1*aFX8XyDbU5UCBAEKMEQ-xQ.png","originalWidth":1680,"originalHeight":1232,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://arxiv.org/pdf/2109.12171","alts":[],"httpStatus":200},{"url":"https://www.linkedin.com/in/vyacheslav-efimov/","alts":[],"httpStatus":999},{"url":"https://www.instagram.com/code_with_slava/","alts":[],"httpStatus":200},{"url":"https://medium.com/towards-data-science/demystifying-confidence-intervals-with-examples-7bdef30f7b0a","alts":[{"type":3,"url":"medium://p/7bdef30f7b0a"},{"type":2,"url":"medium://p/7bdef30f7b0a"}],"httpStatus":200}],"version":"0.3","generatedAt":1732719741660},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":72,"sectionCount":1,"readingList":0,"topics":[{"topicId":"7808efc0cf94","slug":"math","createdAt":1494090780021,"deletedAt":0,"image":{"id":"1*S4y5QE8kNj1Im9dAcGQtOA@2x.jpeg","originalWidth":1800,"originalHeight":1200},"name":"Math","description":"Add it up.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Math News and Articles — Medium","type":"Topic"},{"topicId":"ae5d4995e225","slug":"data-science","createdAt":1493923906289,"deletedAt":0,"image":{"id":"1*NHWOEki_ncCX-xzbKtkEWw@2x.jpeg","originalWidth":5760,"originalHeight":3840},"name":"Data Science","description":"Query this.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Data Science News and Articles — Medium","type":"Topic"},{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"roadmap-to-becoming-a-data-scientist-part-1-maths","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"roadmap-to-becoming-a-data-scientist-part-1-maths-2dc9beb69b27","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*E0V_rBGKoNg-zb7r399HcQ.png","originalWidth":1658,"originalHeight":1066,"isFeatured":true}},{"name":"previewTitle","type":3,"text":"Roadmap to Becoming a Data Scientist, Part 1: Maths","alignment":1},{"name":"previewSubtitle","type":13,"text":"Identifying fundamental math skills to master for…","alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Identifying fundamental math skills to master for aspiring Data Scientists"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"9b8f7df54caf","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732558894337,"primaryTopicId":"ae5d4995e225","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"ee07","type":3,"text":"Roadmap to Becoming a Data Scientist, Part 1: Maths","markups":[]},{"name":"bbe6","type":13,"text":"Identifying fundamental math skills for aspiring data scientists","markups":[{"type":1,"start":0,"end":64}]},{"name":"96d2","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*E0V_rBGKoNg-zb7r399HcQ.png","originalWidth":1658,"originalHeight":1066,"isFeatured":true}},{"name":"ead1","type":3,"text":"Introduction","markups":[]},{"name":"47fe","type":1,"text":"Data science is undoubtedly one of the most fascinating fields today. Following significant breakthroughs in machine learning about a decade ago, data science has surged in popularity within the tech community. Each year, we witness increasingly powerful tools that once seemed unimaginable. Innovations such as the Transformer architecture, ChatGPT, the…","markups":[{"type":2,"start":316,"end":340},{"type":2,"start":342,"end":349},{"type":2,"start":355,"end":390},{"type":2,"start":424,"end":446},{"type":2,"start":459,"end":463}],"hasDropCap":true}],"sections":[{"name":"344b","startIndex":0}]},"isFullContent":false,"subtitle":"Identifying fundamental math skills to master for aspiring Data Scientists"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"fda22621c5b3":{"id":"fda22621c5b3","versionId":"6b5c9d102ff3","creatorId":"ba2da7b3b9c8","homeCollectionId":"7f60cf5620c9","title":"Why a Data Scientist with a PhD Might Kill Your Early Stage Startup","detectedLanguage":"en","latestVersion":"6b5c9d102ff3","latestPublishedVersion":"6b5c9d102ff3","hasUnpublishedEdits":false,"latestRev":877,"createdAt":1732539253115,"updatedAt":1732721484820,"acceptedAt":0,"firstPublishedAt":1732716130875,"latestPublishedAt":1732718804970,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Look beyond the degree and hire smarter by prioritizing these five traits instead","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*Kp0Q71aS4RmnfdtUH2qYbQ.png","filter":"","backgroundSize":"","originalWidth":640,"originalHeight":640,"strategy":"resample","height":0,"width":0},"wordCount":1704,"imageCount":1,"readingTime":6.6301886792452835,"subtitle":"Look beyond the degree and hire smarter by prioritizing these five traits instead","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":8,"isBookmarked":false,"tags":[{"slug":"data-science","name":"Data Science","postCount":347124,"metadata":{"postCount":347124,"coverImage":{"id":"1*Yajp0Wd7P8zjtA4D5uWZ7Q.jpeg","originalWidth":640,"originalHeight":425}},"type":"Tag"},{"slug":"startup","name":"Startup","postCount":644859,"metadata":{"postCount":644859,"coverImage":{"id":"1*22RsJ-7NHWOqbpqOFCv8Vw.jpeg"}},"type":"Tag"},{"slug":"hiring","name":"Hiring","postCount":39802,"metadata":{"postCount":39802,"coverImage":{"id":"1*rVvBHi6N6Ms0hts1HAr0Bw.png","originalWidth":1655,"originalHeight":922}},"type":"Tag"},{"slug":"machine-learning","name":"Machine Learning","postCount":354532,"metadata":{"postCount":354532,"coverImage":{"id":"1*8yJrgGPFwHBY8lpIFg7ERQ.png","originalWidth":940,"originalHeight":788,"isFeatured":true}},"type":"Tag"},{"slug":"notes-from-industry","name":"Notes From Industry","postCount":413,"metadata":{"postCount":413,"coverImage":{"id":"1*yxe_RLxn4nSjp3KGMhT5_g.png","originalWidth":2400,"originalHeight":1350,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://pixabay.com/users/u_18op6hh0kg-42214428/?","alts":[],"httpStatus":403},{"url":"https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=8554677","alts":[],"httpStatus":403},{"url":"https://ds-claudia.kit.com/b85685a8e2","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1732718805293},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":131,"sectionCount":2,"readingList":0,"topics":[{"topicId":"1eca0103fff3","slug":"machine-learning","createdAt":1534449726145,"deletedAt":0,"image":{"id":"1*gFJS3amhZEg_z39D5EErVg@2x.png","originalWidth":2800,"originalHeight":1750},"name":"Machine Learning","description":"Teaching the learners.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Machine Learning News and Articles — Medium","type":"Topic"},{"topicId":"ae5d4995e225","slug":"data-science","createdAt":1493923906289,"deletedAt":0,"image":{"id":"1*NHWOEki_ncCX-xzbKtkEWw@2x.jpeg","originalWidth":5760,"originalHeight":3840},"name":"Data Science","description":"Query this.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Data Science News and Articles — Medium","type":"Topic"},{"topicId":"ba2d3ab15ed6","slug":"startups","createdAt":1493829293973,"deletedAt":0,"image":{"id":"1*unFN2bn-rJB7tM_HJ4m_Rg@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Startups","description":"Founding, funding, and beyond.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Startup News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"why-a-data-scientist-with-a-phd-might-kill-your-early-stage-startup","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"why-a-data-scientist-with-a-phd-might-kill-your-early-stage-startup-fda22621c5b3","previewContent":{"bodyModel":{"paragraphs":[{"name":"573c","type":3,"text":"Why a Data Scientist with a PhD Might Kill Your Early-Stage Startup","markups":[],"alignment":1},{"name":"9690","type":13,"text":"Look beyond the degree and hire smarter by prioritizing these five traits instead","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Look beyond the degree and hire smarter by prioritizing these five traits instead"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"79baf35f026c","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732545273597,"primaryTopicId":"ae5d4995e225","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"573c","type":3,"text":"Why a Data Scientist with a PhD Might Kill Your Early-Stage Startup","markups":[]},{"name":"9690","type":13,"text":"Look beyond the degree and hire smarter by prioritizing these five traits instead","markups":[]},{"name":"a8c0","type":4,"text":"Image by u_18op6hh0kg from Pixabay","markups":[{"type":3,"start":9,"end":21,"href":"https://pixabay.com/users/u_18op6hh0kg-42214428/?","title":"","rel":"","anchorType":0,"creatorIds":[]},{"type":3,"start":27,"end":34,"href":"https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=8554677","title":"","rel":"","anchorType":0,"creatorIds":[]}],"layout":1,"metadata":{"id":"1*Kp0Q71aS4RmnfdtUH2qYbQ.png","originalWidth":640,"originalHeight":640}},{"name":"b31c","type":1,"text":"I’m a Data Scientist/ ML Engineer without a STEM degree or PhD but with six years of experience in tech.","markups":[]},{"name":"b25b","type":1,"text":"Despite not having a PhD or quantitative degree, I’ve managed to drive enormous impact. I’ve:","markups":[]},{"name":"19a9","type":9,"text":"Developed ML credit models that have disbursed over US$900M,","markups":[]},{"name":"53e2","type":9,"text":"Scaled a new market launch to…","markups":[]}],"sections":[{"name":"e888","startIndex":0}]},"isFullContent":false,"subtitle":"Look beyond the degree and hire smarter by prioritizing these five traits instead"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"0010657f595f":{"id":"0010657f595f","versionId":"e57a966185dd","creatorId":"1ebe164f0ef0","homeCollectionId":"7f60cf5620c9","title":"Introducing the New Anthropic PDF Processing API","detectedLanguage":"en","latestVersion":"e57a966185dd","latestPublishedVersion":"e57a966185dd","hasUnpublishedEdits":false,"latestRev":871,"createdAt":1730901333559,"updatedAt":1732718506363,"acceptedAt":0,"firstPublishedAt":1732712535137,"latestPublishedAt":1732712535137,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Anthropic Claude 3.5 now understands PDF input","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*aS-g0PMd910xTRQ_","filter":"","backgroundSize":"","originalWidth":1792,"originalHeight":1024,"strategy":"resample","height":0,"width":0},"wordCount":1757,"imageCount":5,"readingTime":7.463522012578616,"subtitle":"Anthropic Claude 3.5 now understands PDF input","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":5,"isBookmarked":false,"tags":[{"slug":"ai","name":"AI","postCount":430513,"metadata":{"postCount":430513,"coverImage":{"id":"0*Zs_B6zDXGdgkK2jv","originalWidth":5120,"originalHeight":2880,"isFeatured":true,"unsplashPhotoId":"_nWaeTF6qo0"}},"type":"Tag"},{"slug":"anthropic-claude","name":"Anthropic Claude","postCount":543,"metadata":{"postCount":543,"coverImage":{"id":"0*vx14ZsK32TV7BWTG.png","originalWidth":2000,"originalHeight":1071,"isFeatured":true}},"type":"Tag"},{"slug":"data-science","name":"Data Science","postCount":347124,"metadata":{"postCount":347124,"coverImage":{"id":"1*Yajp0Wd7P8zjtA4D5uWZ7Q.jpeg","originalWidth":640,"originalHeight":425}},"type":"Tag"},{"slug":"data-engineering","name":"Data Engineering","postCount":38469,"metadata":{"postCount":38469,"coverImage":{"id":"1*wJurAMzy5rcdibdSdeD7gg.png","originalWidth":1024,"originalHeight":1024,"isFeatured":true}},"type":"Tag"},{"slug":"pdf","name":"Pdf","postCount":370043,"metadata":{"postCount":370043,"coverImage":{"id":"1*g3E39QliHM9mST3NTibttA.png","originalWidth":840,"originalHeight":400,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":2,"links":{"entries":[{"url":"https://ko-fi.com/taupirho","alts":[],"httpStatus":403},{"url":"https://www.sec.gov/Archives/edgar/data/1318605/000162828023034847/tsla-20230930.htm","alts":[],"httpStatus":200},{"url":"https://console.anthropic.com/","alts":[],"httpStatus":200},{"url":"https://docs.anthropic.com/en/docs/build-with-claude/pdf-support","alts":[],"httpStatus":200},{"url":"https://medium.com/@thomas_reid","alts":[{"type":3,"url":"medium://@thomas_reid"},{"type":2,"url":"medium://@thomas_reid"}],"httpStatus":200},{"url":"https://ai.gopubby.com/develop-then-deploy-a-webp-to-png-image-converter-app-to-the-web-part-1-0ed2ed6227ce","alts":[{"type":3,"url":"medium://p/0ed2ed6227ce"},{"type":2,"url":"medium://p/0ed2ed6227ce"}],"httpStatus":200},{"url":"https://towardsdatascience.com/introducing-the-new-anthropic-token-counting-api-5afd58bad5ff","alts":[{"type":3,"url":"medium://p/5afd58bad5ff"},{"type":2,"url":"medium://p/5afd58bad5ff"}],"httpStatus":200},{"url":"https://towardsdatascience.com/c-programming-using-claudes-new-computer-use-model-feaad7e3e8db","alts":[{"type":3,"url":"medium://p/feaad7e3e8db"},{"type":2,"url":"medium://p/feaad7e3e8db"}],"httpStatus":200},{"url":"https://medium.com/stackademic/installing-wsl2-ubuntu-for-windows-81122c551bc2","alts":[{"type":3,"url":"medium://p/81122c551bc2"},{"type":2,"url":"medium://p/81122c551bc2"}],"httpStatus":200}],"version":"0.3","generatedAt":1732712538263},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":53,"sectionCount":1,"readingList":0,"topics":[{"topicId":"1eca0103fff3","slug":"machine-learning","createdAt":1534449726145,"deletedAt":0,"image":{"id":"1*gFJS3amhZEg_z39D5EErVg@2x.png","originalWidth":2800,"originalHeight":1750},"name":"Machine Learning","description":"Teaching the learners.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Machine Learning News and Articles — Medium","type":"Topic"},{"topicId":"ae5d4995e225","slug":"data-science","createdAt":1493923906289,"deletedAt":0,"image":{"id":"1*NHWOEki_ncCX-xzbKtkEWw@2x.jpeg","originalWidth":5760,"originalHeight":3840},"name":"Data Science","description":"Query this.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Data Science News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"introducing-the-new-anthropic-pdf-processing-api","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"introducing-the-new-anthropic-pdf-processing-api-0010657f595f","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*aS-g0PMd910xTRQ_","originalWidth":1792,"originalHeight":1024,"isFeatured":true}},{"name":"2a09","type":3,"text":"Introducing the New Anthropic PDF Processing API","markups":[],"alignment":1},{"name":"f581","type":13,"text":"Anthropic Claude 3.5 now understands PDF input","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Anthropic Claude 3.5 now understands PDF input"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"0a684241b631","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732481845609,"primaryTopicId":"1eca0103fff3","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"0927","type":4,"text":"Image by AI (Dalle-3)","markups":[],"layout":3,"metadata":{"id":"0*aS-g0PMd910xTRQ_","originalWidth":1792,"originalHeight":1024,"isFeatured":true}},{"name":"2a09","type":3,"text":"Introducing the New Anthropic PDF Processing API","markups":[]},{"name":"f581","type":13,"text":"Anthropic Claude 3.5 now understands PDF input","markups":[]},{"name":"09db","type":1,"text":"In the last few weeks, Anthropic has released some exciting beta features that have largely gone under the radar. One of these was its new token-counting API. I have already written an article on this, which you can read by clicking the link below.","markups":[]},{"name":"aea3","type":14,"text":"Introducing the New Anthropic Token Counting API\nKeep a closer eye on your costs when using Claudetowardsdatascience.com","markups":[{"type":3,"start":0,"end":120,"href":"https://towardsdatascience.com/introducing-the-new-anthropic-token-counting-api-5afd58bad5ff","title":"https://towardsdatascience.com/introducing-the-new-anthropic-token-counting-api-5afd58bad5ff","rel":"","anchorType":0},{"type":1,"start":0,"end":48},{"type":2,"start":49,"end":98}],"mixtapeMetadata":{"mediaResourceId":"bef54f13cb4cad3d8ade89193ea759b0","thumbnailImageId":"1*8qT5lxqBEKoQYJsIO6yPPQ.png","href":"https://towardsdatascience.com/introducing-the-new-anthropic-token-counting-api-5afd58bad5ff"}},{"name":"9560","type":1,"text":"The other exciting feature, and the…","markups":[]}],"sections":[{"name":"288c","startIndex":0}]},"isFullContent":false,"subtitle":"Anthropic Claude 3.5 now understands PDF input"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"fa9e6f0af37f":{"id":"fa9e6f0af37f","versionId":"ae9bf9cc7f63","creatorId":"7722f981eb","homeCollectionId":"7f60cf5620c9","title":"Use Tablib to Handle Simple Tabular Data in Python","detectedLanguage":"en","latestVersion":"ae9bf9cc7f63","latestPublishedVersion":"ae9bf9cc7f63","hasUnpublishedEdits":false,"latestRev":1376,"createdAt":1732445281694,"updatedAt":1732714354152,"acceptedAt":0,"firstPublishedAt":1732708927994,"latestPublishedAt":1732708927994,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Sometimes a Shallow Abstraction is more Valuable than Performance","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*txi-Sr47s3u2QE0h","filter":"","backgroundSize":"","originalWidth":5280,"originalHeight":3520,"strategy":"resample","height":0,"width":0},"wordCount":2585,"imageCount":2,"readingTime":10.138050314465408,"subtitle":"Sometimes a Shallow Abstraction is more Valuable than Performance","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":6,"isBookmarked":false,"tags":[{"slug":"python","name":"Python","postCount":259576,"metadata":{"postCount":259576,"coverImage":{"id":"1*uiA0nCufUQs-K64ebSUhew.jpeg","originalWidth":1280,"originalHeight":800,"isFeatured":true}},"type":"Tag"},{"slug":"tabular-data","name":"Tabular Data","postCount":182,"metadata":{"postCount":182,"coverImage":{"id":"0*txi-Sr47s3u2QE0h","originalWidth":5280,"originalHeight":3520,"isFeatured":true,"unsplashPhotoId":"oJlt2XBWuWs"}},"type":"Tag"},{"slug":"data-ingestion","name":"Data Ingestion","postCount":444,"metadata":{"postCount":444,"coverImage":{"id":"1*CAV6JSumIq6cSvEx_a-h9A.png","originalWidth":1329,"originalHeight":693,"isFeatured":true}},"type":"Tag"},{"slug":"data-transformation","name":"Data Transformation","postCount":960,"metadata":{"postCount":960,"coverImage":{"id":"1*TKEt4rNlXCqi450Ac4GWzA.png","originalWidth":1344,"originalHeight":768,"isFeatured":true}},"type":"Tag"},{"slug":"getting-started","name":"Getting Started","postCount":4505,"metadata":{"postCount":4505,"coverImage":{"id":"1*_dlG-Cju5ke-DKp8DQ9hiA@2x.jpeg","originalWidth":1074,"originalHeight":801,"backgroundSize":"","filter":"","isFeatured":true,"externalSrc":"","focusPercentX":-1,"focusPercentY":-1,"alt":"","repairedAt":0,"unsplashPhotoId":""}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"#969a","alts":[],"httpStatus":0},{"url":"#a6cb","alts":[],"httpStatus":0},{"url":"#ca94","alts":[],"httpStatus":0},{"url":"https://unsplash.com/?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://unsplash.com?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"#cd4f","alts":[],"httpStatus":0},{"url":"#c801","alts":[],"httpStatus":0},{"url":"#f09e","alts":[],"httpStatus":0},{"url":"#dea7","alts":[],"httpStatus":0},{"url":"https://tablib.readthedocs.io/en/stable/","alts":[],"httpStatus":200},{"url":"https://tablib.readthedocs.io/en/stable/install.html","alts":[],"httpStatus":200},{"url":"https://unsplash.com/@davidclode?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://towardsdatascience.com/visualizing-missing-values-in-python-is-shockingly-easy-56ed5bc2e7ea","alts":[{"type":3,"url":"medium://p/56ed5bc2e7ea"},{"type":2,"url":"medium://p/56ed5bc2e7ea"}],"httpStatus":200},{"url":"https://github.com/eirikstine/tablib-files","alts":[],"httpStatus":200},{"url":"https://towardsdatascience.com/introducing-anomaly-outlier-detection-in-python-with-pyod-40afcccee9ff","alts":[{"type":3,"url":"medium://p/40afcccee9ff"},{"type":2,"url":"medium://p/40afcccee9ff"}],"httpStatus":200},{"url":"https://towardsdatascience.com/modernize-your-sinful-python-code-with-beautiful-type-hints-4e72e98f6bf1","alts":[{"type":3,"url":"medium://p/4e72e98f6bf1"},{"type":2,"url":"medium://p/4e72e98f6bf1"}],"httpStatus":200},{"url":"https://www.linkedin.com/in/eirik-berge/","alts":[],"httpStatus":999},{"url":"https://unsplash.com/@spencerbergen?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://towardsdatascience.com/how-to-write-high-quality-python-as-a-data-scientist-cde99f582675","alts":[{"type":3,"url":"medium://p/cde99f582675"},{"type":2,"url":"medium://p/cde99f582675"}],"httpStatus":200},{"url":"https://medium.com/towards-data-science/the-soft-skills-you-need-to-succeed-as-a-data-scientist-ceac760230d3?source=your_stories_page-------------------------------------","alts":[{"type":3,"url":"medium://p/ceac760230d3"},{"type":2,"url":"medium://p/ceac760230d3"}],"httpStatus":200}],"version":"0.3","generatedAt":1732708929173},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":38,"sectionCount":8,"readingList":0,"topics":[{"topicId":"ae5d4995e225","slug":"data-science","createdAt":1493923906289,"deletedAt":0,"image":{"id":"1*NHWOEki_ncCX-xzbKtkEWw@2x.jpeg","originalWidth":5760,"originalHeight":3840},"name":"Data Science","description":"Query this.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Data Science News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"use-tablib-to-handle-simple-tabular-data-in-python","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"use-tablib-to-handle-simple-tabular-data-in-python-fa9e6f0af37f","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*txi-Sr47s3u2QE0h","originalWidth":5280,"originalHeight":3520,"isFeatured":true,"unsplashPhotoId":"oJlt2XBWuWs"}},{"name":"3ddf","type":3,"text":"Use Tablib to Handle Simple Tabular Data in Python","markups":[],"alignment":1},{"name":"222e","type":13,"text":"Sometimes a Shallow Abstraction is more Valuable…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Sometimes a Shallow Abstraction is more Valuable than Performance"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"322a32dbb362","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732452236596,"primaryTopicId":"ae5d4995e225","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"3ddf","type":3,"text":"Use Tablib to Handle Simple Tabular Data in Python","markups":[]},{"name":"222e","type":13,"text":"Sometimes a Shallow Abstraction is more Valuable than Performance","markups":[]},{"name":"5087","type":4,"text":"Photo by David Clode on Unsplash","markups":[{"type":3,"start":9,"end":20,"href":"https://unsplash.com/@davidclode?utm_source=medium&utm_medium=referral","title":"","rel":"photo-creator","anchorType":0},{"type":3,"start":24,"end":32,"href":"https://unsplash.com?utm_source=medium&utm_medium=referral","title":"","rel":"photo-source","anchorType":0}],"layout":1,"metadata":{"id":"0*txi-Sr47s3u2QE0h","originalWidth":5280,"originalHeight":3520,"isFeatured":true,"unsplashPhotoId":"oJlt2XBWuWs"}},{"name":"0460","type":3,"text":"Overview","markups":[]},{"name":"2fba","type":10,"text":"Introduction — What is Tablib?","markups":[{"type":3,"start":0,"end":30,"href":"#a6cb","title":"","rel":"","anchorType":0}]},{"name":"84e0","type":10,"text":"Working with Datasets","markups":[{"type":3,"start":0,"end":21,"href":"#969a","title":"","rel":"","anchorType":0}]},{"name":"bdf3","type":10,"text":"Importing Data","markups":[{"type":3,"start":0,"end":14,"href":"#f09e","title":"","rel":"","anchorType":0}]},{"name":"a949","type":10,"text":"Exporting Data","markups":[{"type":3,"start":0,"end":14,"href":"#ca94","title":"","rel":"","anchorType":0}]},{"name":"a36c","type":10,"text":"Dynamic Columns","markups":[{"type":3,"start":0,"end":15,"href":"#cd4f","title":"","rel":"","anchorType":0}]},{"name":"7e48","type":10,"text":"Formatters","markups":[{"type":3,"start":0,"end":10,"href":"#dea7","title":"","rel":"","anchorType":0}]},{"name":"710d","type":10,"text":"Wrapping Up","markups":[{"type":3,"start":0,"end":11,"href":"#c801","title":"","rel":"","anchorType":0}]},{"name":"a6cb","type":3,"text":"Introduction — What is Tablib?","markups":[]},{"name":"b0ad","type":1,"text":"For many years I have been working with tools like Pandas and PySpark in Python for data ingestion, data processing, and data exporting. These tools are great for complex data transformations and big…","markups":[]}],"sections":[{"name":"9925","startIndex":0},{"name":"1271","startIndex":11}]},"isFullContent":false,"subtitle":"Sometimes a Shallow Abstraction is more Valuable than Performance"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"26051cc98f2e":{"id":"26051cc98f2e","versionId":"6febde1acf9e","creatorId":"51dce1c5bc03","homeCollectionId":"7f60cf5620c9","title":"Saving Pandas DataFrames Efficiently and Quickly — Parquet vs Feather vs ORC vs CSV","detectedLanguage":"en","latestVersion":"6febde1acf9e","latestPublishedVersion":"6febde1acf9e","hasUnpublishedEdits":false,"latestRev":2703,"createdAt":1730635872828,"updatedAt":1732710660124,"acceptedAt":0,"firstPublishedAt":1732705327044,"latestPublishedAt":1732705327044,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Speed, RAM, size and convenience. Which storage method is best?","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*957fUnw3BLTs5wsW0TOXnw.png","filter":"","backgroundSize":"","originalWidth":1098,"originalHeight":598,"strategy":"resample","height":0,"width":0},"wordCount":2678,"imageCount":37,"readingTime":12.705660377358491,"subtitle":"Speed, RAM, size and convenience. Which storage method is best?","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":5,"isBookmarked":false,"tags":[{"slug":"pandas","name":"Pandas","postCount":12802,"metadata":{"postCount":12802,"coverImage":{"id":"1*CmgNi0Y_U-WNRR6y2UpI5g.jpeg","originalWidth":10100,"originalHeight":7316,"isFeatured":true}},"type":"Tag"},{"slug":"dataframes","name":"Dataframes","postCount":1143,"metadata":{"postCount":1143,"coverImage":{"id":"0*UnRRF7CCQ91Uwk7t","originalWidth":2768,"originalHeight":1848,"alt":"a picture of a CSV file","unsplashPhotoId":"Wpnoqo2plFA"}},"type":"Tag"},{"slug":"parquet","name":"Parquet","postCount":461,"metadata":{"postCount":461,"coverImage":{"id":"1*7a-O8N9zMHcwlkLgXQffIQ.png","originalWidth":1434,"originalHeight":321,"isFeatured":true}},"type":"Tag"},{"slug":"tips-and-tricks","name":"Tips And Tricks","postCount":24982,"metadata":{"postCount":24982,"coverImage":{"id":"1*xBmKmGglhsLafmM7tfTTPQ.jpeg","originalWidth":1792,"originalHeight":1024,"isFeatured":true}},"type":"Tag"},{"slug":"data-science","name":"Data Science","postCount":347124,"metadata":{"postCount":347124,"coverImage":{"id":"1*Yajp0Wd7P8zjtA4D5uWZ7Q.jpeg","originalWidth":640,"originalHeight":425}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://www.pexels.com/","alts":[],"httpStatus":403},{"url":"https://arrow.apache.org/","alts":[],"httpStatus":200},{"url":"https://hive.apache.org/","alts":[],"httpStatus":200},{"url":"https://www.pexels.com/photo/advice-lettering-text-on-black-background-5697261/","alts":[],"httpStatus":403},{"url":"https://parquet.apache.org/","alts":[],"httpStatus":200},{"url":"https://pixabay.com/users/geralt-9301/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=858312","alts":[],"httpStatus":403},{"url":"https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=9093826","alts":[],"httpStatus":403},{"url":"https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=8583124","alts":[],"httpStatus":403},{"url":"https://pixabay.com/users/geralt-9301/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=91771","alts":[],"httpStatus":403},{"url":"https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=91771","alts":[],"httpStatus":403},{"url":"https://pixabay.com/users/jcoope12-17392968/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=9093826","alts":[],"httpStatus":403},{"url":"https://hadoop.apache.org/","alts":[],"httpStatus":200},{"url":"https://arrow.apache.org/docs/python/feather.html","alts":[],"httpStatus":200},{"url":"https://orc.apache.org/docs/","alts":[],"httpStatus":200},{"url":"https://unsplash.com/photos/person-holding-a-feather-under-blue-sky-K2SXdKPEhcg?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash","alts":[],"httpStatus":200},{"url":"https://unsplash.com/photos/white-printing-paper-with-numbers-Wpnoqo2plFA?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash","alts":[],"httpStatus":200},{"url":"https://arrow.apache.org/docs/python/ipc.html#ipc","alts":[],"httpStatus":200},{"url":"https://unsplash.com/@kommumikation?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash","alts":[],"httpStatus":200},{"url":"https://s.apache.org/fb-scaling-300-pb","alts":[],"httpStatus":200},{"url":"https://s.apache.org/presto-orc","alts":[],"httpStatus":200},{"url":"https://unsplash.com/@jenellehayes?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1732705328808},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":47,"sectionCount":2,"readingList":0,"topics":[{"topicId":"ae5d4995e225","slug":"data-science","createdAt":1493923906289,"deletedAt":0,"image":{"id":"1*NHWOEki_ncCX-xzbKtkEWw@2x.jpeg","originalWidth":5760,"originalHeight":3840},"name":"Data Science","description":"Query this.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Data Science News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"saving-pandas-dataframes-efficiently-and-quickly-parquet-vs-feather-vs-orc-vs-csv","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"saving-pandas-dataframes-efficiently-and-quickly-parquet-vs-feather-vs-orc-vs-csv-26051cc98f2e","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*957fUnw3BLTs5wsW0TOXnw.png","originalWidth":1098,"originalHeight":598,"isFeatured":true,"alt":"bar chart comparing output file sizes for mixed data in a dataframe for file formats csv, feather, orc and parquet"}},{"name":"71e1","type":13,"text":"Optimisation","markups":[],"alignment":1},{"name":"a239","type":3,"text":"Saving Pandas DataFrames Efficiently and Quickly — Parquet vs Feather vs ORC vs CSV","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Speed, RAM, size and convenience. Which storage method is best?"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"ed20c9d194e2","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732450056141,"primaryTopicId":"ae5d4995e225","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"71e1","type":13,"text":"Optimisation","markups":[]},{"name":"a239","type":3,"text":"Saving Pandas DataFrames Efficiently and Quickly — Parquet vs Feather vs ORC vs CSV","markups":[]},{"name":"1341","type":13,"text":"Speed, RAM, size, and convenience. Which storage method is best?","markups":[]},{"name":"6622","type":4,"text":"Write output file sizes for mixed data — Image by Author","markups":[],"layout":1,"metadata":{"id":"1*957fUnw3BLTs5wsW0TOXnw.png","originalWidth":1098,"originalHeight":598,"isFeatured":true,"alt":"bar chart comparing output file sizes for mixed data in a dataframe for file formats csv, feather, orc and parquet"}},{"name":"2eb9","type":1,"text":"With the ever-increasing volume of data that is produced there is inevitably a need to store, and reload, that data efficiently and quickly.","markups":[{"type":1,"start":0,"end":140}]},{"name":"7ad4","type":1,"text":"CSV has been the go to staple for a long time. However, there are much better alternatives specifically designed to deal directly with the storage, and efficient…","markups":[{"type":1,"start":0,"end":190}]}],"sections":[{"name":"a556","startIndex":0}]},"isFullContent":false,"subtitle":"Speed, RAM, size and convenience. Which storage method is best?"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"6d718ac40b7d":{"id":"6d718ac40b7d","versionId":"911a0a6bd4c1","creatorId":"99b63de2f2c3","homeCollectionId":"7f60cf5620c9","title":"NLP Illustrated, Part 2: Word Embeddings","detectedLanguage":"en","latestVersion":"911a0a6bd4c1","latestPublishedVersion":"911a0a6bd4c1","hasUnpublishedEdits":false,"latestRev":443,"createdAt":1732395336877,"updatedAt":1732671823628,"acceptedAt":0,"firstPublishedAt":1732666537347,"latestPublishedAt":1732666537347,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"An illustrated and intuitive guide to word embeddings","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*UZx9K92bV1eRa32-EzsSWA.png","filter":"","backgroundSize":"","originalWidth":1583,"originalHeight":1000,"strategy":"resample","height":0,"width":0},"wordCount":1520,"imageCount":25,"readingTime":7.735849056603773,"subtitle":"An illustrated and intuitive guide to word embeddings","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":17,"isBookmarked":false,"tags":[{"slug":"deep-learning","name":"Deep Learning","postCount":101344,"metadata":{"postCount":101344,"coverImage":{"id":"1*fZNeYeBJCz4ZiJmtxxVv7Q.jpeg","originalWidth":1024,"originalHeight":960}},"type":"Tag"},{"slug":"llm","name":"Llm","postCount":27765,"metadata":{"postCount":27765,"coverImage":{"id":"1*8yJrgGPFwHBY8lpIFg7ERQ.png","originalWidth":940,"originalHeight":788,"isFeatured":true}},"type":"Tag"},{"slug":"machine-learning","name":"Machine Learning","postCount":354532,"metadata":{"postCount":354532,"coverImage":{"id":"1*8yJrgGPFwHBY8lpIFg7ERQ.png","originalWidth":940,"originalHeight":788,"isFeatured":true}},"type":"Tag"},{"slug":"artificial-intelligence","name":"Artificial Intelligence","postCount":458956,"metadata":{"postCount":458956,"coverImage":{"id":"1*gAn_BSffVBcwCIR6bDgK1g.jpeg"}},"type":"Tag"},{"slug":"data-science","name":"Data Science","postCount":347124,"metadata":{"postCount":347124,"coverImage":{"id":"1*Yajp0Wd7P8zjtA4D5uWZ7Q.jpeg","originalWidth":640,"originalHeight":425}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":3,"links":{"entries":[{"url":"https://en.wikipedia.org/wiki/Love_Actually","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Glass_Onion:_A_Knives_Out_Mystery#/media/File:Glass_Onion_poster.jpg","alts":[],"httpStatus":200},{"url":"https://www.geeksforgeeks.org/cosine-similarity/","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Knives_Out#/media/File:Knives_Out_poster.jpeg","alts":[],"httpStatus":200},{"url":"https://mathinsight.org/vector_introduction#:~:text=A%20vector%20is%20an%20object,an%20arrow%20indicating%20the%20direction","alts":[],"httpStatus":0},{"url":"https://www.imdb.com/title/tt11564570/","alts":[],"httpStatus":200},{"url":"https://towardsdatascience.com/nlp-illustrated-part-1-text-encoding-41ba06c0f512","alts":[{"type":3,"url":"medium://p/41ba06c0f512"},{"type":2,"url":"medium://p/41ba06c0f512"}],"httpStatus":200},{"url":"https://www.imdb.com/title/tt0314331/?ref_=tt_mv_close","alts":[],"httpStatus":200},{"url":"https://medium.com/@shreya.rao/list/ae6c27de1640","alts":[{"type":3,"url":"medium://@shreya.rao/list/deep-learning-illustrated-ae6c27de1640"},{"type":2,"url":"medium://@shreya.rao/list/deep-learning-illustrated-ae6c27de1640"}],"httpStatus":200},{"url":"https://medium.com/towards-data-science/nlp-illustrated-part-1-text-encoding-41ba06c0f512","alts":[{"type":3,"url":"medium://p/41ba06c0f512"},{"type":2,"url":"medium://p/41ba06c0f512"}],"httpStatus":200},{"url":"https://medium.com/@shreya.rao/list/deep-learning-illustrated-ae6c27de1640","alts":[{"type":3,"url":"medium://@shreya.rao/list/deep-learning-illustrated-ae6c27de1640"},{"type":2,"url":"medium://@shreya.rao/list/deep-learning-illustrated-ae6c27de1640"}],"httpStatus":200},{"url":"https://www.linkedin.com/in/shreyarao24/","alts":[],"httpStatus":999},{"url":"https://www.imdb.com/title/tt8946378/?ref_=tt_mv_close","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1732666538579},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":126,"sectionCount":2,"readingList":0,"topics":[{"topicId":"1eca0103fff3","slug":"machine-learning","createdAt":1534449726145,"deletedAt":0,"image":{"id":"1*gFJS3amhZEg_z39D5EErVg@2x.png","originalWidth":2800,"originalHeight":1750},"name":"Machine Learning","description":"Teaching the learners.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Machine Learning News and Articles — Medium","type":"Topic"},{"topicId":"ae5d4995e225","slug":"data-science","createdAt":1493923906289,"deletedAt":0,"image":{"id":"1*NHWOEki_ncCX-xzbKtkEWw@2x.jpeg","originalWidth":5760,"originalHeight":3840},"name":"Data Science","description":"Query this.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Data Science News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"nlp-illustrated-part-2-word-embeddings","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"nlp-illustrated-part-2-word-embeddings-6d718ac40b7d","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*UZx9K92bV1eRa32-EzsSWA.png","originalWidth":1583,"originalHeight":1000,"isFeatured":true}},{"name":"d1e6","type":3,"text":"NLP Illustrated, Part 2: Word Embeddings","markups":[],"alignment":1},{"name":"a7ae","type":13,"text":"An illustrated and intuitive guide to word embeddings","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"An illustrated and intuitive guide to word embeddings"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"e385ead8f3fb","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732395902559,"primaryTopicId":"1eca0103fff3","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"d1e6","type":3,"text":"NLP Illustrated, Part 2: Word Embeddings","markups":[]},{"name":"a7ae","type":13,"text":"An illustrated and intuitive guide to word embeddings","markups":[]},{"name":"2b41","type":1,"text":"Welcome to Part 2 of our NLP series. If you caught Part 1, you’ll remember that the challenge we’re tackling is translating text into numbers so that we can feed it into our machine learning models or neural networks.","markups":[{"type":3,"start":50,"end":57,"href":"https://medium.com/towards-data-science/nlp-illustrated-part-1-text-encoding-41ba06c0f512","title":"","rel":"","anchorType":0}]},{"name":"64ad","type":14,"text":"NLP Illustrated, Part 1: Text Encoding\nAn illustrated guide to text-to-number translation, with codetowardsdatascience.com","markups":[{"type":3,"start":0,"end":122,"href":"https://towardsdatascience.com/nlp-illustrated-part-1-text-encoding-41ba06c0f512","title":"https://towardsdatascience.com/nlp-illustrated-part-1-text-encoding-41ba06c0f512","rel":"","anchorType":0},{"type":1,"start":0,"end":38},{"type":2,"start":39,"end":100}],"mixtapeMetadata":{"mediaResourceId":"38294e6bf65f74596573110457443f2e","thumbnailImageId":"1*QLqkDcu8i2r55MV6CCmn8w.png","href":"https://towardsdatascience.com/nlp-illustrated-part-1-text-encoding-41ba06c0f512"}},{"name":"f3c6","type":1,"text":"Previously, we explored some basic (and pretty naive) approaches to this…","markups":[]}],"sections":[{"name":"99a6","startIndex":0}]},"isFullContent":false,"subtitle":"An illustrated and intuitive guide to word embeddings"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"f6f7920bcc55":{"id":"f6f7920bcc55","versionId":"ead59451c3d9","creatorId":"bd281fad5f8a","homeCollectionId":"7f60cf5620c9","title":"Addressing Missing Data","detectedLanguage":"en","latestVersion":"ead59451c3d9","latestPublishedVersion":"ead59451c3d9","hasUnpublishedEdits":false,"latestRev":2387,"createdAt":1729585203332,"updatedAt":1732675934946,"acceptedAt":0,"firstPublishedAt":1732647058156,"latestPublishedAt":1732647058156,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Understand missing data patterns (MCAR, MNAR, MAR) for better model performance with Missingno","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*2azp79om7UNFWEGR","filter":"","backgroundSize":"","originalWidth":3725,"originalHeight":2508,"strategy":"resample","height":0,"width":0},"wordCount":1627,"imageCount":8,"readingTime":7.272955974842768,"subtitle":"Understand missing data patterns (MCAR, MNAR, MAR) for better model performance with Missingno","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":18,"isBookmarked":false,"tags":[{"slug":"missing-data","name":"Missing Data","postCount":402,"metadata":{"postCount":402,"coverImage":{"id":"0*2azp79om7UNFWEGR","originalWidth":3725,"originalHeight":2508,"isFeatured":true,"unsplashPhotoId":"cWMhxNmQVq0"}},"type":"Tag"},{"slug":"data-preprocessing","name":"Data Preprocessing","postCount":1651,"metadata":{"postCount":1651,"coverImage":{"id":"0*2azp79om7UNFWEGR","originalWidth":3725,"originalHeight":2508,"isFeatured":true,"unsplashPhotoId":"cWMhxNmQVq0"}},"type":"Tag"},{"slug":"data-science","name":"Data Science","postCount":347124,"metadata":{"postCount":347124,"coverImage":{"id":"1*Yajp0Wd7P8zjtA4D5uWZ7Q.jpeg","originalWidth":640,"originalHeight":425}},"type":"Tag"},{"slug":"data-visualization","name":"Data Visualization","postCount":66742,"metadata":{"postCount":66742,"coverImage":{"id":"0*pv-cTgMuAxVugzu0","originalWidth":7146,"originalHeight":7162,"isFeatured":true,"alt":"Photo by USGS on Unsplash","unsplashPhotoId":"hoS3dzgpHzw"}},"type":"Tag"},{"slug":"machine-learning","name":"Machine Learning","postCount":354532,"metadata":{"postCount":354532,"coverImage":{"id":"1*8yJrgGPFwHBY8lpIFg7ERQ.png","originalWidth":940,"originalHeight":788,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://unsplash.com?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://wwwn.cdc.gov/Nchs/Nhanes/2021-2022/DIQ_L.htm","alts":[],"httpStatus":200},{"url":"https://wwwn.cdc.gov/nchs/nhanes/search/datapage.aspx?Component=Questionnaire&Cycle=2021-2023","alts":[],"httpStatus":200},{"url":"https://unsplash.com/@ttepavac?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1732647059272},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":149,"sectionCount":4,"readingList":0,"topics":[{"topicId":"1eca0103fff3","slug":"machine-learning","createdAt":1534449726145,"deletedAt":0,"image":{"id":"1*gFJS3amhZEg_z39D5EErVg@2x.png","originalWidth":2800,"originalHeight":1750},"name":"Machine Learning","description":"Teaching the learners.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Machine Learning News and Articles — Medium","type":"Topic"},{"topicId":"ae5d4995e225","slug":"data-science","createdAt":1493923906289,"deletedAt":0,"image":{"id":"1*NHWOEki_ncCX-xzbKtkEWw@2x.jpeg","originalWidth":5760,"originalHeight":3840},"name":"Data Science","description":"Query this.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Data Science News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"addressing-missing-data","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"addressing-missing-data-f6f7920bcc55","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*2azp79om7UNFWEGR","originalWidth":3725,"originalHeight":2508,"isFeatured":true,"unsplashPhotoId":"cWMhxNmQVq0"}},{"name":"7ea0","type":3,"text":"Addressing Missing Data","markups":[{"type":1,"start":0,"end":23}],"alignment":1},{"name":"c7e8","type":13,"text":"Understand missing data patterns (MCAR, MNAR, MAR) for better model…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Understand missing data patterns (MCAR, MNAR, MAR) for better model performance with Missingno"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732640105168,"primaryTopicId":"ae5d4995e225","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"7ea0","type":3,"text":"Addressing Missing Data","markups":[{"type":1,"start":0,"end":23}]},{"name":"c7e8","type":13,"text":"Understand missing data patterns (MCAR, MNAR, MAR) for better model performance with Missingno","markups":[]},{"name":"c77d","type":1,"text":"In an ideal world, we would like to work with datasets that are clean, complete and accurate. However, real-world data rarely meets our expectation. We often encounter datasets with noise, inconsistencies, outliers and missingness, which requires careful handling to get effective results. Especially, missing data is an unavoidable challenge, and…","markups":[]}],"sections":[{"name":"982c","startIndex":0}]},"isFullContent":false,"subtitle":"Understand missing data patterns (MCAR, MNAR, MAR) for better model performance with Missingno"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"7f9c6e6b7251":{"id":"7f9c6e6b7251","versionId":"1fbff7f06258","creatorId":"d18c7303c5a2","homeCollectionId":"7f60cf5620c9","title":"Mistral 7B Explained: Towards More Efficient Language Models","detectedLanguage":"en","latestVersion":"1fbff7f06258","latestPublishedVersion":"1fbff7f06258","hasUnpublishedEdits":false,"latestRev":4382,"createdAt":1731444967946,"updatedAt":1732675628818,"acceptedAt":0,"firstPublishedAt":1732645578729,"latestPublishedAt":1732645578729,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"RMS Norm, RoPE, GQA, SWA, KV Cache, and more!","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*TRfxFbnLDx9IqpvghpbURA.jpeg","filter":"","backgroundSize":"","originalWidth":1152,"originalHeight":896,"strategy":"resample","height":0,"width":0},"wordCount":10304,"imageCount":36,"readingTime":41.433018867924524,"subtitle":"RMS Norm, RoPE, GQA, SWA, KV Cache, and more!","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":36,"isBookmarked":false,"tags":[{"slug":"mistral","name":"Mistral","postCount":375,"metadata":{"postCount":375,"coverImage":{"id":"1*TRfxFbnLDx9IqpvghpbURA.jpeg","originalWidth":1152,"originalHeight":896,"isFeatured":true}},"type":"Tag"},{"slug":"large-language-models","name":"Large Language Models","postCount":15001,"metadata":{"postCount":15001,"coverImage":{"id":"1*TRfxFbnLDx9IqpvghpbURA.jpeg","originalWidth":1152,"originalHeight":896,"isFeatured":true}},"type":"Tag"},{"slug":"artificial-intelligence","name":"Artificial Intelligence","postCount":458956,"metadata":{"postCount":458956,"coverImage":{"id":"1*gAn_BSffVBcwCIR6bDgK1g.jpeg"}},"type":"Tag"},{"slug":"machine-learning","name":"Machine Learning","postCount":354532,"metadata":{"postCount":354532,"coverImage":{"id":"1*8yJrgGPFwHBY8lpIFg7ERQ.png","originalWidth":940,"originalHeight":788,"isFeatured":true}},"type":"Tag"},{"slug":"deep-dives","name":"Deep Dives","postCount":2280,"metadata":{"postCount":2280,"coverImage":{"id":"1*D4g3iA4mxYzEFle59k_S-g.jpeg","originalWidth":1472,"originalHeight":832,"isFeatured":true,"alt":"A glowing heart surrounded by cracks, symbolizing love and resilience through pain."}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"#5dd1","alts":[],"httpStatus":0},{"url":"#2364","alts":[],"httpStatus":0},{"url":"#c780","alts":[],"httpStatus":0},{"url":"#f353","alts":[],"httpStatus":0},{"url":"#d81b","alts":[],"httpStatus":0},{"url":"#a0d1","alts":[],"httpStatus":0},{"url":"#bc24","alts":[],"httpStatus":0},{"url":"#4436","alts":[],"httpStatus":0},{"url":"#a121","alts":[],"httpStatus":0},{"url":"https://huggingface.co/mistralai","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/2310.06825","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/1803.02155","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/1910.07467","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/1607.06450","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/1910.10683","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/2304.06364","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/2009.03300","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/1901.02860","alts":[],"httpStatus":200},{"url":"https://arxiv.org/abs/2210.09261","alts":[],"httpStatus":200},{"url":"https://arxiv.org/pdf/2305.13245","alts":[],"httpStatus":200},{"url":"https://arxiv.org/pdf/1911.02150","alts":[],"httpStatus":200},{"url":"https://arxiv.org/pdf/2104.09864","alts":[],"httpStatus":200},{"url":"https://arxiv.org/pdf/2004.05150","alts":[],"httpStatus":200},{"url":"https://arxiv.org/pdf/1612.08083","alts":[],"httpStatus":200},{"url":"https://arxiv.org/pdf/1910.10683","alts":[],"httpStatus":200},{"url":"https://arxiv.org/pdf/1706.03762","alts":[],"httpStatus":200},{"url":"https://arxiv.org/pdf/2204.02311","alts":[],"httpStatus":200},{"url":"https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py","alts":[],"httpStatus":200},{"url":"https://medium.com/p/cedc9f72de4e","alts":[{"type":2,"url":"medium://p/cedc9f72de4e"},{"type":3,"url":"medium://p/cedc9f72de4e"}],"httpStatus":200},{"url":"https://medium.com/p/eb9326c6ab7c/","alts":[{"type":3,"url":"medium://p/eb9326c6ab7c"},{"type":2,"url":"medium://p/eb9326c6ab7c"}],"httpStatus":200},{"url":"https://link.springer.com/article/10.1007/BF00342633","alts":[],"httpStatus":200},{"url":"https://medium.com/p/d7a9f0f4d94e","alts":[{"type":3,"url":"medium://p/d7a9f0f4d94e"},{"type":2,"url":"medium://p/d7a9f0f4d94e"}],"httpStatus":200},{"url":"https://medium.com/p/eb9326c6ab7c","alts":[{"type":3,"url":"medium://p/eb9326c6ab7c"},{"type":2,"url":"medium://p/eb9326c6ab7c"}],"httpStatus":200},{"url":"https://medium.com/p/9f87602e4a11","alts":[{"type":2,"url":"medium://p/9f87602e4a11"},{"type":3,"url":"medium://p/9f87602e4a11"}],"httpStatus":200}],"version":"0.3","generatedAt":1732645582236},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":204,"sectionCount":1,"readingList":0,"topics":[{"topicId":"1af65db9c2f8","slug":"artificial-intelligence","createdAt":1487916832419,"deletedAt":0,"image":{"id":"1*A28aHchbaA8zNVXraBq0Ug@2x.jpeg","originalWidth":4866,"originalHeight":3244},"name":"Artificial Intelligence","description":"Born to be bot.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"AI News and Artificial Intelligence Articles — Medium","type":"Topic"},{"topicId":"1eca0103fff3","slug":"machine-learning","createdAt":1534449726145,"deletedAt":0,"image":{"id":"1*gFJS3amhZEg_z39D5EErVg@2x.png","originalWidth":2800,"originalHeight":1750},"name":"Machine Learning","description":"Teaching the learners.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Machine Learning News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"mistral-7b-explained-towards-more-efficient-language-models","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"mistral-7b-explained-towards-more-efficient-language-models-7f9c6e6b7251","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*TRfxFbnLDx9IqpvghpbURA.jpeg","originalWidth":1152,"originalHeight":896,"isFeatured":true}},{"name":"b57a","type":3,"text":"Mistral 7B Explained: Towards More Efficient Language Models","markups":[],"alignment":1},{"name":"9c20","type":13,"text":"RMS Norm, RoPE, GQA, SWA, KV Cache, and…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"RMS Norm, RoPE, GQA, SWA, KV Cache, and more!"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"0f164e675ad2","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":1,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"primaryTopicId":"1eca0103fff3","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"b57a","type":3,"text":"Mistral 7B Explained: Towards More Efficient Language Models","markups":[]},{"name":"9c20","type":13,"text":"RMS Norm, RoPE, GQA, SWA, KV Cache, and more!","markups":[]},{"name":"f08d","type":1,"text":"Part 5 in the “LLMs from Scratch” series — a complete guide to understanding and building Large Language Models. If you are interested in learning more about how these models work I encourage you to read:","markups":[{"type":1,"start":0,"end":204}]},{"name":"1153","type":9,"text":"Part 1: Tokenization — A Complete Guide","markups":[{"type":3,"start":0,"end":39,"href":"https://medium.com/p/cedc9f72de4e","title":"","rel":"","anchorType":0}]},{"name":"ab90","type":9,"text":"Part 2: Word Embeddings with word2vec from…","markups":[{"type":3,"start":0,"end":60,"href":"https://medium.com/p/eb9326c6ab7c/","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"0d80","startIndex":0}]},"isFullContent":false,"subtitle":"RMS Norm, RoPE, GQA, SWA, KV Cache, and more!"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"4e77aa46336f":{"id":"4e77aa46336f","versionId":"2cc0ea23dbd8","creatorId":"1cac491223b2","homeCollectionId":"7f60cf5620c9","title":"Data Scientist Answers the Most Popular Data Science Questions","detectedLanguage":"en","latestVersion":"2cc0ea23dbd8","latestPublishedVersion":"2cc0ea23dbd8","hasUnpublishedEdits":false,"latestRev":987,"createdAt":1732004046123,"updatedAt":1732676244895,"acceptedAt":0,"firstPublishedAt":1732643414376,"latestPublishedAt":1732644646706,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"All-around guidance for prospective data scientists","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*ks-c7RLyaHiphYSw","filter":"","backgroundSize":"","originalWidth":5184,"originalHeight":3456,"strategy":"resample","height":0,"width":0},"wordCount":1381,"imageCount":1,"readingTime":5.411320754716981,"subtitle":"All-around guidance for prospective data scientists","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":11,"isBookmarked":false,"tags":[{"slug":"data-science","name":"Data Science","postCount":347124,"metadata":{"postCount":347124,"coverImage":{"id":"1*Yajp0Wd7P8zjtA4D5uWZ7Q.jpeg","originalWidth":640,"originalHeight":425}},"type":"Tag"},{"slug":"machine-learning","name":"Machine Learning","postCount":354532,"metadata":{"postCount":354532,"coverImage":{"id":"1*8yJrgGPFwHBY8lpIFg7ERQ.png","originalWidth":940,"originalHeight":788,"isFeatured":true}},"type":"Tag"},{"slug":"artificial-intelligence","name":"Artificial Intelligence","postCount":458956,"metadata":{"postCount":458956,"coverImage":{"id":"1*gAn_BSffVBcwCIR6bDgK1g.jpeg"}},"type":"Tag"},{"slug":"statistics","name":"Statistics","postCount":33673,"metadata":{"postCount":33673,"coverImage":{"id":"1*o1TEM-f7h6kCYOTGOfw0GQ.jpeg","originalWidth":2048,"originalHeight":1536,"isFeatured":true,"alt":"A small child and their distorted reflection in a funfair house of mirrors"}},"type":"Tag"},{"slug":"coding","name":"Coding","postCount":146918,"metadata":{"postCount":146918,"coverImage":{"id":"1*IodtST4Qfwjaur7Pnn9kXg.png","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":2,"links":{"entries":[{"url":"https://newsletter.egorhowell.com/","alts":[],"httpStatus":403},{"url":"https://towardsdatascience.com/sql-knowledge-you-need-for-data-science-5cf0c15515e4","alts":[{"type":3,"url":"medium://p/5cf0c15515e4"},{"type":2,"url":"medium://p/5cf0c15515e4"}],"httpStatus":200},{"url":"https://unsplash.com/@emilymorter?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://www.youtube.com/@egorhowell","alts":[{"type":2,"url":"vnd.youtube://www.youtube.com/channel/UC9Tl0-lzeDPH4y7LcRwRSQA"},{"type":3,"url":"https://www.youtube.com/channel/UC9Tl0-lzeDPH4y7LcRwRSQA?feature=applinks"}],"httpStatus":200},{"url":"https://pub.towardsai.net/best-data-science-books-courses-to-get-a-job-07e30b92f58b","alts":[{"type":2,"url":"medium://p/07e30b92f58b"},{"type":3,"url":"medium://p/07e30b92f58b"}],"httpStatus":200},{"url":"https://unsplash.com?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://www.linkedin.com/in/egorhowell/","alts":[],"httpStatus":999},{"url":"https://dishingthedata.substack.com/","alts":[],"httpStatus":403},{"url":"https://www.instagram.com/egorhowell/","alts":[],"httpStatus":200},{"url":"https://topmate.io/egorhowell","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1732644646918},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":109,"sectionCount":3,"readingList":0,"topics":[{"topicId":"1eca0103fff3","slug":"machine-learning","createdAt":1534449726145,"deletedAt":0,"image":{"id":"1*gFJS3amhZEg_z39D5EErVg@2x.png","originalWidth":2800,"originalHeight":1750},"name":"Machine Learning","description":"Teaching the learners.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Machine Learning News and Articles — Medium","type":"Topic"},{"topicId":"ae5d4995e225","slug":"data-science","createdAt":1493923906289,"deletedAt":0,"image":{"id":"1*NHWOEki_ncCX-xzbKtkEWw@2x.jpeg","originalWidth":5760,"originalHeight":3840},"name":"Data Science","description":"Query this.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Data Science News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"data-scientist-answers-the-most-popular-data-science-questions","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":2,"uniqueSlug":"data-scientist-answers-the-most-popular-data-science-questions-4e77aa46336f","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*ks-c7RLyaHiphYSw","originalWidth":5184,"originalHeight":3456,"isFeatured":true,"unsplashPhotoId":"8xAA0f9yQnE"}},{"name":"3a08","type":3,"text":"Data Scientist Answers the Most Popular Data Science Questions","markups":[],"alignment":1},{"name":"efba","type":13,"text":"All-around guidance for prospective…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"All-around guidance for prospective data scientists"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"7f60cf5620c9","isNewsletter":false,"newsletterId":"3d002bb81b90","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":true,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":true,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":1,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":1732449388113,"primaryTopicId":"ae5d4995e225","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"3a08","type":3,"text":"Data Scientist Answers the Most Popular Data Science Questions","markups":[]},{"name":"efba","type":13,"text":"All-around guidance for prospective data scientists","markups":[]},{"name":"9e01","type":4,"text":"Photo by Emily Morter on Unsplash","markups":[{"type":3,"start":9,"end":21,"href":"https://unsplash.com/@emilymorter?utm_source=medium&utm_medium=referral","title":"","rel":"photo-creator","anchorType":0},{"type":3,"start":25,"end":33,"href":"https://unsplash.com?utm_source=medium&utm_medium=referral","title":"","rel":"photo-source","anchorType":0}],"layout":1,"metadata":{"id":"0*ks-c7RLyaHiphYSw","originalWidth":5184,"originalHeight":3456,"isFeatured":true,"unsplashPhotoId":"8xAA0f9yQnE"}},{"name":"553f","type":1,"text":"I have been a data scientist for over three years now, so I want to write a post answering the most popular data science questions I have gotten in the comment section of my YouTube channel and Medium articles.","markups":[]},{"name":"79b8","type":1,"text":"The questions are structured by technical, career advice, and then miscellaneous…","markups":[]}],"sections":[{"name":"06c1","startIndex":0},{"name":"9873","startIndex":3}]},"isFullContent":false,"subtitle":"All-around guidance for prospective data scientists"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"}}},"paging":{"path":"/_/api/collections/7f60cf5620c9/stream","next":{"to":"1732643414376","ignoredIds":[],"page":3}},"collection":{"id":"7f60cf5620c9","name":"Towards Data Science","slug":"towards-data-science","tags":["DATA SCIENCE","MACHINE LEARNING","ARTIFICIAL INTELLIGENCE","DATA ENGINEERING","DATA"],"creatorId":"9c70285657bb","description":"Your home for data science and AI. The world’s leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals.","shortDescription":"Your home for data science and AI.","image":{"imageId":"1*CJe3891yB1A1mzMdqemkdg.jpeg","filter":"","backgroundSize":"","originalWidth":2861,"originalHeight":2861,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":768721,"activeAt":1732726931837},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"1*cFFKn8rFH4ZndmaYeAs6iQ.png","filter":"","backgroundSize":"","originalWidth":2381,"originalHeight":743,"strategy":"resample","height":0,"width":0},"twitterUsername":"TDataScience","collectionMastheadId":"8b6aceffde6","domain":"towardsdatascience.com","sections":[{"type":2,"collectionHeaderMetadata":{"title":"","description":"The world’s leading publication for data science, AI, data analytics, data engineering and ML professionals.","backgroundImage":{},"logoImage":{"id":"1*1m9fjwOZWwXIP82RWvRH5A@2x.png","originalWidth":1589,"originalHeight":661,"alt":"Towards Data Science"},"alignment":2,"layout":5}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":2,"postIds":["8f1bd06b9476","096550746987"]}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":9,"postIds":["2dc9beb69b27","fda22621c5b3","0010657f595f","fa9e6f0af37f","26051cc98f2e","6d718ac40b7d","f6f7920bcc55","7f9c6e6b7251","4e77aa46336f"],"sectionHeader":"Latest"}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"f9f3fdba6ebf"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":6,"postIds":[],"tagSlug":"Editors Pick","tagName":"Editors Pick","sectionHeader":"Editors' Picks"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":2,"postIds":[],"tagSlug":"Tds Features","tagName":"Tds Features","sectionHeader":"Features"}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"efaedc412a41"}},{"type":1,"postListMetadata":{"source":3,"layout":4,"number":3,"postIds":["60bb69a22759","c57724e9c461","69019493b259"],"sectionHeader":"Trending articles"}},{"type":1,"postListMetadata":{"source":3,"layout":4,"number":3,"postIds":["182a5ef6588c","e24b50e1d292","68b2303cc9c5"],"sectionHeader":"Popular from our archive"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":6,"postIds":[],"tagSlug":"Deep Dives","tagName":"Deep Dives","sectionHeader":"Deep Dives"}},{"type":1,"postListMetadata":{"source":3,"layout":5,"number":3,"postIds":["d691af11cc2f","c2c8e712c971","3bf37f75a345"],"sectionHeader":"About"}},{"type":1,"postListMetadata":{"source":1,"layout":5,"number":16,"postIds":[],"sectionHeader":"Latest"}}],"tintColor":"#FF355876","lightText":true,"favicon":{"imageId":"1*VzTUkfeGymHP4Bvav-T-lA.png","filter":"","backgroundSize":"","originalWidth":207,"originalHeight":206,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF668AAA","point":0},{"color":"#FF61809D","point":0.1},{"color":"#FF5A7690","point":0.2},{"color":"#FF546C83","point":0.3},{"color":"#FF4D6275","point":0.4},{"color":"#FF455768","point":0.5},{"color":"#FF3D4C5A","point":0.6},{"color":"#FF34414C","point":0.7},{"color":"#FF2B353E","point":0.8},{"color":"#FF21282F","point":0.9},{"color":"#FF161B1F","point":1}],"backgroundColor":"#FFFFFFFF"},"tintBackgroundSpectrum":{"colorPoints":[{"color":"#FF355876","point":0},{"color":"#FF4D6C88","point":0.1},{"color":"#FF637F99","point":0.2},{"color":"#FF7791A8","point":0.3},{"color":"#FF8CA2B7","point":0.4},{"color":"#FF9FB3C6","point":0.5},{"color":"#FFB2C3D4","point":0.6},{"color":"#FFC5D2E1","point":0.7},{"color":"#FFD7E2EE","point":0.8},{"color":"#FFE9F1FA","point":0.9},{"color":"#FFFBFFFF","point":1}],"backgroundColor":"#FF355876"},"highlightSpectrum":{"colorPoints":[{"color":"#FFEDF4FC","point":0},{"color":"#FFE9F2FD","point":0.1},{"color":"#FFE6F1FD","point":0.2},{"color":"#FFE2EFFD","point":0.3},{"color":"#FFDFEEFD","point":0.4},{"color":"#FFDBECFE","point":0.5},{"color":"#FFD7EBFE","point":0.6},{"color":"#FFD4E9FE","point":0.7},{"color":"#FFD0E7FF","point":0.8},{"color":"#FFCCE6FF","point":0.9},{"color":"#FFC8E4FF","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FF7EA2C3","point":0},{"color":"#FF8AAAC9","point":0.1},{"color":"#FF95B2CE","point":0.2},{"color":"#FFA0BAD3","point":0.3},{"color":"#FFABC2D9","point":0.4},{"color":"#FFB6CADE","point":0.5},{"color":"#FFC1D2E3","point":0.6},{"color":"#FFCBD9E8","point":0.7},{"color":"#FFD6E1EC","point":0.8},{"color":"#FFE0E8F1","point":0.9},{"color":"#FFEAEFF6","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":8,"title":"Latest","url":"https://towardsdatascience.com/latest"},{"type":4,"title":"Editors' Picks","url":"https://towardsdatascience.com/editors-picks/home","topicId":"20b4f3e27fbe","source":"topicId"},{"type":4,"title":"Deep Dives","url":"https://towardsdatascience.com/deep-dives/home","topicId":"8ad314313527","source":"topicId"},{"type":4,"title":"About","url":"https://towardsdatascience.com/about-us/home","topicId":"e4bc46bb3ab0","source":"topicId"},{"type":2,"title":"Contribute","postId":"96667b06af5","url":"https://towardsdatascience.com/questions-96667b06af5","source":"postId"},{"type":3,"title":"Newsletter","url":"https://medium.com/towards-data-science/newsletter"}],"colorBehavior":2,"collectionFeatures":[29,30,27,25],"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"title":"","description":"The world’s leading publication for data science, AI, data analytics, data engineering and ML professionals.","backgroundImage":{},"logoImage":{"id":"1*1m9fjwOZWwXIP82RWvRH5A@2x.png","originalWidth":1589,"originalHeight":661,"alt":"Towards Data Science"},"alignment":2,"layout":5},"paidForDomainAt":1509037374118,"subscriberCount":768721,"tagline":"A Medium publication sharing concepts, ideas and codes.","isOptedIntoAurora":false,"newsletterV3":{"newsletterV3Id":"d6fe9076899","type":1,"name":"The Variable","description":"Every Thursday, the Variable delivers the very best of Towards Data Science: from hands-on tutorials and cutting-edge research to the latest on data science and machine learning tools.","collectionId":"7f60cf5620c9","newsletterSlug":"the-variable","isSubscribed":false,"showPromo":true,"avatarImageId":"","creatorId":"895063a310f4","showNewsletterPostsInCollectionHome":true,"exportableSubscribersCount":52145,"subscribersCount":132088,"promoHeadline":"","promoBody":"","replyToEmail":""},"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"1*CJe3891yB1A1mzMdqemkdg.jpeg","filter":"","backgroundSize":"","originalWidth":2861,"originalHeight":2861,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092952992,"type":"Collection"},"header":{"title":"","description":"The world’s leading publication for data science, AI, data analytics, data engineering and ML professionals.","backgroundImage":{},"logoImage":{"id":"1*1m9fjwOZWwXIP82RWvRH5A@2x.png","originalWidth":1589,"originalHeight":661,"alt":"Towards Data Science"},"alignment":2,"layout":5},"streamItems":[{"createdAt":1732731453579,"randomId":"9ddaac157f6c","section":{"items":[{"post":{"postId":"8f1bd06b9476"},"itemType":"post"},{"post":{"postId":"096550746987"},"itemType":"post"}],"layout":4},"itemType":"section","type":"StreamItem"},{"createdAt":1732731453579,"randomId":"fe0cb9d09c9e","section":{"items":[{"post":{"postId":"2dc9beb69b27"},"itemType":"post"},{"post":{"postId":"fda22621c5b3"},"itemType":"post"},{"post":{"postId":"0010657f595f"},"itemType":"post"},{"post":{"postId":"fa9e6f0af37f"},"itemType":"post"},{"post":{"postId":"26051cc98f2e"},"itemType":"post"},{"post":{"postId":"6d718ac40b7d"},"itemType":"post"},{"post":{"postId":"f6f7920bcc55"},"itemType":"post"},{"post":{"postId":"7f9c6e6b7251"},"itemType":"post"},{"post":{"postId":"4e77aa46336f"},"itemType":"post"}],"layout":4,"heading":{"fallbackTitle":"Latest","headingBasic":{"title":"Latest"},"headingType":"headingBasic"}},"itemType":"section","type":"StreamItem"}]}) // ]]></script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e9426248be2ce42',t:'MTczMjczMTgwMi4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>

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