Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Data Science and Machine Learning - #47 Sistema de Recomendação I

19/09/2022

Hoje iniciamos a construção do sistema de recomendação de produtos utilizando Machine Learning do Python.

Python - Recomendação de Produtos

Nessa videoaula iniciaremos pelos requisitos básicos para trabalhar com a linguagem que são:
1 - Instalar uma IDE (aqui vamos usar a PyCharm)
2 - Instalar o Python
3 - Instalar o framework Django

No terminal de comandos vamos rodar os seguintes comandos:

cd c:/
mkdir recomendacao
cd recomendacao
python -m venv venv
cd venv/Scripts
activate
cd c:/
pip install django
django-admin startproject project .
python manage.py startapp app

project/settings.py

Precisamos adicionar o app recém criado a lista de apps do projeto:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app'
]

Ainda no settings, já vamos configurar os dados do banco de dados, que veremos mais pra frente:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'recomendacao',
        'HOST':'localhost',
        'USER':'root',
        'PASSWORD':'',
        'PORT':'3306'
    }
}

project/urls.py

Vamos setar a url do nosso app:

from django.contrib import admin
from django.urls import path
from app.views import home,form,comentar

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home),
    path('form/', form),
    path('comentar/', comentar),
]

app/views.py

Agora já entrando no app vamos até o arquivo views setar as funções das rotas:

from django.shortcuts import render
import pandas as pd
from sqlalchemy import create_engine
from app.forms import ProductsForm

data={}
# Create your views here.
def home(request):
    return render(request,'home.html')

def form(request):
    data['form']=ProductsForm()
    return render(request,'form.html',data)

def comentar(request):
    return render(request,'form.html')

Templates

Na sequência, vamos criar a parte visual do sistema, ou seja, os templates. Para isso, precisamos criar dentro da pasta app a pasta templates e dentro dela o arquivo main.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Recomendações</title>
</head>
<body>

    {% block content %}
    {% endblock %}

</body>
</html>

app/templates/form.html

Formulário de dados:

{% extends 'main.html' %}
{% block content %}
    <form name="form" id="form" action="/comentar/" method="post">
        {% csrf_token %}
        {{form.as_p}}
        <input type="submit" value="Gravar">
    </form>
{% endblock %}

app/templates/home.html

Página inicial do sistema de recomendações:

{% extends 'main.html' %}
{% block content %}
    Home
{% endblock %}

Configurando o Banco de Dados

Será necessário também um servidor de PHP. No exemplo, utilizaremos o WampServer que já nos fornece o servidor MySQL e o PhpMyAdmin que facilita o gerenciamento do Banco de Dados.

Precisamos também baixar o pacote que faz referência ao MySQL no Python. Nesse pacote você deve baixar exatamente a versão e arquitetura do Python. Durante a gravação desse vídeo eu utilizava a versão 3.8.1/32bits do Python. Para saber a versão do seu Python basta rodar o comando no terminal:

python

Após baixar o pacote e colocar na raiz do seu projeto vamos instalá-lo e migrar o banco. Lembre-se de trocar o no do mysqlclient de acordo com a sua versão:

pip install mysqlclient-1.4.6-cp38-cp38-win32.whl
python manage.py migrate
python manage.py runserver

app/models.py

No arquivo models vamos criar a migration da nossa tabela com as colunas e tipos:

from django.db import models

# Create your models here.
class Products(models.Model):
    user_id = models.IntegerField()
    product = models.CharField(max_length=150)
    categoria = models.CharField(max_length=150)
    ratings = models.IntegerField()

app/forms.py

Criaremos agora o arquivo de formulário que herdará os campos advindos do model (criado anteriormente):

from django.forms import ModelForm
from app.models import Products

class ProductsForm(ModelForm):
    class Meta:
        model = Products
        fields = ['user_id','product','categoria','ratings']

Rode no terminal o comando:

python manage.py runserver

Depois basta acessar no seu navegador http://localhost:8000/form.

Por hoje é só! Sucesso nos códigos e na vida!

Aulas particulares? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Data Science and Machine Learning - #46 Keras - Classificação de Textos
Nessa aula aprenderemos como utilizar o machine learning através da entrada de textos, como por exemplo avaliações de filmes.
Saiba mais!
Data Science and Machine Learning - #48 Sistema de Recomendação II
Neste tutorial vamos continuar o desenvolvimento do sistema de recomendação de produtos com Machine Learning Python.
Saiba mais!
Python
Nesta seção aprofundaremos os conhecimentos sobre uma das linguagens em maior ascenção no mercado, o Python.
Saiba mais!