Pesquisar neste blog

Mostrando postagens com marcador Estatística. Mostrar todas as postagens
Mostrando postagens com marcador Estatística. Mostrar todas as postagens

17/04/2026

clusterização com K-Means + visualização gráfica em Python

import numpy as np

import matplotlib.pyplot as plt

from sklearn.datasets import make_blobs

from sklearn.cluster import KMeans


X, y_true = make_blobs(n_samples=300, centers=2, cluster_std=1.5, random_state=0)


kmeans = KMeans(n_clusters=2, n_init='auto')

kmeans.fit(X)


y_kmeans = kmeans.predict(X)

centers = kmeans.cluster_centers_


x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1

y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1

xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),

                     np.arange(y_min, y_max, 0.02))

Z = kmeans.predict(np.c_[xx.ravel(), yy.ravel()])

Z = Z.reshape(xx.shape)


plt.figure(figsize=(10, 6))

plt.contour(xx, yy, Z, colors='red', linewidths=2, linestyles='--')

plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis', alpha=0.7, edgecolors='k')

#plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, marker='X')

#plt.xlabel('Coordenada X')

#plt.ylabel('Coordenada Y')

plt.legend()

plt.grid(True, linestyle='--', alpha=0.5)

plt.show() 


Saída gerada








08/04/2026

Operações com Matrizes em linguagem R

require(matrixcalc)
require(Matrix)
require(ibd)
require(pracma)
require(matlib)
require(MASS)


###Matriz triangular inferior: utilizando o lower.triangle (matrixcalc)

A=matrix(-8:7,byrow=T,nrow=4)
lower.triangle(A)


#####Matriz triangular superior: utilizando o upper.triangle (matrixcalc)

upper.triangle(A)

####Matriz diagonal (ou antidiagonal): utilizando diag

diag(1:5)

diag(1:5)[5:1,]

####Matriz identidade

dim=5
diag(1,dim)

###Matriz transposta:

t(A)


###Operações com matrizes

A=matrix(c(1:8,-9),byrow=T,nrow=3)
B=matrix(c(4,8,9,5,6,2,3,2,2),byrow=T,nrow=3)
A+B
A-B
A %*% B
det(A)
det(B)
t(A)
round(solve(A),2)

###Potências de Matriz

##A^2

A=matrix(1:9,byrow=T,ncol=3)
A %*% A

###A^3

A %*% A %*% A

####Simplificando as tarefas com o comando matrix.power(matrixcalc)

matrix.power(A,2)

###Formas escalonadas

A=matrix(c(4,2,2,2,2,0,2,0,2),byrow=T,nrow=3)
gaussianElimination(A,verbose=T) 


###Outra alternativa é utilizar o comando rref(pracma) que traz a forma reduzida sem mostrar detalhes:

rref(A)


####Posto de uma matriz

Rank(A)

### Classificação com relação ao posto

A=matrix(1:9,ncol=3,byrow=T)
rref(A)
Rank(A)
###A tem posto incompleto

B=matrix(1:10,ncol=5,byrow=T)
rref(B)
Rank(B)
###B tem posto linha completo


C=matrix(-5:4,ncol=2,byrow=T)
rref(C)
Rank(C)
###C tem posto coluna completo

D=matrix(c(-5,1,3,2,5,9,12,-7,9,13,11,-10,-2,5,7,1),byrow=T,ncol=4)
rref(D)
Rank(D)
##D tem posto completo



24/11/2024

Distribuição de Frequências

ni = Quantidade de ocorrências
fi = Frequência Relativa
fi (%) = Frequência Percentual
fac = Frequência Acumulada
fac (%) = Frequência Percentual Acumulada


Fonte - Magalhães e Lima (2001) - Noções de Probabilidade e
Estatística Nota - Tabela parcial retirada da tabela original





























Resolução:

1. Ordenação da tabela em ordem crescente com base na classificação da coluna Peso































n = 50 observações

k = √n = √50 = 7,07 = 7 classes

h = ( maior valor - menor valor ) / 7 = ( 95 - 44 ) / 7 = 7,3

K = Número de classes :

K = √n = √50 = 7

h = Amplitude do intervalo

h = ( Maior valor - Menor valor ) / K

h = ( 95 - 44 ) / 7 = 7,28 

Li1 = Limite inferior da primeira classe, geralmente o menor valor da variável = 44,0

Ls1 = Limite superior da primeira classe  Ls1 = Li1 + h = 44,0 + 7,3 = 51,3

Li2 = Limite inferior da segunda classe = 51,3 

Ls2 = Limite superior da segunda classe  Ls2 = Li2 + h = 51,3 + 7,3 = 58,6


























fi1 = 10 / 50 = ,02
fi2 = 19 / 50 = 0,38
.
.
.

fac1 = ni1 = 10
fac2 = 10 + 19 = 29
fac3 = 29 + 7 = 36
.
.
.

fac1(%) = fi1(%) = 20
fac2(%) = 20 + 38 = 58
fac3(%) = 58 + 14 = 72
.
.
.