Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Conversão em array Numpy

Porque o instrutor (inclusive na regressão linear) converte o DataFrame (teste, treino, classe_treino, classe_teste) em array Numpy? Não "rodaria" deixando no formato do DataFrame do Pandas? Não ficou muito claro isto para mim.

2 respostas
solução!

Oii Marco Antonio, tudo certinho por aí?

Peço desculpas pela demora em dar um retorno.

A área de Machine Learning é pautada em cálculos matemáticos e científicos. Para a criação e treinamento de um modelo, são realizados diversos cálculos matemáticos por baixo dos panos. Dessa forma, ao criar modelos é interessante que nossos dados de treino e teste estejam em um formato que facilite a realização de operações matemáticas com um grande número de dados.

Os arrays numpy oferecem essa possibilidade. Utilizando esse tipo de dado, é possível realizar cálculos matemáticos com um grande número de dados e tendo menos custo operacional quando comparado ao DataFrame do pandas. De modo geral, os arrays numpy são rápidos, fáceis de entender e dão aos usuários o direito de realizar cálculos entre os arrays.

Exemplo de um DataFrame:

import pandas as pd

df1 = pd.DataFrame({
                    'A': [1, 1, 1, 1],
                    'B': [1, 1, 1, 1],
                    'C': [1, 1, 1, 1],
                    }, index = ['a', 'b', 'c', 'd'])
df1

Resultado:

ABC
a111
b111
c111
d111

Exemplo de um array numpy:

array1 = np.array([[23, 46, 85],
                   [43, 56, 99],
                   [11, 34, 55]])
array1 

Resultado:

array([[23, 46, 85],
       [43, 56, 99],
       [11, 34, 55]])

Atualmente, a biblioteca pandas já possui alguns recursos que tornaram os DataFrames mais maleáveis. Como, poder realizar operações entre DataFrames de mesma dimensão da mesma forma que podemos realizar com os arrays, por exemplo:

# soma de dataframes
df1 + df1

# soma de arrays
array1 + array1

Mas, ainda assim, os arrays numpy demandam um menor gasto computacional e também possuem mais possibilidades e facilidades em algumas operações.

Considerando isso, geralmente os modelos provenientes da biblioteca scikit-learn trabalham com dados numéricos no formato de arrays numpy. No entanto, se você passar os dados para o modelo no formato de um dataframe pandas, ele certamente irá aceitar, porque esse dataframe será convertido internamente para um tipo numérico no formato de arrays numpy.

Espero ter ajudado. Qualquer dúvida estou por aqui :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Entendi Millena.

Obrigado!!!