SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Adding machine
learning to a web app
     Richard Dallaway @d6y
It’s easy, right?
1.           Get some data


2.    Find magic stats & algorithms


3.         Predict the future!
It’s easy, right?
                              that helps solve the problem
   1.              Get some data

    frame the problem             explore the data
   2.       Find magic stats & algorithms
        what’s success?            pilot

   3.            Predict the future!
does this help users?                  behaviour changes?
                          UI impact?
Make it easier for
users to #tag todos
tag
Can we suggest tags
as a task is typed in?
us e f u l
Can we suggest tags
as a task is typed in?
Where to start?




 from “Algorithms of the Intelligent Web”
“Google uses Bayesian
  filtering the way
 Microsoft uses the
   if statement"
            as told to Joel Spolsky
A contrived example
    #home 40%           #work 60%

“windows”   “fix”   “windows”   “fix”
   50%      50%       16.6%     83.4%



   p(#home | “fix”, “windows”) ?
A contrived example
       #home 40%             #work 60%

   “windows”   “fix”     “windows”   “fix”
      50%      50%         16.6%     83.4%


p(#home | “fix”) =             40% x 50%
                       (40% x 50%) + (83.4% x 60%)

                   = about 28%
A contrived example
p (#h ome | “f i x ” )
                #home 28%              #work 72%

           “windows”     “fix”     “windows”   “fix”
              50%        50%         16.6%     83.4%


 p(#home | “fix”, “windows”) = 28% x 50%
                                 (28% x 50%) + (16.6% x 72%)

                                      = about 55%
p(C | e) = P(C) x P(e | C)
                P(e)
p(C | e) = P(C) x P(e | C)
                  P(e)
“the estimation of P(e | C) can be viewed as the
 central issue in designing learning systems. ”

                  — Weiss & Kulikowski
                   “Computer Systems that Learn”
Demo:
  addsharedo.com
with tag suggestions
results of running the model
It’s easy, right?
1.          Explore the data


2.        Frame your problem


3. Measure the performance honestly
How to build?

Write it yourself?
Find a library?
Ask Google to do it for you?

    ...but pilot with offline data first.
www.manning.com
40% off with bathcamp40
   until August 10th
Questions?
or later: @d6y richard@SpiralArm.com

Más contenido relacionado

Similar a Adding machine learning to a web app

Back To The Future.Key 2
Back To The Future.Key 2Back To The Future.Key 2
Back To The Future.Key 2gueste8cc560
 
Automating With Excel An Object Oriented Approach
Automating  With  Excel    An  Object  Oriented  ApproachAutomating  With  Excel    An  Object  Oriented  Approach
Automating With Excel An Object Oriented ApproachRazorleaf Corporation
 
OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningPaco Nathan
 
Data science is not Software Development and how Experiment Management can ma...
Data science is not Software Development and how Experiment Management can ma...Data science is not Software Development and how Experiment Management can ma...
Data science is not Software Development and how Experiment Management can ma...Jakub Czakon
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzQA or the Highway
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzQA or the Highway
 
Symposium 2019 : Gestion de projet en Intelligence Artificielle
Symposium 2019 : Gestion de projet en Intelligence ArtificielleSymposium 2019 : Gestion de projet en Intelligence Artificielle
Symposium 2019 : Gestion de projet en Intelligence ArtificiellePMI-Montréal
 
AECT 2010 - An analysis of what instructional designers need to know
AECT 2010 - An analysis of what instructional designers need to knowAECT 2010 - An analysis of what instructional designers need to know
AECT 2010 - An analysis of what instructional designers need to knowPatrick Lowenthal
 
Brochure data science learning path board-infinity (1)
Brochure   data science learning path board-infinity (1)Brochure   data science learning path board-infinity (1)
Brochure data science learning path board-infinity (1)NirupamNishant2
 
New Ideas for Old Code - Greach
New Ideas for Old Code - GreachNew Ideas for Old Code - Greach
New Ideas for Old Code - GreachHamletDRC
 
Data Workflows for Machine Learning - Seattle DAML
Data Workflows for Machine Learning - Seattle DAMLData Workflows for Machine Learning - Seattle DAML
Data Workflows for Machine Learning - Seattle DAMLPaco Nathan
 
Professional JavaScript: AntiPatterns
Professional JavaScript: AntiPatternsProfessional JavaScript: AntiPatterns
Professional JavaScript: AntiPatternsMike Wilcox
 
K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011pegasuscomm
 
Governance Services iTime Project: Automated Filing - DevCon 2019
Governance Services iTime Project: Automated Filing - DevCon 2019Governance Services iTime Project: Automated Filing - DevCon 2019
Governance Services iTime Project: Automated Filing - DevCon 2019Tom Page
 
Synergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software EngineeringSynergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software EngineeringTao Xie
 
2020 01 21 Data Platform Geeks - Machine Learning.Net
2020 01 21 Data Platform Geeks - Machine Learning.Net2020 01 21 Data Platform Geeks - Machine Learning.Net
2020 01 21 Data Platform Geeks - Machine Learning.NetBruno Capuano
 
notes as .ppt
notes as .pptnotes as .ppt
notes as .pptbutest
 
Practical Tips to Identify and Engage Talent
Practical Tips to Identify and Engage TalentPractical Tips to Identify and Engage Talent
Practical Tips to Identify and Engage TalentRecruitDC
 

Similar a Adding machine learning to a web app (20)

How to write a project proposal
How to write a project proposalHow to write a project proposal
How to write a project proposal
 
Back To The Future.Key 2
Back To The Future.Key 2Back To The Future.Key 2
Back To The Future.Key 2
 
Automating With Excel An Object Oriented Approach
Automating  With  Excel    An  Object  Oriented  ApproachAutomating  With  Excel    An  Object  Oriented  Approach
Automating With Excel An Object Oriented Approach
 
OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine Learning
 
Data science is not Software Development and how Experiment Management can ma...
Data science is not Software Development and how Experiment Management can ma...Data science is not Software Development and how Experiment Management can ma...
Data science is not Software Development and how Experiment Management can ma...
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig Stuntz
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig Stuntz
 
Symposium 2019 : Gestion de projet en Intelligence Artificielle
Symposium 2019 : Gestion de projet en Intelligence ArtificielleSymposium 2019 : Gestion de projet en Intelligence Artificielle
Symposium 2019 : Gestion de projet en Intelligence Artificielle
 
AECT 2010 - An analysis of what instructional designers need to know
AECT 2010 - An analysis of what instructional designers need to knowAECT 2010 - An analysis of what instructional designers need to know
AECT 2010 - An analysis of what instructional designers need to know
 
Brochure data science learning path board-infinity (1)
Brochure   data science learning path board-infinity (1)Brochure   data science learning path board-infinity (1)
Brochure data science learning path board-infinity (1)
 
New Ideas for Old Code - Greach
New Ideas for Old Code - GreachNew Ideas for Old Code - Greach
New Ideas for Old Code - Greach
 
Data Workflows for Machine Learning - Seattle DAML
Data Workflows for Machine Learning - Seattle DAMLData Workflows for Machine Learning - Seattle DAML
Data Workflows for Machine Learning - Seattle DAML
 
Professional JavaScript: AntiPatterns
Professional JavaScript: AntiPatternsProfessional JavaScript: AntiPatterns
Professional JavaScript: AntiPatterns
 
K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011
 
Governance Services iTime Project: Automated Filing - DevCon 2019
Governance Services iTime Project: Automated Filing - DevCon 2019Governance Services iTime Project: Automated Filing - DevCon 2019
Governance Services iTime Project: Automated Filing - DevCon 2019
 
Synergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software EngineeringSynergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software Engineering
 
2020 01 21 Data Platform Geeks - Machine Learning.Net
2020 01 21 Data Platform Geeks - Machine Learning.Net2020 01 21 Data Platform Geeks - Machine Learning.Net
2020 01 21 Data Platform Geeks - Machine Learning.Net
 
notes as .ppt
notes as .pptnotes as .ppt
notes as .ppt
 
Practical Tips to Identify and Engage Talent
Practical Tips to Identify and Engage TalentPractical Tips to Identify and Engage Talent
Practical Tips to Identify and Engage Talent
 
Tech ed
Tech edTech ed
Tech ed
 

Último

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 

Último (20)

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Adding machine learning to a web app

  • 1. Adding machine learning to a web app Richard Dallaway @d6y
  • 2. It’s easy, right? 1. Get some data 2. Find magic stats & algorithms 3. Predict the future!
  • 3. It’s easy, right? that helps solve the problem 1. Get some data frame the problem explore the data 2. Find magic stats & algorithms what’s success? pilot 3. Predict the future! does this help users? behaviour changes? UI impact?
  • 4. Make it easier for users to #tag todos
  • 5.
  • 6. tag
  • 7. Can we suggest tags as a task is typed in?
  • 8. us e f u l Can we suggest tags as a task is typed in?
  • 9. Where to start? from “Algorithms of the Intelligent Web”
  • 10. “Google uses Bayesian filtering the way Microsoft uses the if statement" as told to Joel Spolsky
  • 11. A contrived example #home 40% #work 60% “windows” “fix” “windows” “fix” 50% 50% 16.6% 83.4% p(#home | “fix”, “windows”) ?
  • 12. A contrived example #home 40% #work 60% “windows” “fix” “windows” “fix” 50% 50% 16.6% 83.4% p(#home | “fix”) = 40% x 50% (40% x 50%) + (83.4% x 60%) = about 28%
  • 13. A contrived example p (#h ome | “f i x ” ) #home 28% #work 72% “windows” “fix” “windows” “fix” 50% 50% 16.6% 83.4% p(#home | “fix”, “windows”) = 28% x 50% (28% x 50%) + (16.6% x 72%) = about 55%
  • 14. p(C | e) = P(C) x P(e | C) P(e)
  • 15. p(C | e) = P(C) x P(e | C) P(e) “the estimation of P(e | C) can be viewed as the central issue in designing learning systems. ” — Weiss & Kulikowski “Computer Systems that Learn”
  • 16. Demo: addsharedo.com with tag suggestions
  • 17. results of running the model
  • 18. It’s easy, right? 1. Explore the data 2. Frame your problem 3. Measure the performance honestly
  • 19. How to build? Write it yourself? Find a library? Ask Google to do it for you? ...but pilot with offline data first.
  • 20. www.manning.com 40% off with bathcamp40 until August 10th
  • 21. Questions? or later: @d6y richard@SpiralArm.com