Roger Sampaio
O Lado Diabólico da Inteligência Artificial
Atualizado: 29 de abr. de 2022
Fala meus guerreiros. Espero que todos estejam bem. Comentamos em nossos artigos e vemos em noticiários, jornais sempre os prós da Inteligência Artificial, o quão poderosa é para auxiliar na tomada de decisões em praticamente todos os tipos de negócios (medicina, bancos, advocacia, educação, varejo entre outros). Assim como na vida em que nem tudo são flores, a Inteligência Artificial tem um lado negro, obscuro caso não seja utilizada de forma adequada trazendo mais malefícios que benefícios. Apertem os cintos porque vamos decolar nessa viajem.
Vamos 'Brincar' de Médicos Oncologistas...
Nós, cientistas de dados, fomos contratos pelo hospital Santa Maria para auxiliar a área de oncologista, responsável pelo diagnóstico, prevenção e tratamento de diversos tipos de câncer. O especialista pediu ajuda para construção de um modelo preditivo que preveja se a paciente terá câncer de mama ou não se baseando em uma série de características de núcleos celulares em imagens como, por exemplo, raio, textura, concavidade, área entre outras. O dataset tem a amostra de 569 pacientes e trinta características de cada um. Vamos 'codar', meu guerreiro utilizando o recurso Machine Learning do Azure.
Ao abrir o portal do Azure, clique em Criar um Recurso conforme é mostrado abaixo. Caso você tenha uma conta ativa do Azure, siga as recomendações no site para criar, inclusive você pode criar gratuitamente por um período de um mês.

Pesquise pelo recurso chamado Machine Learning ou Aprendizado de Máquina e pressione Enter. O ícone do recurso é de um frasco de vidro azul de laboratório. Esse recurso possibilita a criação de notebooks incluindo modelos preditivos. Podemos criar visualmente o experimento (sem utilizar um única linha de código) ou então programando. Veja:

Após clicar no botão criar devemos preencher os seguintes campos:
Assinatura. Mantenha o que está ativa podendo ser gratuita(caso você tenha criado a conta do Azure para testar gratuitamente) ou pago pelo uso.
Grupo de recursos. Crie um grupo chamado inteligenciaartificialexperimentos.
Nome da workspace. Crie uma chamada workspaceia.
Região. Podemos deixar padrão Esta US 2.
Conta de amarzenamento,Cofre de chave, Application Insights. Deixa a que está selecionada.
Registro de contêiner. Deixe nenhum.
Depois clique em Examinar + criar.

Agora pressione Criar. Isso poderá levar vários minutos.

Após a implantação estiver completa, clique em ir para o recurso.

Agora clique em iniciar o estúdio.

Clique em Create new e selecione notebook, escolhe um nome como, por exemplo, experimenta a e então create.

Com o recurso Machine Learning do Azure, criamos nosso notebook e um modelo de classificação. Cole o código abaixo no notebook criado e observe cada etapa.
# Importações de pacotes
import pandas as pd
from sklearn import tree
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
from sklearn.metrics import f1_score
from sklearn import metrics
import sklearn.datasets as datasets
from sklearn.linear_model import LogisticRegression
# Análise Exploratória
# Obtendo os dados da fonte
pacientes_obj = datasets.load_breast_cancer()
# Transformando em um dataframe o objeto pacientes e visualizando alguns registros
pacientes = pd.DataFrame(columns = pacientes_obj.feature_names, data = pacientes_obj.data)
# Vamos trabalhar apenas com 100 pacientes e 5 variáveis
pacientes = pacientes.iloc[0:100,0:5]
pacientes.head(5)
Resultado:

print('Quantidade de registros: %d e recursos: %d' % (pacientes.shape[0],pacientes.shape[1]))
Quantidade de registros: 100 e recursos: 5
# Visualizando os tipos de dados
pacientes.dtypes
Resultado:
mean radius float64
mean texture float64
mean perimeter float64
mean area float64
mean smoothness float64
dtype: object
# MODELAGEM
# Divisão da variável PREDITORA e TARGET
x = pacientes.iloc[:,:]
y = pd.DataFrame(pacientes_obj.target).iloc[0:100,:]
# Divisão entre os dados de treino e teste
x_treino, x_teste, y_treino, y_teste = train_test_split(x, y, t