Advento de 2020, dia 12 – Usando Notebooks Azure Databricks com linguagem Python para análise de dados

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

[ad_1]

[This article was first published on R – TomazTsql, and kindly contributed to R-bloggers]. (Você pode relatar problemas sobre o conteúdo desta página aqui)


Quer compartilhar seu conteúdo em R-bloggers? clique aqui se você tiver um blog, ou aqui se não tiver.

Série de postagens do Azure Databricks:

Vimos a linguagem SQL e R e como fazer alguns preparativos básicos de dados. Hoje veremos o Python e como proceder com a análise de dados.

Usando frames de dados e obtendo dados de SQL e DBFS

Crie um novo bloco de notas com o Nome: Day12_Py_Analytics e idioma: Pitão e conectar o notebook a um cluster que criamos no dia 4. E vamos adicionar alguns dados do FileStore e usar os dados que carregamos no dia 6.

csv_df = spark.read.csv("/FileStore/Day6Data_dbfs.csv", header="True")
display(csv_df)

Também podemos importar dados da tabela SQL para o quadro de dados simplesmente escrevendo uma instrução SQL.

#from pyspark.sql.functions import explode
from pyspark.sql import *
import pandas as pd

display(sql("select * from day10.temperature"))

Além de exibir o conjunto de dados, você pode armazenar o resultado de uma consulta em uma variável e usá-lo posteriormente.

#for display
display(sql("select * from day10.temperature"))

#to save to variable
df = sql("select * from day10.temperature")

Vamos obter agora alguns dados dos dados de amostra do Databricks (que estão disponíveis para qualquer pessoa). Portanto, você pode inserir dados do armazenamento dbfs e usar os conjuntos de dados de amostra também, usando Python Pandas.

import pandas as pd

dfcovid = pd.read_csv("/dbfs/databricks-datasets/COVID/covid-19-data/us-states.csv")
dfcovid.head()

e agora vamos distribuir o gráfico de alguns casos e mortes por estados e usar o seguinte código Python que pode ser usado simplesmente no Azure Databricks.

# Filter to 2020-12-01 on first of december
df_12_01 = dfcovid[dfcovid["date"] == "2020-12-01"] 

ax = df_12_01.plot(x="cases", y="deaths", kind="scatter", 
                   figsize=(12,8), s=100, title="Deaths vs Cases on 2020-12-01 - All States")

df_12_01[["cases", "deaths", "state"]].apply(lambda row: ax.text(*row), axis=1);

E agora vamos comparar apenas alguns desses estados extremos (Nova York, Texas, Califórnia e Flórida). E crie um subconjunto apenas para estes quatro estados:

Leia Também  Charada: Você consegue resolver o mistério do xadrez?
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
df_ny_cal_tex_flor = dfcovid[(dfcovid["state"] == "New York") | (dfcovid["state"] == "California") | (dfcovid["state"] == "Florida") | (dfcovid["state"] == "Texas")]

E agora, para criar um índice para o gráfico de mortes ao longo do tempo

df_ny_cal_tex_flor = df_ny_cal_tex_flor.pivot(index='date', columns="state", values="deaths").fillna(0)
df_ny_cal_tex_flor

e agora plote esses dados usando este conjunto de dados:

df_ny_cal_tex_flor.plot.line(title="Deaths 2020-01-25 to 2020-12-10 - CA, NY, TX, FL", figsize=(12,8))

E agora, para uma análise de regressão simples, dividiremos os dados de teste e treinamento. Desde a primeira e segunda ondas, precisaremos decidir como dividir os dados. Vamos dividir até meados de novembro e depois de meados de novembro.

train_df = dfcovid[(dfcovid["date"] >= "2020-07-01") & (dfcovid["date"]  "2020-11-16"]

X_train = train_df[["cases"]]
y_train = train_df["deaths"]

X_test = test_df[["cases"]]
y_test = test_df["deaths"]

Usaremos o scikit-learn para fazer regressão linear simples.

from sklearn.linear_model import LinearRegression

lr = LinearRegression().fit(X_train, y_train)
print(f"num_deaths = {lr.intercept_:.4f} + {lr.coef_[0]:.4f}*cases")

Portanto, se não temos casos, não deve haver mortes causadas por COVID-19; isso nos dá uma linha de base e assume que vamos definir a interceptação como 0.

lr = LinearRegression(fit_intercept=False).fit(X_train, y_train)
print(f"num_deaths = {lr.coef_[0]:.4f}*cases")

Este modelo impõe que haja uma taxa de mortalidade de 2,68% em nosso conjunto de dados. Mas sabemos que alguns estados têm taxas de mortalidade mais altas e esse modelo linear absolutamente não é o ideal para isso, mas é apenas para mostrar o uso de Python em Databricks.

Amanhã verificaremos e exploraremos como usar o Python Koalas para fazer engenharia de dados, portanto, fique atento.

O conjunto completo de código e Notebooks estará disponível no repositório Github.

Feliz codificação e mantenha-se saudável!



[ad_2]

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br