Python is good for lots of things, but it is not the best for ML. What I would say is the King (or Queen) of ML is Julia, because it is based around matrices as it's core, and it was designed with ML in mind.
Maybe you could try re-filtering your initial data set by giving each quote a score based on how many of the keywords you're looking for are in it? Then unfavourable quotes would be likely to recieve a much lower score, rather than everything left over being on an even playing field, and you could just take the highest scoring quotes. That could end up favouring longer quotes over shorter ones, but they'd at least be of higher quality.
Jabrils I absolutely love your videos. I know nothing about coding, but you still keep it simple and super interesting! Oh, and the smooth jazz is oh so relaxing. Keep it up!
In vanilla python we can create something like node = [[0 for _ in range(3)] for _ in range(3)] to create an 3x3 list. With numpy we can create "lists" with the dimensions we want telling his "shape", like node = numpy.zeros((3, 3)). If you multiply a list you may copy his reference and think is three different lists while they are the same. Bit late but may be useful to someone sometime.
I wonder if you could write word equivalencies using synonyms to expand the vocab. Also, you could create an app like that "would you rather" app and have people check whether they like the quote or not; use that data to have the computer modify itself. It's a lot of work, but they're just some ideas.
The "Don't reinvent the wheel" discussion sounds similar to the conversation me an you had about the creation of game engine. Without a doubt I agree I would suggest everyone at least once attempt to build whatever it is they wish to work on from scratch as the level of understanding it allows I just do not feel can be accomplished any other way. For instance, I had a grasp of using 3D engines and Game engines but it was not until I decided to make a simple one myself did I gain a much better understanding of everything that takes place inside of the engine and when going back to using premade ones allows me to structure and design things much better.
For practical implementation: using packages and optimized could is usually always best if possible, you are much less likely to make mistakes. For learning and long term retention: Try to program from scratch the components that doable components (splitting data set, gradient descent, matrix representation of closed form solutions) and packages for the difficult components (convex optimization).
To avoid word salad, you could parse the statements to make sure they all have a subject section, predicate section, and verb section. Wouldn't fix the data set, but the sentences it generated would make some sense. Even something like "You can be pineapple." makes a little sense.
Python doesn't do arrays natively. It does linked lists. If you want arrays, try numpy. That has the kinds of lists you might be thinking about when using syntax like that. node = [3, 3] # stores a list with the entries [3, 3] That's not dimensional initialization, it literally initializes a list with those values. You don't really need to initialize stuff in the first place though. I think. It kinda depends on what you're trying to do? I can't really gleam it off that. Literally want a 3x3 matrix in a list? Try this: [ [ ] for _ in range(3) ] that's a 3 x n "matrix". (Really a linked list with three empty linked lists that you then can fill with stuff) If you truly want a list with some data already filled in so it's literally a 3x3 matrix, try, for instance, this: [ [0 for _ in range(3)] for _ in range(3) ] # [[0, 0, 0], # [0, 0, 0], # [0, 0, 0]] But you probably want actual arrays anyway. So go with numpy: import numpy as np node = np.empty([3 , 3]) Which, besides the wrapper, is basically the exact syntax you were actually hoping for. And if you already know that it's a float array, you probably wanna do node = np.empty([3, 3], dtype=np.float64) or something. Though in general, Python really loves list comprehensions. Better learn to get used to those. I promise that, once you are, they are a huge help. (Initially they sure are confusing though)
I have never been more inspired in my whole life: "Animals be goding 100 gasting and hall sever of bigmen righ of the door power is the decision to act, the rest is merely tenacity." -Jabrils
You do not need to use other libraries to do things like creating a matrix, " [[0 for i in range(3)] for j in range(3)] " will produce the same output. But if you are going to do machine learning in python, then you at least want some tools to do matrix operations, like calculation a dot product or transpose a matrix, which numpy can do (if you want an ML challenge and not just a programming challenge).
4:52 That absolutely makes sense. A multi-dimensional array is an array of arrays of arrays of arrays ... For example, a simple array is a one-dimensional array, an array of arrays is a two-dimensional array. One-dimensional array with values: arr = [1, 2, 3, 4] It's an array of integers. So arr[0] will give you an integer. Two-dimensional array with values: arr = [a, b] where a and b are arrays themselves: a = [1, 2] b = [3, 4] So you could also write arr = [[1, 2], [3, 4]] It's an array of integer arrays. So arr[0] will give you an array of integer arrays and arr[0][0] will give you an integer. And all this is not really special to python. When you see something like arr = [1]*3, then "*3" means you want 3 of those elements you specified in the last array. So [1]*3 will give you an array with 3 ones in it [1, 1, 1] and [[]]*3 will give you an array with 3 empty arrays in it [[], [], []] and [[1]*3]*3 will give you an array with 3 arrays in it which all have 3 ones in it [[1, 1, 1], [1, 1, 1], [1, 1, 1]] So what means [[[]]]*3? [something]*3 means you want an array with 3 somethings. So you already know you want three elements on the topmost/first dimension. "something" is [[]], which is an array with one empty array in it. So you have an array in an array in an array. That's what makes it three-dimensional. But there is just one array on the middle/second dimension, so at some point, new arrays have to be added in that dimension since an array with just one element in it doesn't make much sense. And the lowest/third dimension has neither any values or arrays in it, so they also have to be added later since an x-dimensional array without any values on the x-th dimension also doesn't make any sense. Let's say you want a three-dimensional array with the size 2x3x4 which is initialized with zeros. The lowest dimension would be [0]*2. It could also be *3 or *4, it only depends on where you need which size. Then you put that into the middle dimension [[0]*2]*3 And that goes into the topmost dimension [[[0]*2]*3]*4 Which gives you [[[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]]]
BROOOOOO, I just started learning python too and last night was having the SAME issue that you were ranting about I'm so glad im not the only one (im coming from C++)
Hey jabril, I don't know if this is right, but python without any libraries like NumPy you have to use a list. Again I don't know if this is right I just want to try to help, thanks!
As a python and C# programmer, I don't see your issue with creating a 3x3 matrix. It makes sense does it not? Why when declaring an array with two values ( a = [1,2] ) you would expect it to be a 3x3 array. Although I will say this much, since your looking to get into tensor, look at the numpy for arrays and handling data sets. The syntax you used initially with some tiny tweaking would be correct for numpy.
Jabrils After I left, tensions were rising in the galaxy. After seeing the chaos, I returned and aided the Jedi order in the siege of mandalore. During the siege, just when Rex and I captured Maul, order 66 was initiated. We barely escaped with our lives and I went to hide on Thabeska and from there to Raada. At Raada I started a rebellion and fought an inquisitor which acquired me my white lightsaber. Soon after I met a boy called Ezra Bridger. The rest is history
I'd like to see the Neural network, you're using in C#. I can't find good one's such as Tensorflow. In TensorSharp i am really missing the Layers / Keras API
Hey Jabril, can you list out the courses which you took , to get good at NN's ? I'm starting out and wanted to learn from the same source as someone who is good at it learnt.
This! So much this. Pythons multi-dim arrays have, as you point out, odd syntax. For doing matrix math Numpy is excellent. And machine learning is all about matrix operations in practical applications. I've been primarily programming in C# since C# was a thing and just got into Python about a year ago. It's superior for many tasks and has a much more robust library eco-system. It's the flat-head screwdriver to C#'s phillip's. Get them both in your toolbox and then use the right one for the job.
Indeed, Numpy has the option to great multi-dimensional arrays without any issue, useful when making back-prop neural networks. The thing with Python is that it's probably the most powerful language you can use, but you need to know it very well to actually use it correct, and python does use a ton of external imports to do that as it misses many "basic" functions.
Also, even if you decide to use lists, the way you did doesn't give you what you want. Because: >>> a = [[]] * 3 >>> a[0].append(1) >>> a [[1], [1], [1]] When you use *, it copies the reference to object. So all elements change at the same time.
well. Recording is the easiest part aha, for obvious reasons. & the editing time is scaled, depending how much time I have is how detailed I will make the animations / editing & such. For instance, I am missing A LOT of sound effects for this video, but you probably would of never known if I just kept my mouth shut 😉 - Jabril
Jabrils I know editing takes lots of time. But I don't care much for sfx, content and the narrative deliver it 👌 btw where's your background music from?
Jabrils I wanted you to know that I've been following you for a year now and I can truly say you've been my number one inspiration for learning AI. I studied CS in college but we have never talked about AI. Thank you, and keep up the good work.
How's fransisco? I've been there a year ago and saw a lot of crazy homeless(or not homeless) people it was exciting and funny xD be sure to check out the golden gate bridge it's really cool