-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTrabalho5.py
More file actions
67 lines (54 loc) · 1.81 KB
/
Trabalho5.py
File metadata and controls
67 lines (54 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import pandas as pd
import numpy as np
import matplotlib.pyplot as pp
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn import metrics
from sklearn.datasets import load_boston
#ignorando os warnings nan
np.warnings.filterwarnings('ignore')
#carregando a base
boston_dataset = load_boston()
boston_df = pd.DataFrame(boston_dataset.data, columns=boston_dataset.feature_names)
boston_df['MEDV'] = boston_dataset.target
df_reduzido = pd.DataFrame()
#apos plotar o distplot de todos os parametros e eliminar os que menos faziam sentido...
df_reduzido['RM'] = boston_df['RM']
df_reduzido['B'] = boston_df['B']
df_reduzido['LSTAT'] = boston_df['LSTAT']
df_reduzido['MEDV'] = boston_df['MEDV']
#1 - head, info, describe
print("\nHead:")
print(boston_df.head())
print("\nInfo:")
print(boston_df.info())
print("\nDescribe:")
print(boston_df.describe())
#2 - Mostre o pairplot e escolha duas colunas cuja correlação faça sentido
sns.pairplot(df_reduzido)
pp.show()
#3 - Mostre sua escolha por meio de dois jointplots (seaborn):
#3.1 - scatter (default)
sns.jointplot(x="RM", y="MEDV", data=boston_df)
pp.show()
#3.2 - heatmap(hex)
sns.jointplot("RM", "MEDV", data=boston_df, kind="hex")
pp.show()
X = boston_df[['RM']]
y = boston_df['MEDV']
#4 - Realize a divisão, treinamento e predição
#4.1 - dividindo a base em treino e teste
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=5) #random state = semente
lm = LinearRegression()
#4.2 - executando o treinamento
lm.fit(x_train, y_train)
#4.3 - executando a predicao
predicoes = lm.predict(x_test)
#5 - Mostre o resultado por meio de um
#5.1 - scatter
pp.scatter(y_test, predicoes)
pp.show()
#5.2 - e de um distplot
sns.distplot(y_test - predicoes, bins=10)
pp.show()