Is Rust the New King of Data Science?

Sdílet
Vložit
  • čas přidán 22. 11. 2022
  • A gentle introduction to machine learning with Rust. No prior knowledge of Rust or machine learning is required.
    In the video I mention the channel "No Boilerplate" - check it out! / noboilerplate
    ---
    Stuff I use to make these videos - I absolutely love all of these products. Using these links is an easy way to support the channel, thank you so much if you do so!!!
    Camera: Canon EOS R5 amzn.to/3CCrxzl
    Monitor: Dell U4914DW 49in amzn.to/3MJV1jx
    Lens: Sigma 24mm f/1.4 DG HSM Art for Canon EF amzn.to/3hZ10mz
    SSD for Video Editing: VectoTech Rapid 8TB amzn.to/3hXz9TM
    Microphone: Rode NT1-A amzn.to/3vWM4gL
    Microphone Interface: Focusrite Clarett+ 2Pre amzn.to/3J5dy7S
    Tripod: JOBY GorillaPod 5K amzn.to/3JaPxMA
    Mouse: Razer DeathAdder amzn.to/3J9fYCf
    Computer: 2021 Macbook Pro amzn.to/3J7FXtW
    Caffeine: High Brew Cold Brew Coffee amzn.to/3hXyx0q
    More Caffeine: Monster Energy Juice, Pipeline Punch amzn.to/3Czmfox
    Building A Second Brain book: amzn.to/3cIShWf
  • Věda a technologie

Komentáře • 369

  • @NoBoilerplate
    @NoBoilerplate Před rokem +705

    This is what it's all about, clear, useful Rust tutorial that also features pizza. Wonderful! Thanks for the shout out, too! 🙂

    • @amjadiqbal478
      @amjadiqbal478 Před rokem +14

      Nice to see your comments team No Boilerplate.🐯🙏🇵🇰

    • @codetothemoon
      @codetothemoon  Před rokem +47

      Tris - thanks for your support of the channel and all that you do for this fantastic CS CZcams community!

    • @NoBoilerplate
      @NoBoilerplate Před rokem +19

      @@amjadiqbal478 Thank you! It's just me, Tris, though!

    • @NoBoilerplate
      @NoBoilerplate Před rokem +14

      @@codetothemoon Right back at you, Ken, grand job you're doing here - thank you very much!

    • @amjadiqbal478
      @amjadiqbal478 Před rokem +6

      Tris, Surprised.
      Actually your channel is among the top Rust rankings, so I thought there would be a team. But you turned out to be a one man army👌. Love you.

  • @heredento
    @heredento Před rokem +168

    I love how you responded the video title just at the start and then proceded to elaborate, I've always wanted to see a channel do that

    • @codetothemoon
      @codetothemoon  Před rokem +10

      Thanks, glad you liked it! 😎

    • @justin3594
      @justin3594 Před rokem +3

      The answer is always no when a video name asks a question.

    • @kennethbeal
      @kennethbeal Před rokem +3

      @@justin3594 "Is the answer always no when a video name asks a question?", next video title. :)

    • @justin3594
      @justin3594 Před rokem +3

      @@kennethbeal or “What is the answer? No.”

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj Před rokem +1

      why he is saying tek? .. annoying.. its clearly TEX , not TEC or TEK.. is he dyslexic or smt?

  • @omaredumx
    @omaredumx Před rokem +22

    "The short answer is... No" Loved that intro 😂

    • @codetothemoon
      @codetothemoon  Před rokem +9

      haha thanks, I like to cut to the chase 😎

  • @wtcxdm
    @wtcxdm Před rokem +94

    I started my rust learning because of No Boilerplate!

    • @ahmadolukotun3884
      @ahmadolukotun3884 Před rokem +5

      Me too...got me hooked

    • @adrianlazar1454
      @adrianlazar1454 Před rokem +3

      same

    • @mpogrzebski
      @mpogrzebski Před rokem +3

      Haha same

    • @codetothemoon
      @codetothemoon  Před rokem +14

      Nice!! I find it great how a video or channel can inspire and change the trajectory of one's journey. It's one of the many reasons I love this platform!

    • @Ma1ne2
      @Ma1ne2 Před rokem +1

      Same here :D

  • @dhananjaysingh4945
    @dhananjaysingh4945 Před rokem +8

    First time I heard the conclusion of title at the very start of video. That's a good content for me

    • @codetothemoon
      @codetothemoon  Před rokem +1

      Hah, thanks! Hopefully you found the long answer valuable too!

    • @dhananjaysingh4945
      @dhananjaysingh4945 Před rokem

      @@codetothemoon Is there any series you have done?...from start to finish a rust project. I think people like me like to build something by looking and then reproduce it by modifications. Subbed for the upcoming content anyways😍

  • @Rabixter
    @Rabixter Před 4 měsíci +1

    Nice intro. I like the honesty and that you didn't beat around the bush lol.

  • @victorpinasarnault7910
    @victorpinasarnault7910 Před rokem +2

    I was thinking in that point this week. Thank for your video.

  • @robmulla
    @robmulla Před rokem +15

    Amazing video! I make data science content using python and was thinking about trying out Rust during a live stream. This video was a great starting guide. Subscribed!

    • @codetothemoon
      @codetothemoon  Před rokem +1

      Thanks so much Rob! I saw a bit of your live stream last night using Rust - fantastic work. I've subscribed to your channel as well!

    • @robmulla
      @robmulla Před rokem +1

      @@codetothemoon Thanks! I quickly found out there is a steep learning curve with Rust from python, but I can see why people love it. Keep making great videos. Link to my stream in case anyone is interested: czcams.com/video/_KKfOuOijJY/video.html

  • @jeffg4686
    @jeffg4686 Před rokem +5

    @1:50 - 20 lines of code is genius for training. Love that style. When people go scrolling up and down, there's no way to keep track. Gotta keep it simple and tight.
    Have you made your way into building out a NN yet? Would love a video on that if you have experience with that. Would like to see uses outside of "object type identification" if you know of some interesting uses. Quite amazing what's being done out there with them.

  • @adsick_ua
    @adsick_ua Před rokem +4

    I like your high contrast and minimalist VScode setup in the video.

  • @rodolfoblasser3329
    @rodolfoblasser3329 Před rokem +4

    I believe the value of Rust in DS is to actually build your own implementations (models, algorithms, etc.). At a low-level, you have the ability to understand core calculations and decide what architectures satisfies your needs.

  • @stanrock8015
    @stanrock8015 Před 10 měsíci +2

    NoBoilerplate is a great channel as well. Lots of good Rust info out there.

  • @flogginga_dead_horse4022

    Thanks for the no boilerplate link too.

  • @Dominik-K
    @Dominik-K Před rokem +45

    Decision trees are amazing, and I'm glad to see rust be able to calculate those.
    The best feature is actually it being based purely on statistics and the algorithm being immediately explainable.
    Random Forests and similar techniques building up on decision trees can help to predict outcomes in a human understandable way. Which can be good for some regulatory fields as well,
    where explainablity of conclusions is necessary

    • @codetothemoon
      @codetothemoon  Před rokem +11

      I agree with all of this! Neural networks seem to suck all of the mindshare away from other approaches - while it's the only game in town for the more ambitious use cases, they do have their downsides. I feel like Decision trees (and RF) are at a great cross section of performance and human understandability that can be a great fit for many applications.

    • @someonespotatohmm9513
      @someonespotatohmm9513 Před rokem +4

      Neural networks is what you use when you don't know what to use anymore. There is a lot of problems we have no good solutions for. But also a lot of cases where ppl didn't think about ol' reliable.

    • @ScottBrown124
      @ScottBrown124 Před rokem +4

      Random forests aren't particularly explainable at scale either. You *can* explain exactly how a decision was made, but that won't necessarily give you any insight into why the output space was partitioned the way it was in a way that means anything to a human.

    • @TAP7a
      @TAP7a Před 9 měsíci

      @@ScottBrown124 there are great ways to explain a random forest. SHAP values can help a little bit, but that's true of NNs, and they aren't great. Partial dependence plots can be useful if you're only looking at a single record. But RFs have a cool feature they share with decision trees which is the Gini impurity, or whichever other metric you're using to optimize your splits. In short, you can follow a record down each decision tree and aggregate the change to the impurity induced by splitting on each variable, so in the end you have the Conditional Feature Contributions, or the total impact of each feature on the decision.
      On its own, it won't be able to give you a scorecard model printout or something as easy as a logistic regression, but here's an example. If you were working on a tax fraud detection problem the CFCs might indicate that the income received from benefits in kind, capital gains, having a dependent, the total tax paid, and the submission date would contribute most to a positive identification, which would be passed on to the investigations team as starting points. They might then find that actually there had been some chicanery committed with the reporting of capital gains received on highly appreciating benefits in kind (I don't know tax evasion strategies) that resulted in underpayment, but the dependent and submission date were spurious correlations. You can even then aggregate CFCs to all training records in a given class or bin and identify what features were most frequently the drivers of, or had the largest sum of contributions towards, making a prediction that puts a record in that outcome
      On top of CFCs you have feature importance inherent to the calculation of a bootstrapped model, which provides a level of global interprability. There's even the nuclear option, applicable to any predictive model, where you just train a single decision tree on the output of the main model as a surrogate, which should explain the (likely simplified) relationships discovered by the main model.
      Anything more complicated than a single CART tree, subset of a GLM, or _maybe_ an ARIMA model if your customers are really technical, is not going to be able to confidently state that for a particular record the combination of features X, Y, and Z is exactly the driver of a decision. You've always got to compomise. For my taste, unless you're working on a very hard and very noisy problem like LLMs, recommendation algos or image processing, the compromise required to run an NN is too much. If your problem is a classification or regression on tabular data, a NN is probably a sledgehammer for your nut. But for me, the compromise offered by a Random Forest is actually very palatable

  • @ARS-fi5dp
    @ARS-fi5dp Před rokem +1

    Thank you for the Useful contents

  • @kodee2
    @kodee2 Před rokem +28

    Sick video, also a big fan of no boilerplate. I think python has a place still as a high level language, but underlying libraries like pydantic used in FastAPI, to parse http requests, are already being rewritten in rust. Exciting to see it’s adoption

    • @codetothemoon
      @codetothemoon  Před rokem +2

      Thanks @kdodee2! I am excited as well!

    • @LtdJorge
      @LtdJorge Před rokem +5

      All high performance Python libs are written in C/C++/Fortran, so Rust makes a good candidate 😊

  • @noabstruction
    @noabstruction Před rokem +1

    I just loved the fast 20s of this video

  • @hershreddy9154
    @hershreddy9154 Před rokem +2

    What a great intro!

  • @mageprometheus
    @mageprometheus Před rokem +2

    Thanks. This looks great.

  • @user-tk1re2hd2y
    @user-tk1re2hd2y Před rokem +1

    Thanks for the short answer at the beginning 👍

  • @AllOfMyWat
    @AllOfMyWat Před rokem +1

    two of my favorite rust folks!

  • @dinophage
    @dinophage Před rokem +2

    Love No Boilerplate and the algorithm knows it so now I am here too :) or maybe it's because I'm a data scientist

    • @codetothemoon
      @codetothemoon  Před rokem +1

      Nice, I am very happy to have more data science folks here!

  • @igormriegel
    @igormriegel Před rokem +7

    Duuuudee, you're missing Polars, it is the Pandas for Rust.

    • @codetothemoon
      @codetothemoon  Před rokem +2

      Someone else pointed this out as well, I'm going to look into it! What's it like using Polars data frames as input for the various Rust ML crates?

    • @igormriegel
      @igormriegel Před rokem +2

      @@codetothemoon They're poised to be the de facto standard, they implemented the Apache Arrow memory format, which came to guarantee compatibility among languages. Their implementation has Python bidings and Javascript(Node Js) bidings as well, they are awesome and truly performant

    • @tellezgerardoruben5202
      @tellezgerardoruben5202 Před 2 měsíci

      That was the only part I was missing.

  • @SolaireML
    @SolaireML Před rokem +1

    great job

  • @IanRiley915
    @IanRiley915 Před rokem +6

    Another great thing to look at for rust in DS would be the Python FFI bindings. I think rust could have a huge impact on the DS community that way.

    • @TCMx3
      @TCMx3 Před rokem +3

      you can easily generate them with pyo3 or unifii. There are others too, I'm sure.

    • @codetothemoon
      @codetothemoon  Před rokem

      I hadn't considered this!

    • @astronemir
      @astronemir Před rokem

      @@codetothemoon re-write the decision tree algorithm in Rust, would be dope!

  • @vectoralphaSec
    @vectoralphaSec Před rokem +12

    All Rust needs is really stable and useful standard libraries for wide industry use in AI, ML and Data Science as well as Computer Graphics/ Rendering and Game Development and i will use Rust as my main language. Hopefully one day.

    • @codetothemoon
      @codetothemoon  Před rokem +3

      I'm hoping for this as well!

    • @jeremykothe2847
      @jeremykothe2847 Před rokem +3

      Python has too much traction, even *if* rust were a more approachable language for the kinds of people that work in ML. I've spent the last week playing with tch, a rust pytorch binding, and while I was impressed as hell at how well it worked and how easy it was to use, and of course how fast, memory efficient etc it was, python is something you can teach to a non-programmer in a very short while. Rust...

    • @jeremykothe2847
      @jeremykothe2847 Před rokem +3

      But here's hoping! Remember for Data Science in general, R is actually more used than Python. It's only ML/nets where Python is the king.

    • @mariobroselli3642
      @mariobroselli3642 Před 4 měsíci

      ​@@jeremykothe2847 R sucks in Performance 😢

    • @jeremykothe2847
      @jeremykothe2847 Před 4 měsíci +1

      @@mariobroselli3642 so true. And, frankly, it's an ugly language :D

  • @ibrahim.3999
    @ibrahim.3999 Před rokem +3

    good to see rust growing this fast 🦀 learn something new! anyway which theme you're using? thanks :)

    • @codetothemoon
      @codetothemoon  Před rokem

      glad you got something out of it! The theme is Sonokai, though it appears a bit more contrasty in the video because of the color grading. In any case it is currently my favorite theme 😎

    • @ibrahim.3999
      @ibrahim.3999 Před rokem

      @@codetothemoon going to be my favourite too 😀

  • @HyperFocusMarshmallow
    @HyperFocusMarshmallow Před rokem +2

    Rust is great when you want to impose lots of structure on your data and keep types under control. But it seems like in machine learning you kind of want to already format your data into being just an array of numbers so you can unleash maths libraries on it. That said, this seemed more convenient than I had expected. I’ve been staying in python land because I’ve felt forced to. I’ll probably still stay in python land for this kind of stuff, but what you showed here at least indicate that the option is there.
    Mostly seem like the main difference is that I’d have to add a few “to_owned()” and “unwrap()” though, but the functional chaining was very nice.

    • @ChronicTHX
      @ChronicTHX Před rokem +2

      You can do both in rust. This is not Java.

    • @KirbyZhang
      @KirbyZhang Před rokem +1

      I thought he'd at least try to use a Rust REPL or at least explain how usable it is or isn't.

  • @NamasteProgramming
    @NamasteProgramming Před rokem +8

    No boilerplate is amazing for explaining rust to others

  • @y1ink
    @y1ink Před rokem +1

    ❤️ for giving the answer in 5 secs rather than riding out for 10 mins

  • @arjanmarku3895
    @arjanmarku3895 Před rokem +2

    I just love the sound of that keyboard. What model is that and what switches are you using?

    • @hnahapet
      @hnahapet Před rokem +1

      Yes please

    • @Don-ix2ok
      @Don-ix2ok Před rokem +1

      Sounds like brown tactile

    • @codetothemoon
      @codetothemoon  Před rokem +2

      Thanks! It's actually a Keebio Iris with Durock Shrimp Silent Tactile switches. Full disclosure - I struggled a bit typing during this video because I was still getting used to it 🙃 but it's a fantastic board.

  • @analisamelojete1966
    @analisamelojete1966 Před rokem +3

    Here because of No Boilerplate! Also, prepare for the amount of “Data Scientists” and “analysts” moving to rust 😂

    • @codetothemoon
      @codetothemoon  Před rokem

      Nice, really great to have you here!

    • @analisamelojete1966
      @analisamelojete1966 Před rokem

      @@codetothemoon Thank you!

    • @analisamelojete1966
      @analisamelojete1966 Před rokem

      @@codetothemoon Btw, Do you offer some online rust courses on platforms like Udemy? I’ve been trying to find a tutorial on how to build a simple CRUD Api with Warp, Mongo and Tokio.
      However Routing and how to keep a database connection has been complicated for me. Many tutorials out there are a clone of one another and have too much boilerplate.

  • @anishbhanushali
    @anishbhanushali Před rokem +19

    Until I see rust being used for CUDA or ROCm gpu natively as c++, I'll still be little skeptical about Rust's entry in ML domain. that being said, I would love to see more and more cpu intensive stuff ( looking at you dask !!) tobe ported in rust.

    • @codetothemoon
      @codetothemoon  Před rokem +5

      Yeah it seems like Rust GPU support is not great but is in the works, it will be interesting to see how things pan out

    • @katech6020
      @katech6020 Před rokem +3

      You may want to take a look at rust-gpu library, it is still early

    • @anishbhanushali
      @anishbhanushali Před rokem +1

      @@katech6020 thanks ... I'll take a look

    • @harleyspeedthrust4013
      @harleyspeedthrust4013 Před rokem +5

      I have been using it for CUDA, there's a family of crates ("cust", "rustc_codegen_nvvm", "cuda_builder", "nvvm") that allow you to write and execute CUDA kernels all in rust.

    • @Lord2225
      @Lord2225 Před rokem

      Rust have quite promising CUDA support. Overall cuda c/c++ is llvm based. Unfortunelty unofficial and not all features are avalible (like almost all librares are not ported, and even some basic instructions are still unsuported, but it is still quite an achivment cus C++ needs special compiler&syntax for it.

  • @CripplingDuality
    @CripplingDuality Před rokem +5

    I want it to be Elixir but it'd be nice to have some competition in this space generally

    • @codetothemoon
      @codetothemoon  Před rokem

      I hadn't heard of Elixir being a big contender in the DS space - do you think it's a good fit for that purpose?

    • @hidekxyz
      @hidekxyz Před rokem

      @@codetothemoon You don't see elixir in general in regard to this purpose, since elixir's main utility is for highly concurrent web applications, however, elixir's creator Jose Valim is working on a series of tools and libs for DS, you can search numerical elixir (or nx)

    • @CripplingDuality
      @CripplingDuality Před rokem +1

      @@hidekxyz I (and I think Jose too) would say Sean Moriarty is more the prime mover but yeah Nx is very promising, along with Livebook, Axon, and Explorer they represent a big push to try and compete in that space, though it's of course very early days.

    • @CripplingDuality
      @CripplingDuality Před rokem +1

      @@codetothemoon I think as a language it has potential, as it doesn't suffer from many of Python's limitations. But the ecosystem, and and I don't just mean the ubiquity of libraries for ML operations, but the capabilities of Nx, are still behind in some regards. It's nonetheless catching up quickly, so hopefully we will see a real race happening soon enough :)

  • @_hologram
    @_hologram Před rokem +1

    Could I ask what keyboard are you using? Sounds great, bold and quiet :)

    • @codetothemoon
      @codetothemoon  Před rokem

      I believe for this video I was using a Keebio Iris (keeb.io/collections/iris-split-ergonomic-keyboard/products/iris-keyboard-pre-built) with Durock Shrimp switches. Lately I've been using a Corne keyboard with Gateron Red Pros (which are a bit louder)

    • @_hologram
      @_hologram Před rokem

      Sorry, I realized later that you had already answered the same question, should have looked before in the comments. Thanks for answering

  • @holthuizenoemoet591
    @holthuizenoemoet591 Před rokem +3

    the reasons i still pref Python for data-science are the following: ease of readability, useful for non CS scholars, and the ease of prototyping.

  • @CaioMizerkowski
    @CaioMizerkowski Před rokem +3

    Can you talk about Polars? I love to use it in Python in my projects.

    • @codetothemoon
      @codetothemoon  Před rokem

      I've put it on the todo list, I'll give it a spin at some point!

  • @WearMySpankyPants
    @WearMySpankyPants Před rokem +3

    I love the discovery that pizza is worth 250 lines of rust code in happiness

    • @codetothemoon
      @codetothemoon  Před rokem

      Hah that's true! I feel so fortunate to not have to choose between one or the other...

  • @Thekingslayer-ig5se
    @Thekingslayer-ig5se Před 6 měsíci

    Sir your tutorial is just brilliant.
    One small doubt sir.
    I am a data analyst
    I am well versed in python. Like I am good in it.
    And I am interested in rust.
    Will there be any future demand for rust ? In data science ? Can u explain

  • @valdemarkjaer
    @valdemarkjaer Před rokem +1

    Julia has better chances to make a difference in DS. Julia and Rust together can be unbeatable.

    • @codetothemoon
      @codetothemoon  Před rokem +1

      Julia seems great from what I've seen. But now Mojo seems like it might become a serious contender....

  • @BatmanFailedSociety
    @BatmanFailedSociety Před rokem +1

    Yes!

  • @dev-rachid
    @dev-rachid Před 8 měsíci

    Great👍

  • @BatmanFailedSociety
    @BatmanFailedSociety Před rokem +2

    I really like short answer.

  • @anonymoustechiie
    @anonymoustechiie Před rokem +1

    Liked for the answer in beginning

  • @ivandashkevich3398
    @ivandashkevich3398 Před rokem +1

    Fun fact: on 0:37 there is green book to the left, which title translates from russian like "Troll tamer"
    Easter egg trolling

    • @codetothemoon
      @codetothemoon  Před rokem

      lol wow, I'd like to read that book (preferably an english translation)

  • @starlord0208
    @starlord0208 Před rokem +2

    What is the name of this wonderful color theme?

  • @juliansteden2980
    @juliansteden2980 Před rokem +3

    no mention of polars? ;)
    its a great DataFrame library and an alternative to pandas and available in rust as well as python! :D

    • @codetothemoon
      @codetothemoon  Před rokem +3

      To be honest I hadn't heard of it! I'll put it on my list of stuff to check out. What is it like to use Polar data frames with Rust ML crates?

    • @igormriegel
      @igormriegel Před rokem +1

      @@codetothemoon It is like working with pandas on Python

  • @harshkumarmoroliya5272

    Hey tikz is an unknown key, how to fix that? I tried installing tikz from kde 'ktikz' package in arch repo, but still doesn't work. :/

  • @robinmoussu
    @robinmoussu Před rokem +3

    Thanks for making me discover @NoBoilerplate!

    • @amjadiqbal478
      @amjadiqbal478 Před rokem +1

      It is really wonderfully stuffed on Rust.

    • @amjadiqbal478
      @amjadiqbal478 Před rokem +1

      NoBoilerplate; derived from the progammatic terms.

    • @codetothemoon
      @codetothemoon  Před rokem +1

      You're welcome, glad you're checking it out!

  • @akin242002
    @akin242002 Před rokem +1

    I dought it. With GCP & Azure being the biggest data engineering software providers, they tend to use different programming languages. C# and Python for Azure's data factory. Java, Kotlin, Go, and Python for GCP Dataflow. Google will always support their languages first (Kotlin & Go).

    • @codetothemoon
      @codetothemoon  Před rokem

      Maybe you're right - it'll be interesting to see how things play out

  • @nicklam3594
    @nicklam3594 Před rokem

    Sir please consider doing an introduction to ndarray and rust for numerics , cause it is realy beating my ass. eg Making a polynomial regression in rust.

  • @japrogramer
    @japrogramer Před rokem +2

    How did you set up the auto complete and can the same complete be done on vim?

    • @katech6020
      @katech6020 Před rokem +1

      you can use rust-analyser, treesitter and vim-lsp to get the complete rust IDE experience

    • @codetothemoon
      @codetothemoon  Před rokem

      This was VSCode so I just installed the rust-analyzer plugin. I use neovim normally which has a built-in LSP, I think for regular vim you need to use an LSP plugin

  • @dankotov1045
    @dankotov1045 Před 6 měsíci

    I understand its not reasonable to expect you answering all debugging realted questions, however just on the off chance you reply to this. For the life of me, I can not figure out how to transform custom datatypes to be used with linfa. For example - I have a Vec

  • @ehsankhorasani_
    @ehsankhorasani_ Před rokem +1

    the king of data science is Go!

  • @_drakz13
    @_drakz13 Před rokem +1

    Good video, the answer is just in first 3 seconds directly.

  • @Singlton
    @Singlton Před 4 měsíci

    What prelude mean?

  • @atanjacket
    @atanjacket Před rokem +1

    Lmao the immediate click bait turn around at the beginning is nice.

  •  Před rokem +1

    will these crates implement alphatensor's new faster matrix multiplication algos?

    •  Před rokem

      also there is a new number type called "posit", it would be great if you could showcase these new stuff

    • @codetothemoon
      @codetothemoon  Před rokem

      not sure!

    •  Před rokem

      @@codetothemoon would be cool tho

  • @victorpinasarnault7910
    @victorpinasarnault7910 Před rokem +12

    Python is still the preferable choice, but, with no doubt, Rust lang will play a important role in data science field in the near future.

    • @codetothemoon
      @codetothemoon  Před rokem +1

      I agree!

    • @jamespower5165
      @jamespower5165 Před rokem +3

      The main reason Python is so big is because it is easy to program and so more people program on it and so it has an enormous library of resources you can just import.
      Rust is fast and an attempt has been made to make it easier to code with. But it won't really be as welcoming to programmers and so will struggle to build a library of the same size. So for anything that's not really hard-core computer science, which just uses computer science, like data science, Python will be hard to beat

    • @itellyouforfree7238
      @itellyouforfree7238 Před rokem

      well no, actually Julia is the preferable choice

    • @thedatajanitor9537
      @thedatajanitor9537 Před rokem +1

      @@jamespower5165 They don't really understand James. Most of these are kids who don't work in the real-world. The gold standard in applied machine learning is Python and that's not going to change. I wouldn't try to convince people who really have no clue... like almost everyone on this channel.
      I'm not sure if the channel owner allows links to other channels but if he does.. hear you go. This is my answers.
      czcams.com/video/M9BYrHmqBd0/video.html

  • @miettoisdev
    @miettoisdev Před 4 měsíci

    how about a benchmark against same python implementations??

  • @Zimi485
    @Zimi485 Před rokem +2

    (Don't forget R)

    • @codetothemoon
      @codetothemoon  Před rokem +2

      I realize a lot of DS folks live in that world - I gave R a sincere try a few years ago but I personally didn't fully grasp what made it better than the more modern options like Python, Scala and now Rust. YMMV

    • @Zimi485
      @Zimi485 Před rokem

      @@codetothemoon Just startet by Studies as a DS Engineer and most of the time Python is used for "in production" environments as a glue language, sometimes c,c++,rust or golang for compute things but R is the shiny kid on the block with decades of experience and polishing of graphs and plots. R ist just made for fancy graphics at this point, but a lot of banks still have their ml models in R

  • @tarasst6887
    @tarasst6887 Před rokem +3

    R is a best Lang for DS!!

  • @johnychinese
    @johnychinese Před rokem +1

    Wait, for a second I thought I was watching No Boilerplate 😅

    • @codetothemoon
      @codetothemoon  Před rokem

      We're a little (ok, a lot) less refined here but we try to keep up with No Boilerplate!

  • @mmatongo
    @mmatongo Před rokem +1

    What is that vscode theme?

  • @Smurdy1
    @Smurdy1 Před měsícem +2

    Hear me out rust developers should join up to form an empire and overthrow python. Imagine how Blazing Fast 🚀 our daily life would be

    • @codetothemoon
      @codetothemoon  Před měsícem

      I actually really like python. just not for production apps...

  • @floriansalihovic3697
    @floriansalihovic3697 Před rokem +1

    Your keyboard sounds interesting.

    • @codetothemoon
      @codetothemoon  Před rokem +1

      thank you! if you like the sound of the keyboard you'll definitely like the newest video 😎

  • @TCMx3
    @TCMx3 Před rokem +66

    Rust may be increasing in its representation, but this is 15 years too early to even challenge Python. And it's not because Rust isn't a great language, or Python is so great. Most new DS are scial and hard scientists, not CS majors. Trust me, Ive tried, but getting DS to even trying a "difficult" compiled language is like pulling teeth. Doesn't even matter if it's actually hard.

    • @codetothemoon
      @codetothemoon  Před rokem +14

      Maybe you're right! There's definitely something to be said for Python's simplicity, which - like you said - is especially great for folks without a CS background

    • @AhmedIsam
      @AhmedIsam Před rokem +20

      @@codetothemoon @TCM
      I don't think Rust will ever get there. Use rust if you want a single binary that wraps everything. This is probably not what you want when you are constnantly experimenting with new ideas (which is what a scientist's life is all about, including data-scientist). That's why scripting languages are popular among them. They want the interactivity of the console.
      I can only imagine a niche application for Rust at production time, definitely not development time.

    • @someonespotatohmm9513
      @someonespotatohmm9513 Před rokem

      @@AhmedIsam automation is probaply that "niche". A lot of ppl who learned coding while doing and need performance.

    • @qx-jd9mh
      @qx-jd9mh Před rokem +14

      The long compile times of Rust make data science tasks inane. You want fast feedback loops. Just use Julia so you don't need to deal with the borrow checker.

    • @qx-jd9mh
      @qx-jd9mh Před rokem +2

      @@AhmedIsam lol if all you have is a hammer, everything looks like a nail? There are plenty of ways to deploy data science code without Rust

  • @spacelem
    @spacelem Před 8 měsíci

    Between R and Julia, I feel pretty covered for all my data science needs. Seeing data science done in a non-REPL language doesn't make me want to try it.

  • @txkyle2013
    @txkyle2013 Před rokem +2

    This font is nice, whatever it is

  • @LowestofheDead
    @LowestofheDead Před rokem +2

    Rust is effective when you know exactly what to do, and need to do it as efficiently as possible.
    In Data Science you don't even know what you're doing, so you need prototyping - which is the main thing that Python is good at.

  • @gamcd
    @gamcd Před rokem +1

    What font are you using?

    • @codetothemoon
      @codetothemoon  Před rokem

      I believe it is Menlo

    • @gamcd
      @gamcd Před rokem +1

      @@codetothemoon thanks very much also keep up the good work w the vids

    • @codetothemoon
      @codetothemoon  Před rokem

      @@gamcd thanks will do!

  • @Naruto-oc6mi
    @Naruto-oc6mi Před 5 měsíci

    i think python for scientist computing is the best than rust, because the syntax is just beautiful, no complex rule, so you can focus on the algorithm you are building, and for the performance most of heavy task in python is written is c++ code (mostly), c, and cuda, for example the most popular machine learning framework in python: tensorflow and pytorch are written in c++ and cuda (for gpu programming), python is just binding with them (as the user interface for easy to use) and other library like numpy the core is written in c, and opencv the core is written in c++. well maybe there are still little time consumed when connecting the python frontend to the c++/c backend. when the model is build, it can be build to various format, eg : special format that can be used to reedited the architecture, final format aka binary code like .tflite and .onnx

  • @frazuppi4897
    @frazuppi4897 Před rokem +2

    python is the king of DS cuz (most) DS people don't know how to code so they copy & paste stuff and create spaghetti code
    I am a ML engineer with strong SE background
    Love the content

  • @danielfm123
    @danielfm123 Před rokem +1

    but no interactive console :(

    • @codetothemoon
      @codetothemoon  Před rokem

      There actually is one! Also I believe you can use Rust in Jupyter notebooks.

  • @sandworm9528
    @sandworm9528 Před rokem +1

    Fuck! 2 seconds in, you got me

  • @oykunj3630
    @oykunj3630 Před rokem +1

    Iz the gud vids, friend can u us the make vid for rust ml app? U know make full fir students have no money yas,

    • @codetothemoon
      @codetothemoon  Před rokem

      That's kind of what this one is! I have two other vids that you might be interested in - "Rust Artificial Intelligence" and "Rust OpenAI Integration"

  • @aoimiyamori9517
    @aoimiyamori9517 Před rokem

    Why do you have to to_owned the features and labels? Shouldn't it work by reference? Even Python (with numpy) doesn't require you to copy the data when running a scikit-learn model on it.

  • @kleinesfilmroellchen
    @kleinesfilmroellchen Před rokem +2

    I have never seen anyone pronounce "LAY-tek" or "TICK-z" so strangely

    • @codetothemoon
      @codetothemoon  Před rokem

      Hah sorry about that, I'm new to both. I thought I did my due diligence with Latex and gathered that there are multiple ways to pronounce it and the one I chose was one of the "acceptable" ways. Tikz is a different story - I'd recently talked about something completely unrelated called TiKV for which the "Ti" is pronounced "Tie" - so yeah I probably butchered it

    • @ApostropheErEpiphany
      @ApostropheErEpiphany Před rokem +1

      @@codetothemoon I refer to your channel (and no boilerplate) often, but… to my pedantic, ADHD+OCD brain, repeatedly hearing ‘x’ pronounced ‘k’ was worse than fingernails on a chalkboard. 😵‍💫
      I’m not trying to be a d*ck, but I couldn’t focus on anything else in the video.
      Anyway, I’m interested in Rust/DS so I’m gonna take my ADD meds, meditate, light a candle, vape some CBD, and try again! 🧘‍♂️
      (P.S. still subscribed 👍)

    • @nostrorom
      @nostrorom Před rokem

      @@ApostropheErEpiphany he's right on that point though. I can't vouch for 'ah' vs 'ay', but in the LaTeX world (academia, math, physics etc..) the "x" is actually pronounced "k" as the greek letter "khi".
      tex => tech

  • @marioschmidt1251
    @marioschmidt1251 Před rokem +6

    You know you are a programmer when you need to train a machine learning model to know whether you are happy.

  • @rmvlvs5228
    @rmvlvs5228 Před 10 měsíci +1

    A Monokai user like me :)

  • @yash1152
    @yash1152 Před rokem

    0:53 will watch later

  • @evalinor
    @evalinor Před rokem +1

    we all know why ds use python, its all about simple syntax and ofc additional library(tensor, keras, etc..).
    For regular python enjoyer hard to switch to rust

  • @sazk4000
    @sazk4000 Před rokem +3

    Python uses underlying C++ libs for the computational part. That is where Rust can be used..but it won't be replacing Python itself at the higher level.

    • @codetothemoon
      @codetothemoon  Před rokem +1

      I doubt Rust will replace Python for things like manual "offline" data exploration, but Rust definitely has some advantages over Python especially in situations where the DS/ML code is part of a business critical customer-facing product where failures would be very costly

  • @31redorange08
    @31redorange08 Před rokem +1

    The result is underwhelming. Why is there no "Ok" outcome in the left branch?

    • @codetothemoon
      @codetothemoon  Před rokem

      Sorry to disappoint! What do you think could have made it better? I think there was no "Ok" in the left branch because there was no (or not enough) data points leading to "Ok" results in cases where the left branch is taken.

  • @NA-di3yy
    @NA-di3yy Před rokem +1

    "Сон Бодлера" и "Эффект Люцифера", понятно

    • @codetothemoon
      @codetothemoon  Před rokem

      what does that mean?

    • @NA-di3yy
      @NA-di3yy Před rokem

      @@codetothemoon you tell me, that's not my book shelf @ 0:37 =) those two titles sound most intriguing to me personally

    • @codetothemoon
      @codetothemoon  Před rokem

      @@NA-di3yy oh, that is stock footage, not my bookshelf hah. Mine is significantly less interesting

  • @spirit_x64
    @spirit_x64 Před 9 měsíci +2

    Julia exists...

  • @varshard0
    @varshard0 Před 6 měsíci

    So crates are
    linfra
    linfra-trees

  • @geoffrygeorgemathew3505
    @geoffrygeorgemathew3505 Před rokem +1

    * historical data ? 🤔 0:33

    • @codetothemoon
      @codetothemoon  Před rokem

      I see what you're saying - what I meant is that in the future you will have new data points that you need to perform inferences on. The way I worded it probably wasn't the best 🙃

  • @igordemetriusalencar5861

    I think Julia programming language will be the default Data science language in the 5-10 years ahead.

    • @techpriest4787
      @techpriest4787 Před rokem +2

      I think nobody is going to write any code in the future. AI will. Just like artists will use text-to-image/3D. Programmers will be using text-to-source if non-neuromorphic runtimes are needed.

    • @lopyus
      @lopyus Před rokem +3

      After I trying Julia, I do all my DS projects using it. I like their autodiff and DataFrame library, such a relief from pytorch and pandas 😄

    • @MDminddump
      @MDminddump Před rokem +1

      lookss good ! will try it !

    • @codetothemoon
      @codetothemoon  Před rokem +1

      Been meaning to check out Julia, I've moved it much higher on my todo list after all the great things folks are saying about it here...

    • @techpriest4787
      @techpriest4787 Před rokem

      Why is that though? The only thing I know about Julia is that it is more math driven.

  • @sammflynn6751
    @sammflynn6751 Před rokem +1

    sorry to be blunt but what why?

    • @codetothemoon
      @codetothemoon  Před rokem

      no need to apologize, it's a great question! Some possible reasons are (1) the need for DS/ML in an existing project that is already written in Rust, and there is a desire for language isomorphism, (2) you'd like to learn Rust and are passionate about DS/ML, (3) your DS code is running in production and you'd like the extra safeguards that Rust provides

  • @Cathexis256
    @Cathexis256 Před rokem +1

    could have stopped the video at 2 seconds in to get the answer lol

    • @codetothemoon
      @codetothemoon  Před rokem

      Many folks probably did just that! And that's perfectly fine 😎

  • @jorge1869
    @jorge1869 Před rokem +1

    Rust is the king in data science and I'm Leonardo Di Caprio.

  • @jamespeterson7979
    @jamespeterson7979 Před rokem +1

    hu? AndyArray? ^^

  • @MudroZvon
    @MudroZvon Před rokem +1

    Rust is the King 👑 in Blockchain development

    • @codetothemoon
      @codetothemoon  Před rokem

      Yeah it seems to have some traction there, which makes sense the way it forces error handling...

  • @Cm0nd00d
    @Cm0nd00d Před rokem +1

    what happened to petting cats?

    • @codetothemoon
      @codetothemoon  Před rokem +1

      The algorithm deemed it not heavily correlated enough with happiness to include it in the model!

    • @Cm0nd00d
      @Cm0nd00d Před rokem

      oh interesting! thanks for following up!

  • @apstl7106
    @apstl7106 Před rokem +3

    its not fast to write, when i need speed i use julia

    • @itellyouforfree7238
      @itellyouforfree7238 Před rokem +1

      sure, like waiting a couple minutes every time you restart the kernel and execute `using Plots; using DifferentialEquations`...

    • @codetothemoon
      @codetothemoon  Před rokem

      Nice, I'm excited to take Julia for a spin

  • @Indonesia_Emas_
    @Indonesia_Emas_ Před 5 měsíci +1

    if its easy to use then yes

    • @codetothemoon
      @codetothemoon  Před 5 měsíci

      not sure if we're there quite yet!

    • @Indonesia_Emas_
      @Indonesia_Emas_ Před 5 měsíci

      @@codetothemoon yeah, I really want the east of use of rust in Machine Learning so we can train model faster and memori efficient and will have model that coded in pure rust so it will have better performance than model that coded in python. because I just have limited resource device that make it very slow when training model, i used google collab free gpu it still training slowly, so i really hope an efficient programming language implementation that fast dan efficient in memory like rust but also easy to use 😭😭😭😭😭

  • @motbus3
    @motbus3 Před rokem +1

    Bare necessities

  • @flogginga_dead_horse4022

    Python seems like a slow language for this kind of stuff..

    • @codetothemoon
      @codetothemoon  Před rokem +2

      In the Python world, typically the performance critical logic is handed off to C/C++ and CUDA/GPU implementations under the hood. That's not to say Python wouldn't be a bottleneck in some scenarios - and for those Rust may be compelling (in addition to being so for its non performance related benefits)

    • @mike-barber
      @mike-barber Před rokem

      Python's really good for the messing around data-science exploration stuff, and it's probably going to remain popular there. For me, where Rust will be really useful is on the inference side of things, particularly if you have a production service that's serving a lot of traffic. Having said that, I'm pleasantly surprised at how ergonomic linfa is; they've done a good job with it, clearly.

  • @amjadiqbal478
    @amjadiqbal478 Před rokem +3

    Rust is not; but going to be the King🐯🙏🇵🇰

    • @NamasteProgramming
      @NamasteProgramming Před rokem +3

      At least we can agree on something 🇮🇳

    • @amjadiqbal478
      @amjadiqbal478 Před rokem +1

      Thanks dear for your respect and love 🙏
      And nice having your comments and agreement.
      But we also agree on countless other things. I love and like India and Indian people. They are very nice.
      The Indian culture is deep rooted and wonderful. Vedic knowledge is really superb. The Rishi's/ munni's / sanyasi's were all great teachers, that was once the grandeur of this region. Alas, we lost such great gurus of antiquity and no one left in inheritence.
      Difference is only that of superficial or deep study and thereupon practice
      Why should we hate each other or anybody? I find no reason. Thanks

    • @codetothemoon
      @codetothemoon  Před rokem +1

      And perhaps also a peacemaker between nations! ❤️