AI would only classify skill/balance properly if the dataset you're using (logs.tf in this case) isn't a complete mess on a player per player basis. You'd have to prepare and clean up that data and afaik there's roughly three million logs so good luck with that. There's people with logs for dumb maps like 2fort upsidedown, mess around pugs, ultiduo bball HL 6s Prolander 4v4 you name it. Some of these will be from scrims, offis, TF2C, pugs or other stuff. It would also need to consider individual classes, other individuals on the team you're playing to really make sense I think. Probably do-able with something like Keras/TensorFlow, but sounds like a pain to train a model for that with all the variables you have.
Not only that, but you'd have to feed it data it can actually understand. Just throwing 30GB of raw text logs at AI isn't going to do much so you'd probably end up making several monster CSV/JSON files first (parsed from those 30GB logs).
Using some sort of elo score or assigning a score based on ETF2L/RGL division sounds a lot easier. If you want to go the extra mile you can check amount of matches played on ETF2L, how many won/lost etc. But if your goal is to just make the life of a handful of people easier, I think that'll go a long way.
If you like what you have with trends.tf you could just scrape the data rather than use an API. You should probably ask the creator if they are fine with that though.