pytudes
mljar-supervised
Our great sponsors
pytudes | mljar-supervised | |
---|---|---|
98 | 51 | |
22,274 | 2,912 | |
- | 1.1% | |
7.7 | 8.7 | |
14 days ago | 20 days ago | |
Jupyter Notebook | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pytudes
- SQL for Data Scientists in 100 Queries
-
Ask HN: Where do I find good code to read?
Peter Norvig's Pytudes was recently posted here. I think that's some of the best code I've read, although they're only small problems and not a bigger project. Still very much worth a read, he goes through the whole problem solving through code process.
-
Pytudes
I have the same impression. Reading the code, he uses global variables [1], obscure variable (k, bw, fw, x) and module names ("pal.py" instead of "palindromes.py"), doesn’t respect conventions about naming in general (uppercase arguments [2], which even the GitHub syntax highlighter is confused about). This feels like code you write for yourself to play with Python and don’t plan to read later.
Some parts of the code feel like what I would expect from a junior dev who started learning the language a couple weeks ago.
[1]: https://github.com/norvig/pytudes/blob/952675ffc70f3632e70a7...
[2]: https://github.com/norvig/pytudes/blob/952675ffc70f3632e70a7...
Kinda hard to answer as that depends on your definition of new. But most likely yes, https://github.com/norvig/pytudes/commits/main
-
Using Prolog in Windows NT Network Configuration (1996)
Prolog is excellent for bikeshedding, in fact that might be its strongest axis. It starts with everything you get in a normal language such as naming things, indentation, functional purity vs side effects, where to break code into different files and builds on that with having your names try to make sense in declarative, relational, logical and imperative contexts, having your predicates (functions) usable in all modes - and then performant in all modes - having your code be deterministic, and then deterministic in all modes. Being 50 years old there are five decades of learning "idiomatic Prolog" ideas to choose from, and five decades of footguns pointing at your two feet; it has tabling, label(l)ing, SLD and SLG resolution to choose from. Built in constraint solvers are excellent at tempting you into thinking your problem will be well solved by the constraint solvers (it won't be, you idiot, why did you think that was a constraint problem?), two different kinds of arithmetic - one which works but is bad and one which mostly works on integers but clashes with the Prolog solver - and enough metaprogramming that you can build castles in the sky which are very hard to debug instead of real castles. But wait, there's more! Declarative context grammars let you add the fun of left-recursive parsing problems to all your tasks, while attributed variables allow the Prolog engine to break your code behind the scenes in new and interesting ways, plenty of special syntax not to be sneezed at (-->; [_|[]] {}\[]>>() \X^+() =.. #<==> atchoo (bless you)), a delightful deep-rooted schism between text as linked lists of character codes or text as linked lists of character atoms, and always the ISO-Standard-Sword of Damocles hanging over your head as you look at the vast array of slightly-incompatible implementations with no widely accepted CPython-like-dominant-default.
Somewhere hiding in there is a language with enough flexibility and metaprogramming to let your meat brain stretch as far as you want, enough cyborg attachments to augment you beyond plain human, enough spells and rituals to conjour tentacled seamonsters with excellent logic ability from the cold Atlantic deeps to intimidate your problem into submission.
Which you, dear programmer, can learn to wield up to the advanced level of a toddler in a machine shop in a mere couple of handfuls of long years! Expertise may take a few lifetimes longer - in the meantime have you noticed your code isn't pure, doesn't work in all modes, isn't performant in several modes, isn't using the preferred idiom style, is non-deterministic, can't be used to generate as well as test, falls into a left-recursive endless search after the first result, isn't compatible with other Prolog Systems, and your predicates are poorly named and you use the builtin database which is temptingly convenient but absolutely verboten? Plenty for you to be getting on with, back to the drawing boar...bikeshed with you.
And, cut! No, don't cut; OK, green cuts but not red cuts and I hope you aren't colourblind. Next up, coroutines, freeze, PEngines, and the second 90%.
Visit https://www.metalevel.at/prolog and marvel as a master deftly disecting problems, in the same way you marvel at Peter Norvig's Pytudes https://github.com/norvig/pytudes , and sob as the wonders turn to clay in your ordinary hands. Luckily it has a squeaky little brute force searcher, dutifully headbutting every wall as it explores all the corners of your problem on its eventual way to an answer, which you can always rely on. And with that it's almost like any other high level mostly-interpreted dynamic programming / scripting language.
-
Git and Jupyter Notebooks Guide
I think it depends a lot on what your git repository is.
If it's specifically source code for anything that's intended to run, then avoiding including the outputs is a smart move. But then, if that's the case, there's a good chance you'd just be committing a .py file.
I like notebooks because they include output alongisde input. For example, Peter Norvig's Pytudes are all brilliant, quick notebooks that solve a particular puzzle[0]. The code itself might not be that interesting to run (unless you really want to confirm his strategy for wordle checks out) but reading through the notebooks makes for a great experience of simultaneously understanding his thought process, and seeing the solution.
I do a bunch of generative art stuff and have recently been experimenting with using notebooks as quick sketches[1]. I really like the workflow and end up with something like a journal that isn't necessarily intended to be ran repeatedly, but read over, where I can see the visual output created, as well as the method for it.
[0] Norvig's extremely cool pytudes, wordle example: https://github.com/norvig/pytudes/blob/main/ipynb/Wordle.ipy...
- Ask HN: What are some of the most elegant codebases in your favorite language?
-
The Law of Large Numbers, or Why It Is a Bad Idea to Go to the Casino
I love how lightweight and interactive this is.
Related: Norvig's runnable intro probability notebooks at https://github.com/norvig/pytudes#pytudes-index-of-jupyter-i...
mljar-supervised
-
Show HN: Web App with GUI for AutoML on Tabular Data
Web App is using two open-source packages that I've created:
- MLJAR AutoML - Python package for AutoML on tabular data https://github.com/mljar/mljar-supervised
- Mercury - framework for converting Jupyter Notebooks into Web App https://github.com/mljar/mercury
You can run Web App locally. What is more, you can adjust notebook's code for your needs. For example, you can set different validation strategies or evalutaion metrics or longer training times. The notebooks in the repo are good starting point for you to develop more advanced apps.
-
Fairness in machine learning
It's an Automated Machine Learning python package. It's open-source, you can see how it works on GitHub: https://github.com/mljar/mljar-supervised
-
[P] Build data web apps in Jupyter Notebook with Python only
Sure, at the bottom of our website you can subscribe for newsletter.
- Show HN: AutoML Python Package for Tabular Data with Automatic Documentation
-
library / framework to test multiple sklearn regression models at once
If you need a simple and fast solution, go with auto-sklearn Maybe a bit more complex, but very powerful was mljar-supervised
-
Learning Python tricks by reading other people's code. But who?
MLJAR AutoML is a Python package for Automated Machine Learning on tabular data with feature engineering, explanations, and automatic documentation.
-
'start with a simple model'
I recommend trying my AutoML package. You can easily check many different algorithms. Waht is more, the baseline algorithms are checked (major class predictor for classification and mean predictor for regression). The advance of AutoML is that it is really quick. You dont need to write preprocessing code, just call fit method.
-
I'm Looking to Help Contribute, I am very confident with my skills
Automated Machine Learning (AutoML) Python package https://github.com/mljar/mljar-supervised You can check list of open issues. Or I can recommend some just tell me your preferences (Im the main contributor)
-
[D] Bring your own data AI SaaS service for non-programmers?
Instead, we started to work on desktop application that will allow to create python notebooks with no-code GUI (https://github.com/mljar/studio some screenshots on our website ).
What are some alternatives?
optuna - A hyperparameter optimization framework
autokeras - AutoML library for deep learning
LightGBM - A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
asgi-correlation-id - Request ID propagation for ASGI apps
AutoViz - Automatically Visualize any dataset, any size with a single line of code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.
PySR - High-Performance Symbolic Regression in Python and Julia
mljar-examples - Examples how MLJAR can be used
Auto_ViML - Automatically Build Multiple ML Models with a Single Line of Code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.
clerk - ⚡️ Moldable Live Programming for Clojure
nbmake - 📝 Pytest plugin for testing notebooks
studio - MLJAR Studio Desktop Application