Novità

Software R e RSTUDIO chi li conosce?

Sto cercando di ovviare al problema della apparente incomunicabilità tra i due ambienti R e CONDA (anaconda) riferendomi solo al secondo con tutti i pacchetti python richiesti installati.. Vi farò sapere... ;)

Aggiornamento...

Dopo una lunga "chiaccherata..." e diversi tentativi... siamo... riusciti (o per meglio dire è... riuscita 🤖 ) a stilare questo script "funzionante..." in python :) Per quanto riguarda il primissimo test... per adesso ne avrebbe beccato a colpo 1 su 5 su ruota unica (l'8 su NA) by selezione di un cluster di classe 5 con miglior Total Error 51.000000 e Average Error 14.571429 in classe 5. Il tutto analizzando l'intero archivio di 10253 estrazioni della stessa in neanche un secondo! ⚡😱🤖🤪🙂

lo script per chi volesse cimentarsi anche... con python... 🐍 is this:

Codice:
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.impute import SimpleImputer

# Carica i dati dal file txt
data = []
with open("filediesempio.txt", "r") as file:
    for line in file:
        values = line.strip().split(".")
        values = [float(x) for x in values if x.strip() != ""]
        data.append(values)

# Crea un DataFrame dai dati
data = pd.DataFrame(data)

# Gestisci i valori mancanti
imputer = SimpleImputer(strategy="mean")
data = pd.DataFrame(imputer.fit_transform(data))

# Crea un oggetto KMeans con il numero di cluster desiderato
n_clusters = 5
kmeans = KMeans(n_clusters=n_clusters, random_state=42)

# Esegue il clustering sui dati
kmeans.fit(data)

# Aggiunge le etichette dei cluster al DataFrame dei dati
data["Cluster"] = kmeans.labels_

# Calcola gli errori totali e medi per ogni cluster
data["Total Error"] = data.sum(axis=1)
data["Average Error"] = data.mean(axis=1)

# Seleziona il miglior cluster per errori totali
best_cluster_total_error = data.loc[data["Total Error"].idxmin()]

# Seleziona il miglior cluster per errori medi
best_cluster_avg_error = data.loc[data["Average Error"].idxmin()]

# Stampa i risultati
print("Miglior cluster per errori totali:")
print(best_cluster_total_error)
print()
print("Miglior cluster per errori medi:")
print(best_cluster_avg_error)

Indipendentemente dal tipo di analisi (neurale) e di praticità o meno per quanto riguarda gli eventuali attuali ed eventuali futuri successi predittivi questa via elaborazionale : python + AI mi sta incuriosendo moltissimo se non altro per la rapidità incredibile con cui si riesce ad analizzare files anche piuttosto corposi... :unsure:

Il prossimo passo credo che sarà quello di provare a farle realizzare uno script python capace di analizzare in qualche modo... un file molto + grande di diciamo 100k righe ecc... 🤖 👀

👋🙂
 
Ultima modifica:
Aggiornamenti... "chat" 🧑‍🍳🤖

🧑‍🍳 quale è il limite di righe che può supportare nella visualizzazione a video nella shell conda?

🤖 Il limite di righe che possono essere visualizzate nella shell conda dipende dalla configurazione specifica del tuo ambiente e delle impostazioni del terminale. Tuttavia, di solito il numero di righe visualizzate può essere controllato tramite le impostazioni del terminale stesso.

Nella maggior parte dei terminali, puoi modificare il numero di righe visualizzate impostando l'altezza della finestra del terminale o tramite le opzioni di configurazione del terminale stesso. Ad esempio, puoi modificare l'altezza della finestra del terminale manualmente o utilizzare le impostazioni per impostare un numero specifico di righe da visualizzare.

Se stai lavorando con la shell conda all'interno di un IDE o di un'applicazione specifica, potrebbe esserci una configurazione aggiuntiva relativa alla visualizzazione delle righe che può essere controllata tramite le preferenze o le impostazioni dell'IDE o dell'applicazione stessa.

In definitiva, non c'è un limite fisso predefinito per il numero di righe visualizzate nella shell conda, ma dipende dalle impostazioni del tuo ambiente e del terminale che stai utilizzando.

🧑‍🍳 non intendo per visualizzarle tutte contemporaneamente ma a livello di run time può supportare ad esempio 46 milioni di righe?

🤖 La capacità di supportare 46 milioni di righe di output durante l'esecuzione dipenderà principalmente dalle risorse del tuo sistema, come la memoria disponibile e la potenza di calcolo. In teoria, se il tuo sistema dispone delle risorse necessarie, come una quantità sufficiente di memoria RAM, potrebbe essere in grado di gestire un output di tale dimensione.

Tuttavia, è importante tenere conto che l'output di 46 milioni di righe può richiedere una quantità significativa di memoria per essere conservato e visualizzato. Se l'output supera la capacità di memoria disponibile, potresti riscontrare problemi come rallentamenti del sistema o esaurimento della memoria.

Inoltre, la visualizzazione di un output così grande potrebbe richiedere molto tempo, poiché sarà necessario scorrere l'intero output per visualizzarlo nella shell. A seconda dell'implementazione e delle prestazioni del tuo ambiente di esecuzione, potrebbe richiedere un tempo considerevole per elaborare e visualizzare un output così ampio.

In sintesi, se il tuo sistema ha risorse sufficienti e l'implementazione del tuo ambiente di esecuzione è efficiente, potresti essere in grado di gestire un output di 46 milioni di righe. Tuttavia, tieni presente che potrebbero verificarsi problemi di memoria e tempi di elaborazione prolungati.

🧑‍🍳 con un sistema windows 11 pro e 16 gb di ram ce la faccio? Se si in quanto tempo circa?

🤖 Con un sistema Windows 11 Pro e 16 GB di RAM, dovresti essere in grado di gestire un output di 46 milioni di righe, ma potrebbero verificarsi rallentamenti del sistema e tempi di elaborazione prolungati.

Il tempo necessario per elaborare e visualizzare un output così ampio dipenderà da diversi fattori, tra cui l'efficienza del tuo ambiente di esecuzione e le specifiche del sistema. Tuttavia, con un output di questa dimensione, è ragionevole aspettarsi un tempo di elaborazione prolungato.

Senza conoscere ulteriori dettagli sul tuo specifico ambiente di esecuzione e sulle prestazioni del sistema, non è possibile fornire una stima precisa del tempo necessario. Potrebbe richiedere da diversi minuti a diverse ore per elaborare e visualizzare un output così grande.

Ti consiglio di fare alcuni test sul tuo sistema per valutare i tempi di esecuzione effettivi con l'output desiderato. In questo modo, potrai avere un'idea più accurata dei tempi di elaborazione specifici per il tuo caso d'uso.

screen shot fatto durante la generazione di test di 46 mln ca di righe in classe 5 by 90 per vedere se ce la fa, quanta ram "succhia" e quanto tempo ci mette... 👇⏳👾👾👾👾👾 by script python realizzato su mie indicazioni da lei... stessa... 🤖

stoprovandoagenerarletuttepervedereseciriesceinquantotempo.jpg


[continue...]
 
Ultima modifica:
Ciao Tom
Se non ricordo male anche tu hai dovuto cambiare PC ultimamente.
Se possibile ,potresti dirmi cosa hai preso e come ti trovi?
Non farò mai più elaborazioni lunghe ore xhe mi hanno bruciato la scheda madre, ma volevo capire più o meno le tempistiche .
Grazie:)
 
Ciao Tom
Se non ricordo male anche tu hai dovuto cambiare PC ultimamente.
Se possibile ,potresti dirmi cosa hai preso e come ti trovi?
Non farò mai più elaborazioni lunghe ore xhe mi hanno bruciato la scheda madre, ma volevo capire più o meno le tempistiche .
Grazie:)

Ciao mitico :) si ricordi bene... Io qualche mese fa ho preso esattamente questo mini pc nipogi a 16gb di ram e devo dire che per adesso mi trovo benissimo.

Per quanto riguarda l'aggiornamento dell'elaborazione di test...
Per adesso lo script python by AI mi ha generato 46 mln ca di formazioni by 90 in meno di 1 ora... :eek: (record assoluto per quanto riguarda tutte le mie precedenti durate analoghe). Purtroppo però per adesso sembra aver saltato in questo tempo le analisi quindi per adesso il test e il relativo risultato sono abbastanza inutili... :rolleyes::unsure:

inmenodiunoramasenzaanalisi.jpg

Anche se l'ultima chat intrapresa sembra in realtà piuttosto incoraggiante...

🧑‍🍳 per quanto riguarda lo script precedente saresti in grado di far risultare in output finale solo le formazioni rispettanti un qualsiasi filtro voluto? es. ritardo massimo o frequenza massima e di dire anche se queste risultanze sono uniche o hanno formazioni analoghe per gli stessi valori di filtro?

🤖 Certamente! Puoi modificare lo script per filtrare le formazioni in base a determinati criteri come il ritardo massimo o la frequenza massima desiderati. Inoltre, puoi determinare se le formazioni risultanti sono uniche o se ci sono formazioni analoghe per gli stessi valori di filtro.

Ecco una possibile modifica allo script che ti permette di ottenere le formazioni filtrate e determinare se sono uniche o hanno formazioni analoghe:

Nella funzione filter_formations, vengono confrontati i ritardi e le frequenze di ogni formazione con i valori massimi desiderati. Solo le formazioni che soddisfano entrambi i criteri di filtro vengono incluse nella lista filtered_formations.

La funzione check_duplicate_formations controlla se ci sono formazioni duplicate nella lista filtered_formations utilizzando un set per rimuovere le duplicazioni. Se la lunghezza del set delle formazioni filtrate è uguale alla lunghezza della lista originale, allora tutte le formazioni sono uniche.

Puoi personalizzare i valori di max_delay e max_frequency secondo le tue esigenze. Assicurati di inserire questi controlli dopo aver calcolato i ritardi, le frequenze e le formazioni.

Questa modifica ti permetterà di ottenere le formazioni filtrate in base ai criteri desiderati e di determinare se sono uniche o hanno formazioni analoghe.


👋🙂
 
Ultima modifica:
Aggiornamento "love story" 🧑‍🍳💞🤖 😄

Dopo svariati tentativi... sono riuscito a farle capire ed implementare il concetto di ritardo per varie classi e sorti e la frequenza ma quest'ultima solo per la sorte di estratto... 😌

ecco la chat o per meglio dire "prompt" con cui sono riuscito infine a farle apprendere il concetto di ritardo:


🧑‍🍳 esaminiamo le varie sorti di ricerca che possono essere valori interi da 1 a 5
valore 1 esempio fittizio

formazione generata da tabella 01.02.03 formazione presente nel file txt 01.22.30 sorte verificata perchè è presente almeno un valore comune... il ritardo va a 0

formazione generata da tabella 01.02.03 formazione presente nel file txt 01.22.02 sorte verificata perchè è presente almeno un valore comune... il ritardo va a 0 perchè sono presenti sia lo 01 che lo 02 in entrambe le formazioni analizzate

formazione generata da tabella 01.02.03 formazione presente nel file txt 01.02.03 sorte verificata perchè è presente almeno un valore comune... il ritardo va a 0 perchè sono presenti sia lo 01 che lo 02 che lo 03 in entrambe le formazioni analizzate

analogamente per la sorte 2,3,4,5 dove però le minime presenze rilevate in entrambe le formazioni analizzate di volta in volta devono essere rispettivamente 2,3,4,5

dimmi se non sono stato chiaro e come potrei cercare di spiegarti il significato di sorte di ricerca in altro modo

🤖 Grazie per l'esempio dettagliato. Ora ho una comprensione chiara di come dovrebbe funzionare la "sorte di ricerca al lotto" nello script. Ti spiegherò come puoi aggiungere questa funzionalità all'interno dello script.

Dovrai apportare alcune modifiche alla funzione analyze_formations per gestire la "sorte di ricerca al lotto". Ecco un'implementazione aggiornata della funzione:

Nella funzione aggiornata, ho aggiunto un nuovo parametro batch_sort che rappresenta la "sorte di ricerca al lotto" desiderata. All'interno del ciclo for che analizza le formazioni, verifichiamo se il numero di valori comuni tra la formazione generata e la formazione nel file di testo è maggiore o uguale alla batch_sort. Se ciò è vero, aggiorniamo il ritardo, incrementiamo la frequenza e teniamo traccia del ritardo massimo.

Ora puoi utilizzare la funzione analyze_formations aggiornata nel resto dello script. Quando chiami questa funzione, passa il valore corretto per il parametro batch_sort in base alla "sorte di ricerca al lotto" che desideri applicare.

Spero che questo chiarisca il concetto di "sorte di ricerca al lotto" e ti aiuti a modificare lo script di conseguenza. Fammi sapere se hai altre domande o dubbi!
 
Ultima modifica:
Aggiornamento "love story" 🧑‍🍳💞🤖 😄

Dopo svariati tentativi... sono riuscito a farle capire ed implementare il concetto di ritardo per varie classi e sorti e la frequenza ma quest'ultima solo per la sorte di estratto... 😌

ecco la chat o per meglio dire "prompt" con cui sono riuscito infine a farle apprendere il concetto di ritardo:
È chiaro che ha generato la funzione.
Questa funzione diventa di pubblico dominio (mi riferisco al costrutto della stessa) e quindi ha imparato un concetto di freq. è ritardo per il lotto. In sintesi hai trovato il "sostituto di Luigi"
Scansafatiche
:eek::ROFLMAO::ROFLMAO::ROFLMAO::ROFLMAO:
 
Intanto ti auguro che appena riesci a realizzare i tuoi primi successi, (addestrando la tua amata prima o poi tornerà un buon risultato da mettere in gioco) con la vincita potrai comprarti un bel Gaming PC che potrai sfruttare per la potenza di calcolo, al posto dei vecchi sistemi di computer cluster. Sai bene che 16gb di ram a volte non bastano neanche a Chrome, ma per ora nei primi test è abbastanza, credo. Ti seguo con interesse, anche perchè in un Forum di lotto sei una scoperta inoltrandoti in discorsi complessi come la programmazione e l'AI, non ci avrei fatto caso se questo argomento lo avrei letto in "StackOverflow" ad esempio. C'è da dire che su quella piattoforma che purtroppo oggi non è più necessaria come un tempo hanno addirittura vietato le risposte generata da ChatGpt, ma non perchè sono qualche volta inessatte come dicono loro, ma solo perchè presto non ci sarà più bisogno di portali del genere, ma basta solo ammetterlo, tutto avanza è una realtà, un tempo di scrivevano le e-zine, era tra alcuni di loro, oggi a cosa servono se non per attacchi di nostalgia?? Aspetto di vincere con una tua previsione, dacci dentro. Ciao
 
È chiaro che ha generato la funzione.
Questa funzione diventa di pubblico dominio (mi riferisco al costrutto della stessa) e quindi ha imparato un concetto di freq. è ritardo per il lotto. In sintesi hai trovato il "sostituto di Luigi"
Scansafatiche
:eek::ROFLMAO::ROFLMAO::ROFLMAO::ROFLMAO:

No no al grande megalodonte LuigiB, che sembra ritornato negli abissi... e che saluto, l'AI caludio8, almeno per adesso..., "non gli lega manco le scarpe" come si dice... :D Nel senso che faccio fatica a spiegargli cos'è un ritardo, una frequenza ecc... Ad ogni modo se tra tutti gli appassionati programmatori e lotto amatori si trovasse il modo di ottimizzare i prompt per trasmetterle in modo più chiaro possibile gli "ordini" lotto ludici lei sarebbe totalmente in grado di eseguirli... Per adesso sono rimasto entusiasta in questo campo dalla sua velocità di elaborazione, di realizzazione script (anche se spesso errati) e dalla sua abilità di variazione di ambienti di linguaggio di programmazione... (es. passa dal vbs al vb al c al python con una disinvoltura spiazzante...). In pratica è come avere un potenziale LuigiB si... ,anzi un Luigi "potenziato" che conosce tutti i linguaggi di programmazione..., ma che non ne capisce un acca di lotto... e che non può accedere ad internet per aggiornarsi in tempo reale sulle estrazioni, news, ecc.. e a cui bisogna cercare di spiegargli come ad un bambino tutte le basi lotto ludiche da zero... 🫠

A proposito... chiedo a voi che seguite il thread... qualche spunto per spiegarle queste due cose piuttosto fondamentali ma che ancora non sono riuscito a farle capire ed implementare:

il ritardo storico.

la frequenza per sorti superiori all'estratto indipendentemente dalla classe di sviluppo.

il tutto riferendosi a due gruppi di formazioni:
uno generato da gruppo base scelto da tabella e della classe di sviluppo desiderata (es. terzine) e l'altro rappresentante l'archivio delle estrazioni dal 1871 su ruota singola (es. NA). Entrambi devono avere lo stesso formato di numeri a uno o due cifre intervallati da carattere punto del tipo 01.10.32.67.90.18.04.17.44.09.21.88.30 ovviamente il primo sarà della classe di sviluppo scelta (nell'es. pari a 3) e l'altro sempre di classe 5 ovvero della classe pari al numero degli estratti in ogni estrazione.

Una volta che avrà e se avrà digerito questo potremo passare a cercare di farle capire ed implementare anche il super power incmax 😎

Good Sunday Every Body ☀️ 👋 :)

ps: sono sicuro che appena ilegend tornerà in pista con un nuovo calculateur... se ne innamorerà... perdutamente anche lui... e la subisserà di domande... come il sottoscritto 😄
 
Ultima modifica:
Gli passi una tua lunghetta e un estrazione e conti .
Scrivigli in pseudo codice.

In pratica l AI impara dagli esempi.
Fagli degli
 
Oggi ho scoperto che sarebbe in grado anche di realizzare un plugin per wordpress.. Peccato però che dopo averne creato uno semplice di esempio e dopo averlo riconosciuto all'interno della piattaforma cms come plugin disattivo/attivo con tanto di icona ingranaggio non abbia funzionato... :( :)
 
Grazie per i fingers up! :)

Riguardo alla win di ieri sera mi appunto e condivido sia lo script .ls per generare l'archivio estrazioni della dimensione voluta nel formato corretto per questo particolare tipo di analisi , sia lo script, generato su mia richiesta/indicazione da cgpt per l'ambiente di programmazione open source R:

L'esito di A in 5ina si è avuto al 4° colpo con l'archivio della ruota target di NA aggiornato al 17/6/2023 che contava nel relativo file di testo filediesempio.txt le ultime 1800 estrazioni con l'ultima (la più recente) nella prima riga del file e tutte le altre a scendere...

Script che mi sono autocostruito per generare nel formato richiesto (con 5 numeri intervallati da carattere punto a sinistra e 5 spazi vuoti intervallati da carattere punto a destra) l'archivio estrazioni per la ruota voluta da dare in pasto.. allo script R subito sottostante...

script .ls

Codice:
Option Explicit
Sub Main
   'Semplicissimo scriptino per visualizzare sempre in modo aggiornato le "ultime TOTA estrazioni del lotto".
   'Nel caso si necessiti di visualizzarne di più basta ovviamente cambiare il valore ESTRAZIONEINI con il + confacente (es. per le ultime 100 estrazioni basterà spostare la relativa barra sulle ultime 100 ecc...)
   Dim es
   Dim ruota
   Dim Inizio
   Inizio = EstrazioneIni 'EstrazioneFin - 1800 'EstrazioneFin - 18 ' - EstrazioneFin-1
   'For es = Inizio To EstrazioneFin
   For es = EstrazioneFin To Inizio Step - 1 'EstrazioneFin step -1
      'Scrivi
      'Scrivi "Estrazione del " & GetInfoEstrazione(es)
      'Scrivi
      For ruota = 6 To 6  ' in questo caso la ruota 6 è NAPOLI ma ovviamente si può generare l'archivio per la ruota o ruote volute cambiando il relativo numero...
         If ruota = 11 Then
            ruota = 12
         End If
         'Scrivi "ruota " & NomeRuota(ruota) & "-" & StringaEstratti(es,ruota,".")
         Scrivi StringaEstratti(es,ruota,".") & "." & " " & "." & " " & "." & " " & "." & " " & "." & " " & "." & " "
         If ScriptInterrotto Then Exit For
      Next 'x ruota
      If ScriptInterrotto Then Exit For
   Next ' x es
End Sub

Script R generato da cgpt su mia richiesta per analisi riduzionale neurale per qualsiasi file txt opportunatamente formattato...

Codice:
# Installa i pacchetti necessari se non sono già installati
if (!require(readr)) {
  install.packages("readr")
}
if (!require(dplyr)) {
  install.packages("dplyr")
}
if (!require(tidyr)) {
  install.packages("tidyr")
}

# Carica i pacchetti
library(stringr)
library(readr)
library(dplyr)
library(tidyr)

# Percorso del file txt
file_path <- "filediesempio.txt"

# Leggi le righe dal file
lines <- readLines(file_path)

# Crea un dataframe vuoto per i dati
data <- data.frame()

# Estrai i numeri dalle righe valide
for (line in lines) {
  numbers <- str_extract_all(line, "\\d+")[[1]]
  if (length(numbers) == 5) {
    data <- rbind(data, as.numeric(numbers))
  }
}

# Assegna i nomi alle colonne
colnames(data) <- c("Num1", "Num2", "Num3", "Num4", "Num5")

# Esegui K-means multiple volte e salva tutte le soluzioni
num_clusters <- 5
results <- list()
best_error <- Inf

for (i in 1:10) {
  # Esegui K-means con configurazione iniziale casuale
  set.seed(i)
  clusters <- kmeans(data, centers = num_clusters)
 
  # Calcola l'errore totale e l'errore medio
  total_error <- sum(sqrt(rowSums((data - clusters$centers[clusters$cluster, ])^2)))
  average_error <- total_error / nrow(data)
 
  # Aggiorna i risultati migliori
  if (average_error < best_error) {
    best_error <- average_error
    best_clusters <- clusters
  }
 
  # Salva il risultato corrente
  results[[i]] <- list(clusters = clusters, total_error = total_error, average_error = average_error)
}

# Stampa tutte le soluzioni ottenute
cat("Soluzioni ottenute:\n")
for (i in 1:length(results)) {
  cat("Soluzione", i, "\n")
  cluster <- round(results[[i]]$clusters$centers[1, ])
  cat(paste(cluster, collapse = "\t"), "\n")
  cat("TotalError:", results[[i]]$total_error, "\n")
  cat("AverageError:", results[[i]]$average_error, "\n\n")
}

# Stampa la soluzione teoricamente ottimale
cat("Soluzione teoricamente ottimale:\n")
cluster <- round(best_clusters$centers[1, ])
cat(paste(cluster, collapse = "\t"), "\n")
cat("TotalError:", best_error, "\n")
cat("AverageError:", best_error, "\n")


L'ambo 43-69 è stato centrato in un cluster di classe 5 al 4° colpo dal suo rilevamento su analisi con 10 iterazioni delle ultime 1800 estrazioni sulla ruota di NA con file txt archivio estrazioni solo per quella ruota aggiornato all'estrazione del 17/6/2023 ma ovviamente è possibile cercare di ottimizzare l'analisi in vari modi. Ad esempio utilizzando archivi + corposi e anche un maggior numero di iterazioni...

In quel caso winner i valori teoricamente ottimali di total e average error erano risultati questi:

TotalError: 43.82112
AverageError: 43.82112


nota: la versione R + recente per windows sembra essere la 4.3.1
una volta installato R (come qualsiasi altro programma) dalla consolle per poter eseguire i vari script R è necessario impostare prima la cartella di default dove il programma possa rilevare gli script .R con questo comando:

setwd("C:/Users/admin/Desktop/ReRSTUDIO/")


dove ovviamente al posto di "C:/Users/admin/Desktop/ReRSTUDIO/"
ci andrà messo il proprio percorso degli script .R
Attenzione a mettere le barre rovesciate rispetto a come si mettono di solito altrimenti il path non verrà riconosciuto e lo script R non funzionerà...

Infine per eseguire lo script R da linea di comando della consolle R basterà digitare:


source ("nomescript.R")

dove ovviamente al posto di
"nomescript.R"
ci andrà messo il nome del proprio script .R che intendiamo eseguire...


Appena finisce la nuova analisi condotta su 10256 estrazioni su NA e 10000 iterazioni posto anche i nuovi 5 cluster di test :)


Soluzione teoricamente ottimale:

63 40 46 27 21

TotalError: 44.45869
AverageError: 44.45869

colpi teorici : 4 come il caso winner (+1).


Il valore lievemente... maggiore rispetto a quello del caso winner di studio... potrebbe dipendere essenzialmente dall'archivio molto + corposo esaminato di ben 10256 estrazioni anzichè solo 1800.

Msg di mancata ottimizzazione di ricerca neurale : ci sono 50 o più avvertimenti (utilizza warnings() per visualizzare i primi 50). In sostanza con la configurazione testata sembra che almeno per 50 volte lo script non sia riuscito a convergere in modo stabile sui risultati ipotizzati...

ma il significato di tutto ciò lo può spiegare meglio la stessa cgpt forse...
🤔🫠

🤖 "Quando si applica l'algoritmo di ottimizzazione, come ad esempio l'algoritmo K-means, l'obiettivo è trovare la migliore configurazione dei cluster in base ai dati di input. L'algoritmo funziona iterativamente, aggiustando i cluster in ogni iterazione per minimizzare l'errore o massimizzare una funzione di costo.

La convergenza dell'algoritmo si verifica quando non si verificano più modifiche significative ai cluster tra le iterazioni successive. In altre parole, l'algoritmo ha raggiunto uno stato stabile in cui i cluster risultanti sono considerati ottimali o vicini all'ottimo.

Nel tuo caso, il messaggio di avvertimento indica che l'algoritmo K-means non è riuscito a raggiungere uno stato di convergenza entro 10 iterazioni. Ciò può significare che l'algoritmo non è riuscito a trovare una configurazione stabile dei cluster che minimizzasse l'errore o massimizzasse la funzione di costo dopo un numero limitato di iterazioni.

Potrebbero esserci diverse ragioni per la mancata convergenza dell'algoritmo, ad esempio dati particolarmente complessi o configurazioni iniziali non ottimali dei cluster. Per affrontare questo problema, puoi provare diverse soluzioni, come aumentare il numero di iterazioni, modificare i parametri dell'algoritmo o utilizzare una diversa inizializzazione dei cluster.

L'obiettivo è ottenere una convergenza dell'algoritmo, in modo che produca una soluzione stabile e soddisfacente per i tuoi dati specifici."


Nessuna Certezza Solo Poca Probabilità
 
Ultima modifica:
Forse i buchi presenti nell archivio iniziale potrebbero dare queste risultanze.
Non ricordo quando cominciano l estrazioni senza buchi.

Ma questo script è più veloce di spaziometria?
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 31 agosto 2024
    Bari
    88
    20
    52
    44
    64
    Cagliari
    28
    21
    22
    61
    10
    Firenze
    46
    36
    17
    49
    28
    Genova
    53
    69
    68
    01
    43
    Milano
    79
    03
    19
    83
    55
    Napoli
    02
    81
    65
    43
    79
    Palermo
    52
    01
    74
    51
    80
    Roma
    63
    41
    15
    73
    40
    Torino
    84
    56
    66
    87
    19
    Venezia
    19
    20
    89
    34
    24
    Nazionale
    23
    25
    39
    46
    53
    Estrazione Simbolotto
    Nazionale
    22
    12
    05
    38
    29
Indietro
Alto