MRO_simula
September 4, 2018
1 EDA - Exploratory Data Analysis
1.1 Como liderar as transformações das organizações públicas do tradicional para o
exponencial?
(de acordo com Yuri Van Geest da Singularity University).
In [1]: import webbrowser
# generate an URL
# Abrir a página do NetLogo para simular o Modelo de Responsabilidade Organizacional
url = 'http://www.netlogoweb.org/launch#http://ccl.northwestern.edu/netlogo/community/O
webbrowser.open(url)
Out[1]: True
In [2]: # Load libraries
%notebook inline
import pydotplus
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import graphviz
import os
os.environ["PATH"] += os.pathsep + 'C:/Users/Guto/Programas/graphviz-2.38/bin/'
#os.environ["PATH"] += os.pathsep + 'C:/Users/P055453/Programas/graphviz-2.38/bin/'
from sklearn import preprocessing
from sklearn.ensemble import RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.externals.six import StringIO
from IPython.display import Image
from sklearn.tree import export_graphviz
from sklearn import tree
1
title
2
In [3]: # Load data
#dataset = pd.read_excel('C:/Users/Guto/Programas/mro/MRO_Exponencial.xlsx', header=1)
dataset = pd.read_excel('MRO_Exponencial.xlsx', header=1)
In [4]: # Remove a coluna Simulação
%notebook matplotlib
dataset.drop(u'Simulação', axis=1, inplace=True)
In [5]: # Converte a coluna exponencial em numerica
dataset['Exponencial'] = pd.factorize(dataset['Exponencial'])[0]
In [6]: dataset.head()
Out[6]: Taxa de Crescimento da Demanda Produtividade Máxima Celulas com Demandas 
0 0.01 0.045 189
1 0.01 0.045 186
2 0.01 0.045 189
3 0.01 0.045 197
4 0.01 0.045 192
Demandas Atendidas Demandas Pendentes Total de Demandas 
0 328 91 420
1 327 90 418
2 328 91 420
3 328 91 420
4 329 92 421
Produtividade Média Exponencial Ticks
0 11 0 300
1 11 0 300
2 11 0 300
3 11 0 300
4 11 0 300
2 Correlação das variáveis
In [7]: # Plota a correlação das colunas da base
f, ax = plt.subplots(figsize=(10, 7))
corr = dataset.corr()
#sns.heatmap(corr, mask=np.zeros_like(corr, dtype=np.bool), cmap=sns.diverging_palette(
sns.heatmap(corr)
plt.show()
3
In [8]: # Separa dados de classes - classes = y
y = dataset.Exponencial
dataset.drop('Exponencial', axis=1, inplace=True)
In [9]: # Scala o Dado - treino = X
scaler = preprocessing.StandardScaler().fit(dataset)
X = scaler.transform(dataset)
2.1 Treina o RandomForest
In [10]: # Create random forest classifier
clf = RandomForestClassifier(random_state=0, n_jobs=2)
In [11]: # Train random forest using most important featres (treino e classes)
clf.fit(X, y)
Out[11]: RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
max_depth=None, max_features='auto', max_leaf_nodes=None,
min_impurity_decrease=0.0, min_impurity_split=None,
min_samples_leaf=1, min_samples_split=2,
4
min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=2,
oob_score=False, random_state=0, verbose=0, warm_start=False)
In [12]: # Calcula a Importância de Features
clf.feature_importances_
Out[12]: array([0. , 0.00059308, 0.12455765, 0.27677712, 0.26279661,
0.13213034, 0.20314521, 0. ])
In [13]: # Visualiza a Features Mais Importantes (maiores coeficientes)
list(zip(dataset.columns,clf.feature_importances_.tolist()))
Out[13]: [('Taxa de Crescimento da Demanda', 0.0),
('Produtividade Máxima', 0.0005930753511565307),
('Celulas com Demandas', 0.12455764960529389),
('Demandas Atendidas', 0.27677711512910036),
('Demandas Pendentes', 0.2627966082003279),
('Total de Demandas', 0.1321303420877359),
('Produtividade Média', 0.2031452096263854),
('Ticks', 0.0)]
In [14]: dataset.columns.tolist()
Out[14]: ['Taxa de Crescimento da Demanda',
'Produtividade Máxima',
'Celulas com Demandas',
'Demandas Atendidas',
'Demandas Pendentes',
'Total de Demandas',
'Produtividade Média',
'Ticks']
3 Plota a importância das Features no Modelo
In [15]: # Visualize Feature Importance
fy = clf.feature_importances_.tolist()
fx = np.arange(len(fy))
width = 0.5
plt.barh(fx, fy, width, color="red")
plt.yticks(fx,dataset.columns.tolist(),)
plt.xlabel('Importancia no Modelo')
plt.show()
5
4 Cria a arvore de decisão
In [16]: # Load Dataset novamente
# Load data
X = pd.read_excel('MRO_Exponencial.xlsx', header=1)
# Remove a coluna Simulação
%notebook matplotlib
X.drop(u'Simulação', axis=1, inplace=True)
# Converte a coluna exponencial em numerica
# X é maiúsculo - pandas.core.frame.DataFrame - matrix
Exp = X['Exponencial']
X['Exponencial'] = pd.factorize(X['Exponencial'])[0]
# y é minúsclo - numpy.ndarray - vetor - y = classes
y = X.Exponencial
print(type(X))
print(X.shape)
print(type(y))
print(y.shape)
X.head()
<class 'pandas.core.frame.DataFrame'>
(1000, 9)
<class 'pandas.core.series.Series'>
6
(1000,)
Out[16]: Taxa de Crescimento da Demanda Produtividade Máxima Celulas com Demandas 
0 0.01 0.045 189
1 0.01 0.045 186
2 0.01 0.045 189
3 0.01 0.045 197
4 0.01 0.045 192
Demandas Atendidas Demandas Pendentes Total de Demandas 
0 328 91 420
1 327 90 418
2 328 91 420
3 328 91 420
4 329 92 421
Produtividade Média Exponencial Ticks
0 11 0 300
1 11 0 300
2 11 0 300
3 11 0 300
4 11 0 300
In [17]: # Train Decision Tree - Create decision tree classifer object
clf = DecisionTreeClassifier(criterion='gini', random_state=0)
# Train random forest using most important featres (treino e classes)
clf = clf.fit(X, y)
In [18]: feature_names = list(X.columns)
feature_names
Out[18]: ['Taxa de Crescimento da Demanda',
'Produtividade Máxima',
'Celulas com Demandas',
'Demandas Atendidas',
'Demandas Pendentes',
'Total de Demandas',
'Produtividade Média',
'Exponencial',
'Ticks']
In [19]: dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=feature_names,
class_names=Exp,
filled=True, rounded=True,
special_characters=True)
7
# Draw graph
graph = pydotplus.graph_from_dot_data(dot_data)
# Show graph
Image(graph.create_png())
Out[19]:
8

Mais conteúdo relacionado

PPTX
Estruturas de dados em Python
PPS
Winplot2
PDF
Recuperação paralela
PDF
Tj2016 mat a 1 em [funções ii]
PDF
Rec e54
PDF
Função Quadratica
PPTX
Introdução a programação em python d4 anexo 2 (códigos)
Estruturas de dados em Python
Winplot2
Recuperação paralela
Tj2016 mat a 1 em [funções ii]
Rec e54
Função Quadratica
Introdução a programação em python d4 anexo 2 (códigos)

Mais procurados (16)

PDF
Material b61331521e
PPTX
Utilizandoo winplot
PDF
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
PDF
Sobre programas e funções: pensando em abstração
PPTX
Gráficos de função quadrática no microsoft ecxel
PPT
02 função quadrática - parte II (raízes)
PPTX
programação c 2 aula
DOCX
class introducao
PPTX
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
PDF
Curso Java Basico] Aula 19: Vetores (Arrays)
PDF
Funcoes i
PDF
Golang e data science oficial v1
PDF
Lista 1 - Cálculo
PDF
Lista m3
PDF
Exercicios minicurso
TXT
Questao.5
Material b61331521e
Utilizandoo winplot
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
Sobre programas e funções: pensando em abstração
Gráficos de função quadrática no microsoft ecxel
02 função quadrática - parte II (raízes)
programação c 2 aula
class introducao
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
Curso Java Basico] Aula 19: Vetores (Arrays)
Funcoes i
Golang e data science oficial v1
Lista 1 - Cálculo
Lista m3
Exercicios minicurso
Questao.5
Anúncio

Semelhante a MRO simula (17)

PDF
Sistemas de Recomendação
PDF
[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...
PDF
Guia completo para definição de estatística de modelos e algoritmos de machin...
PDF
Machine learning com Python: a vida como ela é!
PPTX
Ciência de Dados - Trabalho Final
PDF
Aprendizagem de máquina aplicada na neurociência
PDF
TDC2018FLN | Trilha Data Science - Explainable Machine Learning
PDF
TDC2018FLN | Trilha Machine Learning - Explainable Machine Learning
PDF
Modelos gaussianos_heteroscedasticos
PDF
PDF
Case Recommender: Fazendo recomendação em Python
PDF
Machine learning - O que é isso?
PDF
Introdução ao Machine Learning - XI Pylestras
PDF
Introdução ao Machine Learning - XI Pylestras
PDF
Treinamento MLOps Databricks 2023
PDF
Melhore seu conhecimento sobre analise de dados com a versao mais recente do ...
Sistemas de Recomendação
[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...
Guia completo para definição de estatística de modelos e algoritmos de machin...
Machine learning com Python: a vida como ela é!
Ciência de Dados - Trabalho Final
Aprendizagem de máquina aplicada na neurociência
TDC2018FLN | Trilha Data Science - Explainable Machine Learning
TDC2018FLN | Trilha Machine Learning - Explainable Machine Learning
Modelos gaussianos_heteroscedasticos
Case Recommender: Fazendo recomendação em Python
Machine learning - O que é isso?
Introdução ao Machine Learning - XI Pylestras
Introdução ao Machine Learning - XI Pylestras
Treinamento MLOps Databricks 2023
Melhore seu conhecimento sobre analise de dados com a versao mais recente do ...
Anúncio

Mais de Guttenberg Ferreira Passos (20)

PDF
Occurrence Prediction_NLP
PDF
Social_Distancing_DIS_Time_Series
PDF
ICMS_Tax_Collection_Time_Series.pdf
PDF
Modelos de previsão de Ocorrências
PDF
Inteligencia artificial serie_temporal_ dis_v1
PDF
Predictions with Deep Learning and System Dynamics - AIH
PDF
Inteligência Artificial em Séries Temporais na Arrecadação
PDF
Capacity prediction model
PDF
Problem Prediction Model with Changes and Incidents
PDF
Project Organizational Responsibility Model - ORM
PDF
Problem prediction model
PDF
Modelo de Responsabilidade Organizacional e a Transformação Digital
PDF
A transformação digital do tradicional para o exponencial - v2
PDF
O facin na prática com o projeto geo
PDF
Modelo em rede de maturidade em governança corporativa e a lei das estatais
PDF
Análise da Dispersão dos Esforços dos Funcionários
PDF
Facin e Modelo de Responsabilidade Organizacional
PDF
Understanding why caries is still a public health problem
PDF
Modelo em Rede de Alinhamento das Ações aos Pilares da Governança
PDF
Cenários exploratórios da cadeia de valor
Occurrence Prediction_NLP
Social_Distancing_DIS_Time_Series
ICMS_Tax_Collection_Time_Series.pdf
Modelos de previsão de Ocorrências
Inteligencia artificial serie_temporal_ dis_v1
Predictions with Deep Learning and System Dynamics - AIH
Inteligência Artificial em Séries Temporais na Arrecadação
Capacity prediction model
Problem Prediction Model with Changes and Incidents
Project Organizational Responsibility Model - ORM
Problem prediction model
Modelo de Responsabilidade Organizacional e a Transformação Digital
A transformação digital do tradicional para o exponencial - v2
O facin na prática com o projeto geo
Modelo em rede de maturidade em governança corporativa e a lei das estatais
Análise da Dispersão dos Esforços dos Funcionários
Facin e Modelo de Responsabilidade Organizacional
Understanding why caries is still a public health problem
Modelo em Rede de Alinhamento das Ações aos Pilares da Governança
Cenários exploratórios da cadeia de valor

Último (17)

PPT
Aula de Engenharia de Software principais caracteristicas
PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PDF
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PPTX
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
PDF
Banco de Dados 2atualização de Banco de d
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PDF
Jira Software projetos completos com scrum
PPTX
ccursoammaiacursoammaiacursoammaia123456
PDF
SEMINÁRIO DE IHC - A interface Homem-Máquina
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Aula de Engenharia de Software principais caracteristicas
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Conceitos básicos de Redes Neurais Artificiais
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
Processamento da remessa no SAP ERP, SCM610 Col15
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
Banco de Dados 2atualização de Banco de d
Analise Estatica de Compiladores para criar uma nova LP
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Tipos de servidor em redes de computador.pptx
Processos no SAP Extended Warehouse Management, EWM100 Col26
Jira Software projetos completos com scrum
ccursoammaiacursoammaiacursoammaia123456
SEMINÁRIO DE IHC - A interface Homem-Máquina
Aula 9 - Funções em Python (Introdução à Ciência da Computação)

MRO simula

  • 1. MRO_simula September 4, 2018 1 EDA - Exploratory Data Analysis 1.1 Como liderar as transformações das organizações públicas do tradicional para o exponencial? (de acordo com Yuri Van Geest da Singularity University). In [1]: import webbrowser # generate an URL # Abrir a página do NetLogo para simular o Modelo de Responsabilidade Organizacional url = 'http://www.netlogoweb.org/launch#http://ccl.northwestern.edu/netlogo/community/O webbrowser.open(url) Out[1]: True In [2]: # Load libraries %notebook inline import pydotplus import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import graphviz import os os.environ["PATH"] += os.pathsep + 'C:/Users/Guto/Programas/graphviz-2.38/bin/' #os.environ["PATH"] += os.pathsep + 'C:/Users/P055453/Programas/graphviz-2.38/bin/' from sklearn import preprocessing from sklearn.ensemble import RandomForestClassifier from sklearn.tree import DecisionTreeClassifier from sklearn.externals.six import StringIO from IPython.display import Image from sklearn.tree import export_graphviz from sklearn import tree 1
  • 3. In [3]: # Load data #dataset = pd.read_excel('C:/Users/Guto/Programas/mro/MRO_Exponencial.xlsx', header=1) dataset = pd.read_excel('MRO_Exponencial.xlsx', header=1) In [4]: # Remove a coluna Simulação %notebook matplotlib dataset.drop(u'Simulação', axis=1, inplace=True) In [5]: # Converte a coluna exponencial em numerica dataset['Exponencial'] = pd.factorize(dataset['Exponencial'])[0] In [6]: dataset.head() Out[6]: Taxa de Crescimento da Demanda Produtividade Máxima Celulas com Demandas 0 0.01 0.045 189 1 0.01 0.045 186 2 0.01 0.045 189 3 0.01 0.045 197 4 0.01 0.045 192 Demandas Atendidas Demandas Pendentes Total de Demandas 0 328 91 420 1 327 90 418 2 328 91 420 3 328 91 420 4 329 92 421 Produtividade Média Exponencial Ticks 0 11 0 300 1 11 0 300 2 11 0 300 3 11 0 300 4 11 0 300 2 Correlação das variáveis In [7]: # Plota a correlação das colunas da base f, ax = plt.subplots(figsize=(10, 7)) corr = dataset.corr() #sns.heatmap(corr, mask=np.zeros_like(corr, dtype=np.bool), cmap=sns.diverging_palette( sns.heatmap(corr) plt.show() 3
  • 4. In [8]: # Separa dados de classes - classes = y y = dataset.Exponencial dataset.drop('Exponencial', axis=1, inplace=True) In [9]: # Scala o Dado - treino = X scaler = preprocessing.StandardScaler().fit(dataset) X = scaler.transform(dataset) 2.1 Treina o RandomForest In [10]: # Create random forest classifier clf = RandomForestClassifier(random_state=0, n_jobs=2) In [11]: # Train random forest using most important featres (treino e classes) clf.fit(X, y) Out[11]: RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini', max_depth=None, max_features='auto', max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, min_samples_leaf=1, min_samples_split=2, 4
  • 5. min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=2, oob_score=False, random_state=0, verbose=0, warm_start=False) In [12]: # Calcula a Importância de Features clf.feature_importances_ Out[12]: array([0. , 0.00059308, 0.12455765, 0.27677712, 0.26279661, 0.13213034, 0.20314521, 0. ]) In [13]: # Visualiza a Features Mais Importantes (maiores coeficientes) list(zip(dataset.columns,clf.feature_importances_.tolist())) Out[13]: [('Taxa de Crescimento da Demanda', 0.0), ('Produtividade Máxima', 0.0005930753511565307), ('Celulas com Demandas', 0.12455764960529389), ('Demandas Atendidas', 0.27677711512910036), ('Demandas Pendentes', 0.2627966082003279), ('Total de Demandas', 0.1321303420877359), ('Produtividade Média', 0.2031452096263854), ('Ticks', 0.0)] In [14]: dataset.columns.tolist() Out[14]: ['Taxa de Crescimento da Demanda', 'Produtividade Máxima', 'Celulas com Demandas', 'Demandas Atendidas', 'Demandas Pendentes', 'Total de Demandas', 'Produtividade Média', 'Ticks'] 3 Plota a importância das Features no Modelo In [15]: # Visualize Feature Importance fy = clf.feature_importances_.tolist() fx = np.arange(len(fy)) width = 0.5 plt.barh(fx, fy, width, color="red") plt.yticks(fx,dataset.columns.tolist(),) plt.xlabel('Importancia no Modelo') plt.show() 5
  • 6. 4 Cria a arvore de decisão In [16]: # Load Dataset novamente # Load data X = pd.read_excel('MRO_Exponencial.xlsx', header=1) # Remove a coluna Simulação %notebook matplotlib X.drop(u'Simulação', axis=1, inplace=True) # Converte a coluna exponencial em numerica # X é maiúsculo - pandas.core.frame.DataFrame - matrix Exp = X['Exponencial'] X['Exponencial'] = pd.factorize(X['Exponencial'])[0] # y é minúsclo - numpy.ndarray - vetor - y = classes y = X.Exponencial print(type(X)) print(X.shape) print(type(y)) print(y.shape) X.head() <class 'pandas.core.frame.DataFrame'> (1000, 9) <class 'pandas.core.series.Series'> 6
  • 7. (1000,) Out[16]: Taxa de Crescimento da Demanda Produtividade Máxima Celulas com Demandas 0 0.01 0.045 189 1 0.01 0.045 186 2 0.01 0.045 189 3 0.01 0.045 197 4 0.01 0.045 192 Demandas Atendidas Demandas Pendentes Total de Demandas 0 328 91 420 1 327 90 418 2 328 91 420 3 328 91 420 4 329 92 421 Produtividade Média Exponencial Ticks 0 11 0 300 1 11 0 300 2 11 0 300 3 11 0 300 4 11 0 300 In [17]: # Train Decision Tree - Create decision tree classifer object clf = DecisionTreeClassifier(criterion='gini', random_state=0) # Train random forest using most important featres (treino e classes) clf = clf.fit(X, y) In [18]: feature_names = list(X.columns) feature_names Out[18]: ['Taxa de Crescimento da Demanda', 'Produtividade Máxima', 'Celulas com Demandas', 'Demandas Atendidas', 'Demandas Pendentes', 'Total de Demandas', 'Produtividade Média', 'Exponencial', 'Ticks'] In [19]: dot_data = tree.export_graphviz(clf, out_file=None, feature_names=feature_names, class_names=Exp, filled=True, rounded=True, special_characters=True) 7
  • 8. # Draw graph graph = pydotplus.graph_from_dot_data(dot_data) # Show graph Image(graph.create_png()) Out[19]: 8