F# in your pipe

654
-1

Published on

Published in: Software, Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
654
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • http://fsharp.github.io/FSharp.Data/library/CsvProvider.html
    http://clear-lines.com/blog/post/Random-Forest-classification-in-F-first-cut.aspx
  • F# in your pipe

    1. 1. F# IN YOUR PIPE COPENHAGEN R Phil Trelford @ptrelford
    2. 2. F#UNCTIONAL LONDONERS Founded Feb 2010 800 Members Meet every 2 weeks Key topics:  Functional Programming  Machine Learning  Apps and Games http://meetup.com/fsharplondon
    3. 3. CASE STUDIES Phillip Trelford, @ptrelford Copenhagen R, 2014
    4. 4. F# TOOLS FOR HALO 3 Questions Controllable player skill distribution (slow down!) Controllable skills distributions (re-ordering) Simulations Large scale simulation of 8,000,000,000 matches Distributed computation – 15 machines for 2wks Tools Result viewer (Logged results: 52GB of data) Real-time simulator of partial update
    5. 5. ADCENTER Weeks of data in training: 7,000,000,000 impressions 2 weeks of CPU time during sessions 2 wks x 7 days x 86,400 sec/day Learning algorithm speed requirement: 5,787 impression updates /sec 172.8 µs per impression update
    6. 6. TESTIMONIALS – F# IN MACHINE LEARNING Phillip Trelford, @ptrelford Copenhagen R, 2014
    7. 7. FSHARP.ORG/TESTIMONIALS - MICROSOFT For a machine learning scientist, speed of experimentation is the critical factor to optimize. Compiling is fast but loading large amounts of data in memory takes a long time. With F#’s REPL, you only need to load the data once and you can then code and explore in the interactive environment. Unlike C# and C++, F# was designed for this mode of interaction. - Patrice Simard, Microsoft
    8. 8. FSHARP.ORG/TESTIMONIALS - AMYRIS BIOTECH F# has been phenomenally useful. I would be writing a lot of this in Python otherwise and F# is more robust, 20x - 100x faster to run and for anything but the most trivial programs, faster to develop. - Darren Platt, Amyris Biotechnology
    9. 9. LIVE DEMOS Phil Trelford, @ptrelford Copenhagen R, 2014
    10. 10. PIPE IT load(transform(extract(data))) f3( f2( f1( x ) ) ) let (|>) x f = f x x |> f1 |> f2 |> f3 data |> extract |> transform |> load
    11. 11. K-MEANS CLUSTERING ALGORITHM (* K-Means Algorithm *) /// Group all the vectors by the nearest center. let classify centroids vectors = vectors |> Array.groupBy (fun v -> centroids |> Array.minBy (distance v)) /// Repeatedly classify the vectors, starting with the seed centroids let computeCentroids seed vectors = seed |> Seq.iterate (fun centers -> classify centers vectors |> Array.map (snd >> average))
    12. 12. TYPE PROVIDERS JSON XML CSV Excel SQL R MATLAB Hadoop …
    13. 13. CSV TYPE PROVIDER
    14. 14. R – TYPE PROVIDER
    15. 15. FSLAB Data Charting Deedle Math.Net R Provider
    16. 16. RESOURCES Phil Trelford, @ptrelford Copenhagen R, 2014
    17. 17. TRY IT BEFORE YOU BUY IT
    18. 18. BUY THE BOOK
    19. 19. JOIN THE COMMUNITY F# Foundation http://fsharp.org Copenhagen F# Meetup http://www.meetup.com/MoedegruppeFunktionelleKoebenhavnere/ Progressive F# Tutorials London https://skillsmatter.com/conferences/1926-progressive-f-tutorials- 2014

    ×