1
resposta

Sistema de recomendação - dúvidas

Olá tudo bem? Sou estudando de IA, estou adetrando no mundo da tecnologia agora. Não tenho conhecimento em linguagem de programação, mas eu tenho tentado aprender com o curso de fundamentos de IA de vocês, eu parei na implementação de sistemas de recomendação no mão na massa. Eu tive ajuda do chatgpt para criar o sistema de recomendação simples com base onde trabalho que é uma escola. Ele me ajudou a fazer um sistema simples com base que o curso da de exemplo, eu só n usei o exemplo pedido.
Gostaria de saber se está certo e se puder me oritarem no que eu posso estudar depois, pois eu não tenho ideia ainda. Eu quero criar IA's, apos terminar esse vou para fundamentos do mundo da Inteligência artificial.

Segue o exercicios feito:

1. Definição da situação

class SituacaoAluno:
def init(self, pedagogico, emocional, negociacao, objetivo, probabilidade):
self.pedagogico = pedagogico
self.emocional = emocional
self.negociacao = negociacao
self.objetivo = objetivo
self.probabilidade = probabilidade

def __repr__(self):
    return f"(probabilidade={self.probabilidade})"
    
    

2. Algoritmo A*

import heapq

class AStarRecommendation:
def init(self, situacoes, heuristica):
self.situacoes = situacoes
self.heuristica = heuristica
self.grafo = self.criar_grafo()

def criar_grafo(self):
    grafo = {}
    for s in self.situacoes:
        grafo[s] = [outra for outra in self.situacoes if outra != s]
    return grafo

3. Heurística

def heuristica_rematricula(situacao):
return -situacao.probabilidade

Eu peguei 10 casos de alunos que não se matricularam e anotei tudo estou transformando ele em visao computacional. Será um projeto paralelo ao curso que eu estou desenvolvendo com o Chat para que eu faça um sistema de recomendação para rematrícula na minha escola.
Agora que eu tenho 10 casos eu posso fazer com todos esse modelo:

class EstadoPedagogico:
def init(self, engajamento, desempenho_academico, tarefas):
self.engajamento = engajamento
self.desempenho_academico = desempenho_academico
self.tarefas = tarefas

class EstadoEmocional:
def init(self, cansaco, tempo_dedicacao):
self.cansaco = cansaco
self.tempo_dedicacao = tempo_dedicacao

class EstadoCognitivo:
def init(self, dificuldade_aprendizagem, dislexia):
self.dificuldade_aprendizagem = dificuldade_aprendizagem
self.dislexia = dislexia

class EstadoLogistico:
def init(self, locomocao_presencial, adaptacao_online):
self.locomocao_presencial = locomocao_presencial
self.adaptacao_online = adaptacao_online

class EstadoFinanceiro:
def init(self, situacao_financeira):
self.situacao_financeira = situacao_financeira

    Assim que eu conseguir fazer isso com todos os 10 casos,vou montar um sistema maior. eu sei que preciso colocar valores de probabilidade, ainda não cheguei a esta parte e nem aprendi ainda rs. Mais para frente  eu vou coletar mais dados para ele virar um dataset, só que como estou aprendendo, vou usar de referencia só 10 casos, 5 que deram ruim e 5 que deram bom. 
    O Chat tem sido o meu tutor para aprender e tem sido muito bom, já que no temos acesso aos professores o tempo todo. E eu sou muito curiosa, principalmente com algo novo como programação e IA.
1 resposta

Olá, Alessandra! Tudo bem?

Que iniciativa incrível! Aplicar o que você está aprendendo em um problema real da escola é, sem dúvida, uma das melhores formas de consolidar o conhecimento. Dá para ver claramente sua curiosidade e vontade de entender o problema de verdade, parabéns por isso.

Usar o ChatGPT como apoio no começo é uma ótima estratégia, principalmente para destravar a sintaxe enquanto você foca na lógica. Sobre o seu código, a organização das classes está muito bem pensada do ponto de vista de orientação a objetos. Você criou estruturas claras para representar os diferentes aspectos do aluno, o que mostra maturidade na modelagem do problema.

Vale apenas um cuidado conceitual: o algoritmo A* é usado para busca de caminhos, quando queremos encontrar uma sequência de passos até um objetivo. Se a ideia for apenas prever a chance de rematrícula ou classificar perfis de alunos, o caminho mais comum é o uso de algoritmos de classificação em Machine Learning. Ainda assim, para aprendizado de lógica, estrutura e organização dos dados, sua abordagem está totalmente válida e muito bem construída.

Como próximos passos, fortalecer a base em Python vai te dar mais autonomia, especialmente com listas, dicionários, condicionais e laços. Em seguida, estudar Pandas fará toda a diferença, já que no mundo real esses dados costumam vir de planilhas, não de objetos criados manualmente. A partir daí, entrar em Machine Learning clássico com algoritmos de classificação, como Árvore de Decisão, vai conectar perfeitamente com a sua ideia de projeto.

Você está no caminho certo. Continue explorando, testando e questionando. Essa postura faz toda a diferença na área de tecnologia.

Bons estudos!

Sucesso

Imagem da comunidade