Re: VOX Triunfará !
Jajajaja, que cultivados son estos de la derecha, "biene" dice el tío y se queda tan oreao.
Jajajaja, que cultivados son estos de la derecha, "biene" dice el tío y se queda tan oreao.
Algunos van más lejos todavía.
Es que hay animales que valen más que muchas personas.
Incluso más que algunos animalitos como tú.
Hay que poner cosas sencillitas, este de abajo ya es mas complicado, al que encuentre el error le dara dinero en bolsa
#-----Data X------------------
evalq({
list(
pretrain = list(
x = DT$pretrain %>% dplyr::select(+c(Data, Class)) %>% as.data.frame(),
y = DT$pretrain$Class %>% as.data.frame()
),
train = list(
x = DT$train %>% dplyr::select(+c(Data, Class)) %>% as.data.frame(),
y = DT$train$Class %>% as.data.frame()
),
test = list(
x = DT$val %>% dplyr::select(+c(Data, Class)) %>% as.data.frame(),
y = DT$val$Class %>% as.data.frame()
),
test1 = list(
x = DT$test %>% dplyr::select(+c(Data, Class)) %>% as.data.frame(),
y = DT$test$Class %>% as.vector()
)
) -> X
}, env)
Los conjuntos para la realización de experimentos ya están listos.
Necesitamos una función que calcule la métrica según los resultados de la simulación. El valor mean(F1) lo usaremos como criterio de optimización (maximización). Cargamos esta función en el entorno env.
evalq(
#input actual & predicted vectors or actual vs predicted confusion matrix
# https://github.com/saidbleik/Evaluation/blob/master/eval.R
Evaluate <- function(actual=NULL, predicted=NULL, cm=NULL){
if (is.null(cm)) {
actual = actual[!is.na(actual)]
predicted = predicted[!is.na(predicted)]
f = factor(union(unique(actual), unique(predicted)))
actual = factor(actual, levels = levels(f))
predicted = factor(predicted, levels = levels(f))
cm = as.matrix(table(Actual = actual, Predicted = predicted))
}
n = sum(cm) # number of instances
nc = nrow(cm) # number of classes
diag = diag(cm) # number of correctly classified instances per class
rowsums = apply(cm, 1, sum) # number of instances per class
colsums = apply(cm, 2, sum) # number of predictions per class
p = rowsums / n # distribution of instances over the classes
q = colsums / n # distribution of instances over the predicted classes
#accuracy
accuracy = sum(diag) / n
#per class
recall = diag / rowsums
precision = diag / colsums
f1 = 2 * precision * recall / (precision + recall)
#macro
macroPrecision = mean(precision)
macroRecall = mean(recall)
macroF1 = mean(f1)
#1-vs-all matrix
oneVsAll = lapply(1:nc,
function(i){
v = c(cm[i,i],
rowsums[i] - cm[i,i],
colsums[i] - cm[i,i],
n - rowsums[i] - colsums[i] + cm[i,i]);
return(matrix(v, nrow = 2, byrow = T))})
s = matrix(0, nrow = 2, ncol = 2)
for (i in 1:nc) {s = s + oneVsAll[[i]]}
#avg accuracy
avgAccuracy = sum(diag(s))/sum(s)
#micro
microPrf = (diag(s) / apply(s,1, sum))[1];
#majority class
mcIndex = which(rowsums == max(rowsums))[1] # majority-class index
mcAccuracy = as.numeric(p[mcIndex])
mcRecall = 0*p; mcRecall[mcIndex] = 1
mcPrecision = 0*p; mcPrecision[mcIndex] = p[mcIndex]
mcF1 = 0*p; mcF1[mcIndex] = 2 * mcPrecision[mcIndex] / (mcPrecision[mcIndex] + 1)
#random accuracy
expAccuracy = sum(p*q)
#kappa
kappa = (accuracy - expAccuracy) / (1 - expAccuracy)
#random guess
rgAccuracy = 1 / nc
rgPrecision = p
rgRecall = 0*p + 1 / nc
rgF1 = 2 * p / (nc * p + 1)
#rnd weighted
rwgAccurcy = sum(p^2)
rwgPrecision = p
rwgRecall = p
rwgF1 = p
classNames = names(diag)
if (is.null(classNames)) classNames = paste("C",(1:nc),sep = "")
return(list(
ConfusionMatrix = cm,
Metrics = data.frame(
Class = classNames,
Accuracy = accuracy,
Precision = precision,
Recall = recall,
F1 = f1,
MacroAvgPrecision = macroPrecision,
MacroAvgRecall = macroRecall,
MacroAvgF1 = macroF1,
AvgAccuracy = avgAccuracy,
MicroAvgPrecision = microPrf,
MicroAvgRecall = microPrf,
MicroAvgF1 = microPrf,
MajorityClassAccuracy = mcAccuracy,
MajorityClassPrecision = mcPrecision,
MajorityClassRecall = mcRecall,
MajorityClassF1 = mcF1,
Kappa = kappa,
RandomGuessAccuracy = rgAccuracy,
RandomGuessPrecision = rgPrecision,
RandomGuessRecall = rgRecall,
RandomGuessF1 = rgF1,
RandomWeightedGuessAccurcy = rwgAccurcy,
RandomWeightedGuessPrecision = rwgPrecision,
RandomWeightedGuessRecall = rwgRecall,
RandomWeightedGuessWeightedF1 = rwgF1)))
}, env)
#-------------------------
¿Eres el autor? Si no lo eres deberías poner la fuente para que nadie te pueda decir que te apropias del trabajo de los demás.
Y por supuesto más que tú
Explosión en un bloque de apartamentos en el norte de Estocolmo
publicado ayer 21.50
El martes por la noche se produjo algún tipo de detonación en una pizzería ubicada en el piso de la calle de una casa multifamiliar en Kista. El grupo nacional de bombardeos fue llamado después de la explosión que destruyó la entrada a la pizzería.
"Puedo confirmar que se cerró de golpe pero no qué", dice Mikael Pettersson, oficial a cargo de la policía.
Varias personas alertaron a la policía en la 22ª vez después de que se escuchó una fuerte explosión en la planta baja de una casa multifamiliar en el área residencial de Ärvinge en Kista, pero los detalles sobre el incidente aún no están claros.
- Debe ser una explosión y usted ha notado una corteza de vidrio en la propiedad, dice Anna Westberg, oficial de prensa de la policía en Estocolmo.
Según la información proporcionada a SVT, la explosión tuvo lugar en una pizzería a nivel del suelo en el edificio residencial. Un alojamiento en un apartamento encima de la pizzería le dijo al fotógrafo independiente de SVT que el sonido de la explosión era muy poderoso y que olía a humo.
Para tratar de obtener más información, la policía trató de encontrar más testigos.
- Hemos tenido un tirador en el área para recopilar información, dice la portavoz de la prensa de la policía, Anna Westberg, a TT.
La policía ha iniciado una investigación preliminar sobre la destrucción peligrosa general. No hay información sobre lesiones personales relacionadas con la explosión.
https://www.svt.se/nyheter/lokalt/st...orra-stockholm
------------------
https://www.forocoches.com/foro/showthread.php?t=6960640
----------------------
Esta es la clase de basura de noticias especuladoras falsas y sus terroristas delincuentes mentirosos que nos espera... y seguimos sin entender el fino sarcasmo e ironia de El jueves, tomado en lo literal.
LOS CHIKOS DEL MAIZ - T.E.R.R.O.R.I.S.M.O. con HABEAS CORPUS
Un saludo
Ciertamente el Programa tiene buena pinta:
miguel, por favor quita EL AGUILA es un símbolo fascista !!!