<jupyter_start><jupyter_text>Atividade Prática 08<NAME> Ramos 3474<jupyter_code>import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt
import sklearn
import seaborn as sns
from sklearn.datasets import load_boston
boston = load_boston()
print(boston.keys())
print(boston.data.shape)
print(boston.feature_names)
print(boston.DESCR)
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df.head()
df['PRICE'] = boston.target
df.head()
sns.pairplot(df[['PRICE','RM','CRIM','ZN']])
plt.scatter(df.RM, df.PRICE)
plt.xlabel("Número médio de quartos (RM)")
plt.ylabel("Preço")
plt.title("Relação entre número de quartos e preço")
plt.show()
from scipy.stats import pearsonr

sns.jointplot(x='RM', y='PRICE', data=df)
r,p = stats.pearsonr(df['RM'], df['PRICE'])
print("Correlação de Pearson: %.3f" % r)
print("Valor-p: %e" % p)
cols=['PRICE','RM','CRIM','ZN']
Var_Corr = df[cols].corr()
matrix = np.triu(df[cols].corr())
sns.heatmap(Var_Corr, xticklabels=Var_Corr.columns, yticklabels=Var_Corr.columns,annot=True,center=0,cmap='coolwarm', mask=matrix)
from sklearn.linear_model import LinearRegression
X = df.RM
Y = df.PRICE
lm = LinearRegression()
lm.fit(X.values.reshape(-1,1),Y)
print('Coeficiente estimado: ',lm.coef_)
print('R2 (score): ', lm.score(X.values.reshape(-1,1), Y))
from sklearn.linear_model import LinearRegression
X = df.drop('PRICE',axis=1)
Y = df.PRICE
lm = LinearRegression()
lm.fit(X,Y)
print('R2 (score): ', lm.score(X.values, Y))
print("Intercept %.3f" % lm.intercept_)

coeff_df = pd.DataFrame(lm.coef_, X.columns, columns=['Coefficient'])
coeff_df
lm.predict(X.loc[1].values.reshape(1,-1))
import statsmodels.api as sm 
import pandas.util.testing as tm

X = df.drop('PRICE', axis = 1)
y = df.PRICE
X = sm.add_constant(X)
results = sm.OLS(y,X).fit()
print(results.summary())
X = df.drop('PRICE', axis = 1)
X = X.drop('AGE', axis = 1)
X = X.drop('INDUS', axis = 1)
y = df.PRICE
X = sm.add_constant(X)
results = sm.OLS(y,X).fit()
print(results.summary()) # manteve o mesmo R^2<jupyter_output>OLS Regression Results                            
==============================================================================
Dep. Variable:                  PRICE   R-squared:                       0.741
Model:                            OLS   Adj. R-squared:                  0.735
Method:                 Least Squares   F-statistic:                     128.2
Date:                Sat, 25 Sep 2021   Prob (F-statistic):          5.54e-137
Time:                        15:39:19   Log-Likelihood:                -1498.9
No. Observations:                 506   AIC:                             3022.
Df Residuals:                     494   BIC:                             3072.
Df Model:                          11                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|[...]<jupyter_text>Atividades1. Utilizar o conjunto de dados weatherHistory.csv, que contém o histórico de variáveis relacionadas ao clima da cidade de Szede, Hungria, entre 2006 e 2016.<jupyter_code># a) Primeiramente, faça uma análise exploratória dos dados, entendendo as variáveis e suas 
# características. Crie gráficos par-a-par das variáveis para tentar identificar possíveis relações
#lineares entre elas;

df = pd.read_csv('weatherHistory.csv')
df

print(df.keys())
print(df.info())
print(df.shape)
sns.heatmap(df.corr(),annot = True)
plt.show
# b) Qual a equação linear e o coeficiente de determinação que representa a temperatura em termos da
# umidade?

from sklearn.linear_model import LinearRegression
X = df['Temperature (C)']
Y = df['Humidity']
lm = LinearRegression()
lm.fit(X.values.reshape(-1,1),Y)
print('R2 (score): ', lm.score(X.values.reshape(-1,1), Y))
print("Intercept %.3f" % lm.intercept_)
print(lm.coef_)<jupyter_output>R2 (score):  0.3997459740945123
Intercept 0.889
[-0.01293911]<jupyter_text>Equação: Humidity = 0.889 + Temperature * -0.01293911<jupyter_code># c) Qual a equação linear e o coeficiente de determinação que representa a temperatura em termos da
# umidade e velocidade do vento?

Y = df['Temperature (C)']
X = df[['Humidity','Wind Speed (km/h)']]
lm = LinearRegression()
lm.fit(X,Y)
print('R2 (score): ', lm.score(X.values, Y))
print("Intercept %.3f" % lm.intercept_)
coeff_df = pd.DataFrame(lm.coef_, X.columns, columns=['Coefficient'])
coeff_df<jupyter_output>R2 (score):  0.4184534276004692
Intercept 37.867<jupyter_text>Equação: Temperature = 37.867 + Humidity * -32.437362 + Wind Speed * -0.193934<jupyter_code>#d) Qual a equação linear e o coeficiente de determinação que representa a temperatura aparente em
# termos da temperatura, da velocidade do vento e da umidade?

Y = df['Apparent Temperature (C)']
X = df[['Temperature (C)','Humidity','Wind Speed (km/h)',]]
lm = LinearRegression()
lm.fit(X,Y)
print('R2 (score): ', lm.score(X.values, Y))
print("Intercept %.3f" % lm.intercept_)
coeff_df = pd.DataFrame(lm.coef_, X.columns, columns=['Coefficient'])
coeff_df<jupyter_output>R2 (score):  0.989812786297048
Intercept -2.330<jupyter_text>Equação: Apparent Temperature = -2.330 + Temperature * 1.125924 + Humidity * 1.055446 + Wind Speed * -0.094870<jupyter_code>atributos_corr = ['Temperature (C)','Apparent Temperature (C)','Humidity','Wind Speed (km/h)','Wind Bearing (degrees)','Visibility (km)','Loud Cover','Pressure (millibars)']
atributos_corr
# e) Quais variáveis do dataset você indica para serem utilizadas para prever a umidade? Explique sua
# resposta.
for data in atributos_corr:
    plt.xlabel("Humidity")
    plt.ylabel(data)
    plt.scatter(df['Humidity'], df[data])
    plt.show()
corr = df.corr('spearman')
corr = corr[['Humidity']].sort_values(by = ['Humidity'],ascending = False)
corr<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.16503378378378378, 'fraction_numerical': 0.03834459459459459, 'mean_word_length': 3.7711522965350524, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '287784', 'license': 'MIT', 'n_tokens_mistral': 2317, 'n_tokens_neox': 2111, 'n_words': 491, 'path': 'atividade-pratica-08.ipynb', 'repo_name': 'isabellazramos/Ciencia-de-Dados', 'size': '5930'}