Is Rust the New King of Data Science?

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 พ.ย. 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
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 369

  • @NoBoilerplate
    @NoBoilerplate ปีที่แล้ว +698

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

    • @amjadiqbal478
      @amjadiqbal478 ปีที่แล้ว +14

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +46

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

    • @NoBoilerplate
      @NoBoilerplate ปีที่แล้ว +19

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

    • @NoBoilerplate
      @NoBoilerplate ปีที่แล้ว +14

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

    • @amjadiqbal478
      @amjadiqbal478 ปีที่แล้ว +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 ปีที่แล้ว +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  ปีที่แล้ว +10

      Thanks, glad you liked it! 😎

    • @justin3594
      @justin3594 ปีที่แล้ว +3

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

    • @kennethbeal
      @kennethbeal ปีที่แล้ว +3

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

    • @justin3594
      @justin3594 ปีที่แล้ว +3

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

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj ปีที่แล้ว +1

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

  • @wtcxdm
    @wtcxdm ปีที่แล้ว +94

    I started my rust learning because of No Boilerplate!

    • @ahmadolukotun3884
      @ahmadolukotun3884 ปีที่แล้ว +5

      Me too...got me hooked

    • @adrianlazar1454
      @adrianlazar1454 ปีที่แล้ว +3

      same

    • @mpogrzebski
      @mpogrzebski ปีที่แล้ว +3

      Haha same

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +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 ปีที่แล้ว +1

      Same here :D

  • @omaredumx
    @omaredumx ปีที่แล้ว +21

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +9

      haha thanks, I like to cut to the chase 😎

  • @dhananjaysingh4945
    @dhananjaysingh4945 ปีที่แล้ว +7

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +1

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

    • @dhananjaysingh4945
      @dhananjaysingh4945 ปีที่แล้ว

      @@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😍

  • @robmulla
    @robmulla ปีที่แล้ว +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  ปีที่แล้ว +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 ปีที่แล้ว +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: th-cam.com/video/_KKfOuOijJY/w-d-xo.html

  • @Rabixter
    @Rabixter 3 หลายเดือนก่อน +1

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

  • @rodolfoblasser3329
    @rodolfoblasser3329 ปีที่แล้ว +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.

  • @Dominik-K
    @Dominik-K ปีที่แล้ว +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  ปีที่แล้ว +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 ปีที่แล้ว +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 ปีที่แล้ว +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 8 หลายเดือนก่อน

      @@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

  • @victorpinasarnault7910
    @victorpinasarnault7910 ปีที่แล้ว +2

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

  • @jeffg4686
    @jeffg4686 ปีที่แล้ว +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 ปีที่แล้ว +4

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

  • @kodee2
    @kodee2 ปีที่แล้ว +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  ปีที่แล้ว +2

      Thanks @kdodee2! I am excited as well!

    • @LtdJorge
      @LtdJorge ปีที่แล้ว +5

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

  • @igormriegel
    @igormriegel ปีที่แล้ว +7

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +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 ปีที่แล้ว +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 24 วันที่ผ่านมา

      That was the only part I was missing.

  • @stanrock8015
    @stanrock8015 8 หลายเดือนก่อน +2

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

    • @codetothemoon
      @codetothemoon  8 หลายเดือนก่อน

      I agree he is fantastic!

  • @flogginga_dead_horse4022
    @flogginga_dead_horse4022 ปีที่แล้ว +2

    Thanks for the no boilerplate link too.

  • @noabstruction
    @noabstruction ปีที่แล้ว +1

    I just loved the fast 20s of this video

  • @ARS-fi5dp
    @ARS-fi5dp ปีที่แล้ว +1

    Thank you for the Useful contents

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +1

      Thanks for watching, glad to have you here!

  • @ibrahim.3999
    @ibrahim.3999 ปีที่แล้ว +3

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      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 ปีที่แล้ว

      @@codetothemoon going to be my favourite too 😀

  • @IanRiley915
    @IanRiley915 ปีที่แล้ว +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 ปีที่แล้ว +3

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      I hadn't considered this!

    • @astronemir
      @astronemir ปีที่แล้ว

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

  • @user-tk1re2hd2y
    @user-tk1re2hd2y ปีที่แล้ว +1

    Thanks for the short answer at the beginning 👍

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      Of course, thanks for watching!

  • @mageprometheus
    @mageprometheus ปีที่แล้ว +2

    Thanks. This looks great.

  • @AllOfMyWat
    @AllOfMyWat ปีที่แล้ว +1

    two of my favorite rust folks!

  • @hershreddy9154
    @hershreddy9154 ปีที่แล้ว +2

    What a great intro!

  • @vectoralphaAI
    @vectoralphaAI ปีที่แล้ว +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  ปีที่แล้ว +3

      I'm hoping for this as well!

    • @jeremykothe2847
      @jeremykothe2847 ปีที่แล้ว +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 ปีที่แล้ว +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 3 หลายเดือนก่อน

      ​@@jeremykothe2847 R sucks in Performance 😢

    • @jeremykothe2847
      @jeremykothe2847 3 หลายเดือนก่อน +1

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

  • @HyperFocusMarshmallow
    @HyperFocusMarshmallow ปีที่แล้ว +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 ปีที่แล้ว +2

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

    • @KirbyZhang
      @KirbyZhang ปีที่แล้ว +1

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

  • @arjanmarku3895
    @arjanmarku3895 ปีที่แล้ว +2

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

    • @hnahapet
      @hnahapet ปีที่แล้ว +1

      Yes please

    • @Don-ix2ok
      @Don-ix2ok ปีที่แล้ว +1

      Sounds like brown tactile

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +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.

  • @NamasteProgramming
    @NamasteProgramming ปีที่แล้ว +8

    No boilerplate is amazing for explaining rust to others

  • @dinophage
    @dinophage ปีที่แล้ว +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  ปีที่แล้ว +1

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

  • @CaioMizerkowski
    @CaioMizerkowski ปีที่แล้ว +3

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

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

  • @y1ink
    @y1ink ปีที่แล้ว +1

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

  • @_hologram
    @_hologram ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      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 ปีที่แล้ว

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

  • @holthuizenoemoet591
    @holthuizenoemoet591 ปีที่แล้ว +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.

  • @CripplingDuality
    @CripplingDuality ปีที่แล้ว +5

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      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 ปีที่แล้ว

      @@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 ปีที่แล้ว +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 ปีที่แล้ว +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 :)

  • @SolaireML
    @SolaireML ปีที่แล้ว +1

    great job

  • @harshkumarmoroliya5272
    @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. :/

  • @anishbhanushali
    @anishbhanushali ปีที่แล้ว +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  ปีที่แล้ว +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 ปีที่แล้ว +3

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

    • @anishbhanushali
      @anishbhanushali ปีที่แล้ว +1

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

    • @harleyspeedthrust4013
      @harleyspeedthrust4013 ปีที่แล้ว +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 ปีที่แล้ว

      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.

  • @robinmoussu
    @robinmoussu ปีที่แล้ว +3

    Thanks for making me discover @NoBoilerplate!

    • @amjadiqbal478
      @amjadiqbal478 ปีที่แล้ว +1

      It is really wonderfully stuffed on Rust.

    • @amjadiqbal478
      @amjadiqbal478 ปีที่แล้ว +1

      NoBoilerplate; derived from the progammatic terms.

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +1

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

  • @TCMx3
    @TCMx3 ปีที่แล้ว +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  ปีที่แล้ว +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 ปีที่แล้ว +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 ปีที่แล้ว

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

    • @qx-jd9mh
      @qx-jd9mh ปีที่แล้ว +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 ปีที่แล้ว +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

  • @japrogramer
    @japrogramer ปีที่แล้ว +2

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

    • @katech6020
      @katech6020 ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      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

  • @BatmanFailedSociety
    @BatmanFailedSociety ปีที่แล้ว +2

    I really like short answer.

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      Nice, I like to get to the point quickly!

  •  ปีที่แล้ว +1

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

    •  ปีที่แล้ว

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      not sure!

    •  ปีที่แล้ว

      @@codetothemoon would be cool tho

  • @anonymoustechiie
    @anonymoustechiie ปีที่แล้ว +1

    Liked for the answer in beginning

  • @starlord0208
    @starlord0208 ปีที่แล้ว +2

    What is the name of this wonderful color theme?

  • @analisamelojete1966
    @analisamelojete1966 ปีที่แล้ว +3

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      Nice, really great to have you here!

    • @analisamelojete1966
      @analisamelojete1966 ปีที่แล้ว

      @@codetothemoon Thank you!

    • @analisamelojete1966
      @analisamelojete1966 ปีที่แล้ว

      @@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.

  • @Singlton
    @Singlton 3 หลายเดือนก่อน

    What prelude mean?

  • @valdemarkjaer
    @valdemarkjaer ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +1

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

  • @akin242002
    @akin242002 ปีที่แล้ว +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  ปีที่แล้ว

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

  • @victorpinasarnault7910
    @victorpinasarnault7910 ปีที่แล้ว +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  ปีที่แล้ว +1

      I agree!

    • @jamespower5165
      @jamespower5165 ปีที่แล้ว +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 ปีที่แล้ว

      well no, actually Julia is the preferable choice

    • @thedatajanitor9537
      @thedatajanitor9537 ปีที่แล้ว +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.
      th-cam.com/video/M9BYrHmqBd0/w-d-xo.html

  • @dankotov1045
    @dankotov1045 4 หลายเดือนก่อน

    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

  • @juliansteden2980
    @juliansteden2980 ปีที่แล้ว +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  ปีที่แล้ว +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 ปีที่แล้ว +1

      @@codetothemoon It is like working with pandas on Python

  • @markolsson2740
    @markolsson2740 ปีที่แล้ว +1

    Yes!

  • @ivandashkevich3398
    @ivandashkevich3398 ปีที่แล้ว +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  ปีที่แล้ว

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

  • @miettoisdev
    @miettoisdev 3 หลายเดือนก่อน

    how about a benchmark against same python implementations??

  • @nicklam3594
    @nicklam3594 ปีที่แล้ว

    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.

  • @Thekingslayer-ig5se
    @Thekingslayer-ig5se 5 หลายเดือนก่อน

    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

  • @WearMySpankyPants
    @WearMySpankyPants ปีที่แล้ว +3

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

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

  • @_drakz13
    @_drakz13 11 หลายเดือนก่อน +1

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

    • @codetothemoon
      @codetothemoon  11 หลายเดือนก่อน

      thanks, I like to get to the point!

  • @mmatongo
    @mmatongo ปีที่แล้ว +1

    What is that vscode theme?

  • @ehsankhorasani_
    @ehsankhorasani_ ปีที่แล้ว +1

    the king of data science is Go!

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      interesting, i haven't tried using Go for it!

  • @tarasst6887
    @tarasst6887 ปีที่แล้ว +3

    R is a best Lang for DS!!

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +1

      Seems like R still has a strong community!

    • @tarasst6887
      @tarasst6887 ปีที่แล้ว

      @@codetothemoon still???? Ahhaha

  • @dev-rachid
    @dev-rachid 7 หลายเดือนก่อน

    Great👍

  • @txkyle2013
    @txkyle2013 ปีที่แล้ว +2

    This font is nice, whatever it is

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      Thanks, I believe it is Menlo!

  • @danielfm123
    @danielfm123 ปีที่แล้ว +1

    but no interactive console :(

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

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

  • @Zimi485
    @Zimi485 ปีที่แล้ว +2

    (Don't forget R)

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +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 ปีที่แล้ว

      @@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

  • @floriansalihovic3697
    @floriansalihovic3697 ปีที่แล้ว +1

    Your keyboard sounds interesting.

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +1

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

  • @atanjacket
    @atanjacket ปีที่แล้ว +1

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

  • @gamcd
    @gamcd ปีที่แล้ว +1

    What font are you using?

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      I believe it is Menlo

    • @gamcd
      @gamcd ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      @@gamcd thanks will do!

  • @spacelem
    @spacelem 7 หลายเดือนก่อน

    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.

  • @LowestofheDead
    @LowestofheDead ปีที่แล้ว +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.

  • @johnychinese
    @johnychinese ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

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

  • @Naruto-oc6mi
    @Naruto-oc6mi 3 หลายเดือนก่อน

    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

  • @Smurdy1
    @Smurdy1 16 วันที่ผ่านมา +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  2 วันที่ผ่านมา

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

  • @frazuppi4897
    @frazuppi4897 ปีที่แล้ว +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

  • @aoimiyamori9517
    @aoimiyamori9517 ปีที่แล้ว

    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.

  • @marioschmidt1251
    @marioschmidt1251 ปีที่แล้ว +6

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

  • @oykunj3630
    @oykunj3630 ปีที่แล้ว +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  ปีที่แล้ว

      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"

  • @evalinor
    @evalinor ปีที่แล้ว +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

  • @yash1152
    @yash1152 ปีที่แล้ว

    0:53 will watch later

  • @rmvlvs5228
    @rmvlvs5228 9 หลายเดือนก่อน +1

    A Monokai user like me :)

    • @codetothemoon
      @codetothemoon  9 หลายเดือนก่อน +1

      yep Monokai ftw!

  • @31redorange08
    @31redorange08 ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      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.

  • @sazk4000
    @sazk4000 ปีที่แล้ว +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  ปีที่แล้ว +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

  • @sandworm9528
    @sandworm9528 ปีที่แล้ว +1

    Fuck! 2 seconds in, you got me

  • @spirit_x64
    @spirit_x64 7 หลายเดือนก่อน +2

    Julia exists...

    • @codetothemoon
      @codetothemoon  7 หลายเดือนก่อน +1

      it does indeed! 🙃

  • @kleinesfilmroellchen
    @kleinesfilmroellchen ปีที่แล้ว +2

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      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 ปีที่แล้ว +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 ปีที่แล้ว

      @@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

  • @sammflynn6751
    @sammflynn6751 ปีที่แล้ว +1

    sorry to be blunt but what why?

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      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

  • @geoffrygeorgemathew3505
    @geoffrygeorgemathew3505 ปีที่แล้ว +1

    * historical data ? 🤔 0:33

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      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
    @igordemetriusalencar5861 ปีที่แล้ว +4

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

    • @techpriest4787
      @techpriest4787 ปีที่แล้ว +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 ปีที่แล้ว +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 ปีที่แล้ว +1

      lookss good ! will try it !

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +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 ปีที่แล้ว

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

  • @NA-di3yy
    @NA-di3yy ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      what does that mean?

    • @NA-di3yy
      @NA-di3yy ปีที่แล้ว

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

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

  • @apstl7106
    @apstl7106 ปีที่แล้ว +3

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

    • @itellyouforfree7238
      @itellyouforfree7238 ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

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

  • @Cathexis256
    @Cathexis256 ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

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

  • @varshard0
    @varshard0 5 หลายเดือนก่อน

    So crates are
    linfra
    linfra-trees

  • @Cm0nd00d
    @Cm0nd00d ปีที่แล้ว +1

    what happened to petting cats?

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +1

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

    • @Cm0nd00d
      @Cm0nd00d ปีที่แล้ว

      oh interesting! thanks for following up!

  • @Indonesia_Emas_
    @Indonesia_Emas_ 4 หลายเดือนก่อน +1

    if its easy to use then yes

    • @codetothemoon
      @codetothemoon  4 หลายเดือนก่อน

      not sure if we're there quite yet!

    • @Indonesia_Emas_
      @Indonesia_Emas_ 4 หลายเดือนก่อน

      @@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 😭😭😭😭😭

  • @MudroZvon
    @MudroZvon ปีที่แล้ว +1

    Rust is the King 👑 in Blockchain development

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

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

  • @jorge1869
    @jorge1869 ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว

      Which makes you the king of the world!! 👑

  • @jamespeterson7979
    @jamespeterson7979 ปีที่แล้ว +1

    hu? AndyArray? ^^

  • @motbus3
    @motbus3 ปีที่แล้ว +1

    Bare necessities

  • @flogginga_dead_horse4022
    @flogginga_dead_horse4022 ปีที่แล้ว +1

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

    • @codetothemoon
      @codetothemoon  ปีที่แล้ว +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 ปีที่แล้ว

      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 ปีที่แล้ว +3

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

    • @NamasteProgramming
      @NamasteProgramming ปีที่แล้ว +3

      At least we can agree on something 🇮🇳

    • @amjadiqbal478
      @amjadiqbal478 ปีที่แล้ว +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  ปีที่แล้ว +1

      And perhaps also a peacemaker between nations! ❤️