Accessible data science with Hal9 - Made with TensorFlow.js

TensorFlow · Intermediate ·👁️ Computer Vision ·4y ago

Key Takeaways

Hal9 platform utilizes TensorFlow.js for accessible data science, enabling instant data visualization, refinement, and application of pre-made models for sentiment analysis, LSTM for time series data, and image classification.

Full Transcript

okay so today we're joined by javier from how9.ai who's created well how9.ai which is a service enabling data science in javascript powered by tensorflow.js welcome to the show and first up please tell us a bit more about who you are and your prior experience with machine learning for sure thanks jason and obviously thanks for having me and yeah i'm basically been a software engineer for 15 years and in one way or another one i've been working on either data analysis tools or big data tools and more recently ai tools so definitely very happy to be here and uh being part of this show data science and javascript that's a really cool thing what inspired you to make this and maybe you can tell us a bit more about your end goal here as well yeah for sure so you know there was like a philosophical goal in some ways and you know i i feel very passionate of making artificial intelligence more accessible to more people i really feel that that can close the wealth inequality gap and bring more people into tech and why not uh and then more in a short term you know kind of like note i found out that web developers a lot of them want to do artificial intelligence but the tools are not there yet so it was kind of like an easy start-up point for us to focus first on web developers and just make the community and the tools a little bit better yeah great and a lot of our viewers might actually be coming from other backgrounds as well i'm sure we've got some people from the python world also watching how does this compare to say existing tooling in python for data science yeah i mean obviously you know we all know that python is probably one of the best programming languages to do artificial intelligence uh but i feel like there's a lot of opportunity on javascript as an ai tool for deployment right so you know it's it it actually happens to be quite hard to run python on a mobile device or on the browser and kind of like javascript allows you to build applications either for mobile on something like react native or directly in the browser and actually simplify your server infrastructure by not having a server or increasing performance and privacy so even even though like python is considered like a pretty great programming language for ai i do feel like there's a lot of niche areas where javascript really shines yeah definitely these days uh with people having products in the web world you can then integrate various a lot easier than to which is awesome so yeah that's great so i think it's about time for a demo uh to see what it can do yeah for sure all right yeah so in this particular case i want to show you like data analysis that we're doing in cal9 starting from scratch so the first thing that we're doing is we're going to start from a csv file and this particular csv file has all the posts from the wall street bets reddit group and you know there's a lot of tag of a lot of talk of gme and amc and why not and you know it's first of all you can see that the tool allows you to very easily drag and drop uh you know blocks to construct what we call a pipeline and basically a pipeline is a data analysis pipeline that we use to import the data right that's the first step so you know we can take a quick look and we see that there's fifty thousand fifty two thousand rows which is it's a lot for a data visualization so to keep things simple we can also filter this particular data set right so we're gonna say don't show me all the records just show me the top uh most uploaded titles in the in this data set and you know that way we can reduce the size to you know two thousand and you know two thousand and something grows and now we can kind of like okay let's take a look and see if we can build a little visualization right just to get a sense of how the data looks like we have a bunch of different visualizations but you know like one of the common ones is the scatter plot which is literally just dots over a matrix of x and y coordinates but still pretty useful because you know it can show us that there's there seems to be two groups of posts here right uh one of them with very little comments and the other ones with you know average comments but they have the same amount of upvotes so you can you can probably imagine that the one of these data sets is probably a lot of memes and a lot of like gifs where you know it's not there's not a lot of comments but it has more votes and why not yeah i love how easy it is to kind of drag and drop things into the flow there and then get the instant visualization of that all in action that's super super cool yeah we're really trying to make it super easy for web developers to not have any fears of data science so we we also believe that the blocks really help you kind of like cross that barrier uh pretty smoothly yeah you can focus on the data which is yeah for sure it's very useful yep and then yeah what we're doing now is we want to see kind of like how the gamestop stock compares with other types of posts so we're just asking on the title we're just scraping the title to say if the title contains the words gme call it you know a gme type of post otherwise call it other right and that that should help us you know kind of like build our visualization to see if there if we see some patterns some you know different types of uh you know behavior between different posts and here what you can see is that honestly both of them look pretty similar you know like you see this pattern where you know like uh there's posts with a lot of comments and the other ones with medium comments so nothing nothing super interesting but but now we can start looking at you know using tensorflow.js to actually figure out more interesting uh bits and pieces on this data set so we're gonna drag the sentiment block and basically the sentiment block uses a tensorflow pre-trained model from the tensorflow github repo that basically analyzes if it's post is positive or negative right so you know we can we can do that just by drag and dropping but really what is happening behind the scenes is tensorflow is uh you know categorizing what type of post it is and that's those are the sentiment scores that come directly from tensorflow so you know like all the magic is done by tensorflow and that score tells you basically zero is something very negative probably some profanity involved as well and then one would be something very positive right and and then we can basically use that data to do another scatter plot and then here we're starting to see some interesting things like it almost looks like a like a little you know like u shaped uh uh you know uh graph where you know there's a lot of uh up votes for things that are very negative and very a lot and lots of up votes for things that are very positive right so you know we all know that social media tends to get polarized so maybe this is maybe this is not that surprising but definitely you know with tensorflow you can figure these things out yeah so this is very interesting to see um by applying the sentiment analysis using tensorflow.js we can now kind of uh you know pull out these kind of outliers if you're on the two edges there which as you said like uh is a link to the kind of polarizing opinions on social media of uh very negative and very positive extremes there and it's very visually seen in that that's right and then the last thing that we can do is we can drag the the number of comments to the size of the bubble right and this is this is actually showing something interesting that it's a bit different from the rest of the stocks uh that are being talked in wall street bets right so the orange one are the other ones and you can see that there's a lot of comments like the bubbles are bigger for the posts that are positive um not so much for the negative ones but for the gme ones for whatever reason i which i don't know why but they seem to be there seem to be also a lot of engagement from the community on negative titles right so maybe maybe the community is trying to defend this talk or maybe they get passionate about it but there's definitely like quite a significant difference on on the type of number of comments that go in relation with negative uh posts so that that i find interesting and honestly this is the way that you do data science you play with the data you explore it you use tools like tensorflow to actually try to figure out how how how the data what the data is telling you totally yeah and it's good to be able to you know have that playfulness when looking at data often uh uh many of us are used to command line interfaces and uh getting the standard deviations and the means and all this kind of stuff uh for the various uh columns and all that kind of thing going on there but this really brings it to life a lot more it might spark other ideas in your mind as you see it visually represented like this in real time i think that's very powerful yeah yeah for sure and lastly but not least i think one of the most interesting features that we have on hull nine that is really enabled by tensorflow.js is that you can you also have access to the entire code behind each of the blocks so you know as you can see you can modify the opacity of this particular chart and you know customize it to whatever degree you want or you can go back to the previous sentiment analysis block and actually here we're scrolling and looking at the tensorflow.js code right so you know you can see how we loaded the model we how we're transforming the text to actually push it into the model and then you finally see tensorflow.js scoring the model and this is something that you know it's it's first of all it's a great learning tool because you know it it gets you to do things without code but secondly you can also learn and modify it to your heart's content yeah that's great and anyway so this toy is like clearly really easy to use and i love how you also expose the raw code that's being generated behind the scenes that can be tweaked by anyone more advanced users for example so there's something for everyone there no matter what skill level you're at there if you're more on the coding side you can get down into the weeds and if you're more a higher level then you can just play around with these high level features as well i was wondering on this um you know is there an upper limit on to how much data you can actually import into this system yeah i mean well definitely you know with a with a big enough machine right it shouldn't be an issue right but like uh you know definitely you know we've we've been working with you know ten thousand you know fifty thousand road uh rows on on on javascript but uh recently we started investigating uh this tool and library called arkero js so by default javascript uh works with data in a row format uh but arkera js actually supports a columnar uh you know structure of the data and we've been able to do uh data analysis with up to a million rows on our kerala with no problem which is is actually kind of interesting so uh one of the new features that we're planning to integrate is convert all our blocks to use our carrot to let users use bigger data sets but you know in general this is something that we're very passionate about trying to push the boundaries of you know how much data you can process with javascript in combination with tensorflow.js so definitely we're looking forward to connect to the community um if you want to contribute you know self-promotion we have a github repo with our code available where you know uh developers listening to this uh you know episode like can join us and contribute and you know propose fixes open issues and definitely make make this of a more of a community effort than uh that what we're currently doing yeah wonderful that's really great to hear and yes on that day i've also seen other things like danthoges also being produced from the community as well so there's definitely an interest in replicating some of this tooling we've seen in python in javascript um so hopefully all of us will grow together and make some very powerful systems in the future yeah we're definitely also super excited about done4js uh you know definitely you know it's another project that the community could help out i would definitely you know are a bit understaffed but we're waiting for the opportunity to also contribute to that for years really cool so what type of models do you actually support that present in the how9.ai system yeah for sure so let me show you some of them jason definitely we have some of them and we're looking forward to work with even more uh with together with the community but for instance uh you know we have one example of bitcoin price prediction uh it doesn't really matter whether you're using bitcoin or not but what is really interesting is that you can use an lstm model which stands for long short term memory which is one of the best poke models for doing actual time series analysis so here what we're doing is we're actually doing the training it's a tensorflow you know code that you know it's all based on tensorflow.js obviously and it helps you train that particular model so so that's one of the cases which is probably one of our most advanced models yeah i think that's very useful as well because uh time series data is often very common in like real world situations so i think this could be very interesting for our users too yeah i know for sure so we we have those type of models then we can also do some image processing so for instance uh we can do image classification uh by you know with mobile net so for instance what we what you're uh looking at here is we have different images for instance in this case it you know it's uh it looks like a cat uh even though it is being recognized as a cheetah which i think is a fair fair suggestion uh but yeah so you can also use mobilenet and take a look at you know the tensorflow.js code that kind of like powers this and you can very easily you know connect to different types of sources of images and classify them and you know you can also do more simpler stuff but i think it's it's as interesting you can also do things like uh say figure out how the temperature are changing over time in our planet and do some regression models so for instance in this particular case we are we have a simple uh exponential regression you can choose from say linear or logarithmic or power or why not and then you can project kind of like temperatures into the future and you know to whatever degree you want yeah and again what is what is really interesting is if we we take a look at the tensorflow code all we have to do is for instance in this case give the equation to tensorflow which is mx plus b which is uh you know the intercept and then basically you know that that uh tensorflow does all the magic to actually optimize the equation and find you a model that fits and it's doing all that in in real time right so you can see how uh you know it's fitting feeding the data and it's doing it through gradient descent which you know i'm sure some people on your channel are aware of and again like all the heavy list lifting is being done by tensorflow but you get to do data analysis in the browser in a very easy to to interesting so in this in this situation you can actually define any equation a bit or try and fit the best values for the parameters of the equation for right yeah representing to it which is yeah for sure i mean it's you know the simplicity of tensorflow makes it so such that you can you know define your own equation and you know like honestly tensorflow doesn't care about the complexity and tools like gradient descent are pretty great at dealing with very complex models so yeah you can expand also this pretty easily uh if if some of some of the listeners are have have a keen eye for mathematics for sure sure yeah something for everyone yeah amazing so now if people were to try this out for themselves how can they do so yeah so hoping that you can take a look at the hall9.ai webpage basically there you have access to the tool which is completely free after you log in and you can also look at scroll the way down to our social media links and you can contact get in contact with us in github in twitter we even have a tiktok account where we're trying to make a data visualizations fun so definitely if you're into that we're looking to forward to connect with you in whichever social media platform you're at excellent so do go connect with them everyone and remember if you've got questions you can add a comment down below as well so with that thank you for being on the show and i'm super excited to see this area grow thank you so much jason and see you soon [Music] you

Original Description

Javier Luraschi, creator of Hal9, is using his platform to make data science more accessible for developers everywhere. Hal9 allows you to explore data sets by using TensorFlow.js in the browser. See Hal9 in action as he demonstrates how you can instantly visualize data from a whole bunch of sources, refine it, and then apply pre-made models for things like sentiment analysis to further process the input data to gain extra insights. We also dive into LSTMs for time series data, and image classification to better interpret datasets containing images to understand what types of imagery make up your dataset and more! Try it for yourself: Hal9 by Javier Luraschi → https://goo.gle/3nIByWr Want to be on the show? Use #MadeWithTFJS to share your own creations on social media and we may feature you in our next show. Catch more #MadeWithTFJS interviews → http://goo.gle/made-with-tfjs Subscribe to the TensorFlow channel → https://goo.gle/TensorFlow Have a question? Ask it on the TensorFlow Forum and tag with “TFJS” → https://discuss.tensorflow.org/tag/tfjs #ML #TensorFlow product: TensorFlow - TensorFlow JS, TensorFlow - General; fullname: Jason Mayes;
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from TensorFlow · TensorFlow · 0 of 60

← Previous Next →
1 The TensorFlow YouTube Channel is Here!
The TensorFlow YouTube Channel is Here!
TensorFlow
2 Answering Your TF Questions #AskTensorFlow
Answering Your TF Questions #AskTensorFlow
TensorFlow
3 Chatting With the TensorFlow Community (TensorFlow Meets)
Chatting With the TensorFlow Community (TensorFlow Meets)
TensorFlow
4 All About TensorFlow Code (Coding TensorFlow)
All About TensorFlow Code (Coding TensorFlow)
TensorFlow
5 TensorFlow: an ML platform for solving impactful and challenging problems
TensorFlow: an ML platform for solving impactful and challenging problems
TensorFlow
6 Keynote (TensorFlow Dev Summit 2018)
Keynote (TensorFlow Dev Summit 2018)
TensorFlow
7 tf.data: Fast, flexible, and easy-to-use input pipelines (TensorFlow Dev Summit 2018)
tf.data: Fast, flexible, and easy-to-use input pipelines (TensorFlow Dev Summit 2018)
TensorFlow
8 Eager Execution (TensorFlow Dev Summit 2018)
Eager Execution (TensorFlow Dev Summit 2018)
TensorFlow
9 Machine Learning in JavaScript (TensorFlow Dev Summit 2018)
Machine Learning in JavaScript (TensorFlow Dev Summit 2018)
TensorFlow
10 Training Performance: A user’s guide to converge faster (TensorFlow Dev Summit 2018)
Training Performance: A user’s guide to converge faster (TensorFlow Dev Summit 2018)
TensorFlow
11 The Practitioner's Guide with TF High Level APIs (TensorFlow Dev Summit 2018)
The Practitioner's Guide with TF High Level APIs (TensorFlow Dev Summit 2018)
TensorFlow
12 Distributed TensorFlow (TensorFlow Dev Summit 2018)
Distributed TensorFlow (TensorFlow Dev Summit 2018)
TensorFlow
13 Debugging TensorFlow with TensorBoard plugins (TensorFlow Dev Summit 2018)
Debugging TensorFlow with TensorBoard plugins (TensorFlow Dev Summit 2018)
TensorFlow
14 TensorFlow Lite (TensorFlow Dev Summit 2018)
TensorFlow Lite (TensorFlow Dev Summit 2018)
TensorFlow
15 Searching Over Ideas (TensorFlow Dev Summit 2018)
Searching Over Ideas (TensorFlow Dev Summit 2018)
TensorFlow
16 Reconstructing Fusion Plasmas (TensorFlow Dev Summit 2018)
Reconstructing Fusion Plasmas (TensorFlow Dev Summit 2018)
TensorFlow
17 Nucleus: TensorFlow toolkit for Genomics (TensorFlow Dev Summit 2018)
Nucleus: TensorFlow toolkit for Genomics (TensorFlow Dev Summit 2018)
TensorFlow
18 Open Source Collaboration (TensorFlow Dev Summit 2018)
Open Source Collaboration (TensorFlow Dev Summit 2018)
TensorFlow
19 Swift for TensorFlow - TFiwS (TensorFlow Dev Summit 2018)
Swift for TensorFlow - TFiwS (TensorFlow Dev Summit 2018)
TensorFlow
20 TensorFlow Hub (TensorFlow Dev Summit 2018)
TensorFlow Hub (TensorFlow Dev Summit 2018)
TensorFlow
21 Applied AI at The Coca-Cola Company (TensorFlow Dev Summit 2018)
Applied AI at The Coca-Cola Company (TensorFlow Dev Summit 2018)
TensorFlow
22 Real-World Robot Learning (TensorFlow Dev Summit 2018)
Real-World Robot Learning (TensorFlow Dev Summit 2018)
TensorFlow
23 TensorFlow Extended (TFX) (TensorFlow Dev Summit 2018)
TensorFlow Extended (TFX) (TensorFlow Dev Summit 2018)
TensorFlow
24 Project Magenta (TensorFlow Dev Summit 2018)
Project Magenta (TensorFlow Dev Summit 2018)
TensorFlow
25 TensorFlow Dev Summit 2018 - Livestream
TensorFlow Dev Summit 2018 - Livestream
TensorFlow
26 Introducing TensorFlow Lite (Coding TensorFlow)
Introducing TensorFlow Lite (Coding TensorFlow)
TensorFlow
27 TensorFlow Dev Summit 2018 Highlights
TensorFlow Dev Summit 2018 Highlights
TensorFlow
28 Jeff Dean, Head of AI at Google discusses the impact of ML (TensorFlow Meets)
Jeff Dean, Head of AI at Google discusses the impact of ML (TensorFlow Meets)
TensorFlow
29 TensorFlow Mobile vs. TF Lite and More! #AskTensorFlow
TensorFlow Mobile vs. TF Lite and More! #AskTensorFlow
TensorFlow
30 Using TensorFlow to enable research & production across many fields (TensorFlow Meets)
Using TensorFlow to enable research & production across many fields (TensorFlow Meets)
TensorFlow
31 Teaching TensorFlow for Deep Learning at Stanford University (TensorFlow Meets)
Teaching TensorFlow for Deep Learning at Stanford University (TensorFlow Meets)
TensorFlow
32 TensorFlow Lite for Android (Coding TensorFlow)
TensorFlow Lite for Android (Coding TensorFlow)
TensorFlow
33 Using the tf.data API to build input pipelines (TensorFlow Meets)
Using the tf.data API to build input pipelines (TensorFlow Meets)
TensorFlow
34 Training Models in the Cloud & the Benefits of AI Toolkits #AskTensorFlow
Training Models in the Cloud & the Benefits of AI Toolkits #AskTensorFlow
TensorFlow
35 Execute operations immediately with TensorFlow's Eager Execution (TensorFlow Meets)
Execute operations immediately with TensorFlow's Eager Execution (TensorFlow Meets)
TensorFlow
36 TensorFlow Lite for iOS (Coding TensorFlow)
TensorFlow Lite for iOS (Coding TensorFlow)
TensorFlow
37 Get started with TensorFlow's High-Level APIs (Google I/O '18)
Get started with TensorFlow's High-Level APIs (Google I/O '18)
TensorFlow
38 TensorFlow for JavaScript (Google I/O '18)
TensorFlow for JavaScript (Google I/O '18)
TensorFlow
39 TensorFlow in production: TF Extended, TF Hub, and TF Serving (Google I/O '18)
TensorFlow in production: TF Extended, TF Hub, and TF Serving (Google I/O '18)
TensorFlow
40 Get started with TensorFlow's High-Level APIs in 5 mins |  Google I/O 2018
Get started with TensorFlow's High-Level APIs in 5 mins | Google I/O 2018
TensorFlow
41 TensorFlow and deep reinforcement learning, without a PhD (Google I/O '18)
TensorFlow and deep reinforcement learning, without a PhD (Google I/O '18)
TensorFlow
42 TensorFlow Lite for mobile developers (Google I/O '18)
TensorFlow Lite for mobile developers (Google I/O '18)
TensorFlow
43 Advances in machine learning and TensorFlow (Google I/O '18)
Advances in machine learning and TensorFlow (Google I/O '18)
TensorFlow
44 Distributed TensorFlow training (Google I/O '18)
Distributed TensorFlow training (Google I/O '18)
TensorFlow
45 Classification using neural networks & ML regression models #AskTensorFlow
Classification using neural networks & ML regression models #AskTensorFlow
TensorFlow
46 TensorFlow and Keras in R - Josh Gordon meets with J.J. Allaire (TensorFlow Meets)
TensorFlow and Keras in R - Josh Gordon meets with J.J. Allaire (TensorFlow Meets)
TensorFlow
47 Focus on your experiment with TensorFlow Estimators (TensorFlow Meets)
Focus on your experiment with TensorFlow Estimators (TensorFlow Meets)
TensorFlow
48 How to get started with AI/ML, retraining models, & more! #AskTensorFlow
How to get started with AI/ML, retraining models, & more! #AskTensorFlow
TensorFlow
49 TensorFlow - the deep learning solution for mobile platforms (TensorFlow Meets)
TensorFlow - the deep learning solution for mobile platforms (TensorFlow Meets)
TensorFlow
50 MiniGo: TensorFlow Meets Andrew Jackson (TensorFlow Meets)
MiniGo: TensorFlow Meets Andrew Jackson (TensorFlow Meets)
TensorFlow
51 The growth of TensorFlow with added support for JS & Swift (TensorFlow Meets)
The growth of TensorFlow with added support for JS & Swift (TensorFlow Meets)
TensorFlow
52 At the intersection of TensorFlow & nuclear physics (TensorFlow Meets)
At the intersection of TensorFlow & nuclear physics (TensorFlow Meets)
TensorFlow
53 NVidia TensorRT: high-performance deep learning inference accelerator (TensorFlow Meets)
NVidia TensorRT: high-performance deep learning inference accelerator (TensorFlow Meets)
TensorFlow
54 Try TensorFlow.js in your browser (Coding TensorFlow)
Try TensorFlow.js in your browser (Coding TensorFlow)
TensorFlow
55 TensorFlow Hub: reusing machine learning modules (TensorFlow Meets)
TensorFlow Hub: reusing machine learning modules (TensorFlow Meets)
TensorFlow
56 How to use TensorFlow in PyCharm (TensorFlow Tip of the Week)
How to use TensorFlow in PyCharm (TensorFlow Tip of the Week)
TensorFlow
57 Training models faster with TensorFlow Hub (TensorFlow Meets)
Training models faster with TensorFlow Hub (TensorFlow Meets)
TensorFlow
58 Prepare your dataset for machine learning (Coding TensorFlow)
Prepare your dataset for machine learning (Coding TensorFlow)
TensorFlow
59 Using ML to predict insulin use for Type 1 Diabetes (TensorFlow Meets)
Using ML to predict insulin use for Type 1 Diabetes (TensorFlow Meets)
TensorFlow
60 TFX: an end-to-end machine learning platform for TensorFlow (TensorFlow Meets)
TFX: an end-to-end machine learning platform for TensorFlow (TensorFlow Meets)
TensorFlow

Hal9 platform makes data science accessible by utilizing TensorFlow.js for instant data visualization, refinement, and application of pre-made models. This enables developers to gain extra insights from their datasets. The platform supports various data sources and provides a user-friendly interface for exploring and processing data.

Key Takeaways
  1. Explore Data Sets
  2. Visualize Data
  3. Refine Data
  4. Apply Pre-made Models
  5. Use LSTM for Time Series Data
  6. Perform Image Classification
💡 Hal9 platform provides an accessible way for developers to work with data science, enabling them to instantly visualize and process data from various sources, and apply pre-made models for sentiment analysis and image classification.

Related Reads

Up next
9-Phase Computer Vision Roadmap 2026 | AI & Deep Learning | #shorts
SCALER
Watch →