Home › Fóruns › Fórum Deep Learning com Python de A a Z: O Curso Completo › TypeError: only integer scalar arrays can be converted to a scalar index
Marcado: Detecção de suspeitas de fraude
- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 2 anos, 1 mês atrás por
Fábio Spak.
- AutorPosts
- 8 de janeiro de 2023 às 01:15 #38924
posicoes = df.iloc[:, 2:17].values
Y = df.iloc[:, [1]].values
Y[Y == ‘segunda-feira’] = 0
Y[Y == ‘terça-feira’] = 1
Y[Y == ‘quarta-feira’] = 2
Y[Y == ‘quinta-feira’] = 3
Y[Y == ‘sexta-feira’] = 4
Y[Y == ‘sábado’] = 5
Y[Y == ‘domingo’] = 6
Y = Y.astype(‘int64’)
normalizador = MinMaxScaler(feature_range=(0,1))
posicoes = normalizador.fit_transform(posicoes)som = MiniSom(x = 28, y = 28, input_len = 15, random_seed=0)
som.random_weights_init(posicoes)
som.train_random(data = posicoes, num_iteration = 1000)
som._activation_mappcolor(som.distance_map().T)
colorbar()
markers = [‘o’,’s’,’v’,’>’,'<‘,’^’,’1′]
color = [‘b’, ‘g’, ‘r’, ‘c’, ‘m’, ‘y’,’k’]for i, x in enumerate(posicoes):
w = som.winner(x)
plot(w[0] + 0.5, w[1] +0.5,markers[Y[i]], markerfacecolor = ‘None’,
markersize = 10, markeredgecolor = color[Y[i]], markeredgewidth = 2)Não consegui aplicar o markes [Y[i]] pois aparentemente ele não está como integer scalar. como resolvo?
11 de janeiro de 2023 às 20:52 #38940Problema resolvido!
Apesar de na aula não ter precisado, basicamente eu resolvi endereçando a coluna do Y no código:
for i, x in enumerate(posicoes):
w = som.winner(x)
plot(w[0] + 0.5, w[1] +0.5,markers[Y[i]], markerfacecolor = ‘None’,
markersize = 10, markeredgecolor = color[Y[i]], markeredgewidth = 2)wna parte [Y[i]] ele não estava considerando um número inteiro, então eu coloquei [Y[i,0]] sendo 0 a coluna a qual eu estava buscando o dado.
13 de janeiro de 2023 às 13:28 #38957Olá Renato, que bom que deu certo 😉
Fabio
- AutorPosts
- Você deve fazer login para responder a este tópico.