Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione
realme C100x scommette tutto, forse troppo, sulla batteria da 7500 mAh e sulla certificazione ArmorShell per farsi notare nella fascia più economica del mercato: lo abbiamo messo alla prova per capire a chi è rivolto questo smartphone che sacrifica un po' prestazioni, display e fotocamera per offrire l'autonomia migliore possibile a un prezzo decisamente contenuto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-09-2014, 07:19   #1
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Di una serie di valori eleggere il più probabile

Ho una serie di numeri:
1
2
3
4
4.5
4.6
4.7
4.88
4.9
5
5.01
5.03
6
7
8
9
10
11
12
13
14
15

Come vedete i numeri vicini al 5 sono più probabili rispetto a tutti gli altri. Non posso fare la moda perchè comunque ogni valore ricorre una volta.

Esiste un metodo statistico che come output mi dia 5 ?

Grazie
das è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 08:36   #2
Daidlup
Member
 
Iscritto dal: Sep 2014
Città: Firenze
Messaggi: 143
Ciao, non esiste la moda, ma se intendi come valore più probabile il valore intero potresti far così: una volta preso in input il vettore di valori, scrivi un secondo vettore in cui ad ogni elemento sostituisci l'approssimazione per arrotondamento, così che successivamente su tale nuovo vettore puoi eseguire la moda, il tutto automatizzato da un ciclo for per esempio.
Daidlup è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 16:10   #3
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Quote:
Originariamente inviato da Daidlup Guarda i messaggi
Ciao, non esiste la moda, ma se intendi come valore più probabile il valore intero potresti far così: una volta preso in input il vettore di valori, scrivi un secondo vettore in cui ad ogni elemento sostituisci l'approssimazione per arrotondamento, così che successivamente su tale nuovo vettore puoi eseguire la moda, il tutto automatizzato da un ciclo for per esempio.
Non intendo il valore intero, ma facendo ricerche su internet ho capito che il mio è un problema di clustering:
raggruppare tra loro i valori più vicini e poi fare la media del gruppo più numeroso.

Ultima modifica di das : 15-09-2014 alle 16:17.
das è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 16:42   #4
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
ma su cosa verte la domanda ? Ti serve un consiglio su quale linguaggio di programmazione usare ?
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 18:36   #5
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
ma su cosa verte la domanda ? Ti serve un consiglio su quale linguaggio di programmazione usare ?
No, non sul linguaggio ma proprio sull'algoritmo.
Detto con un disegno la domanda è questa:
http://i.imgur.com/fYPIjAd.png?1
I puntini sono i miei numeri. Più sono lontani più rappresentano numeri lontani tra loro. Come puoi vedere dal disegno sono vicini tra loro a gruppetti:
1.1
1.2
1.3
1.4

3.4
3.5
3.6
3.9
4.2

4.9
5.0
5.3
5.5

7.9
8
8.2
8.3

10
10.2
10.3
10.6
10.55
10.553

Quindi li posso dividere in n sottoinsiemi che nel disegno ho rappresentato come cerchi.

Come faccio a fare questa divisione in cerchi ?
Come faccio ad individuare il cerchio blu ? (Cioè quello con più puntini al suo interno ?)

Ultima modifica di das : 15-09-2014 alle 21:44.
das è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 19:30   #6
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
hai linkato male l'immagine, uppala su un sito esterno come http://imgur.com/ e re-pubblicala.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 21:45   #7
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
hai linkato male l'immagine, uppala su un sito esterno come http://imgur.com/ e re-pubblicala.
Ma non so perchè non la mostra nonostante il tag [IMG]. Va bè comunque c'è il link

http://i.imgur.com/fYPIjAd.png?1
das è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2014, 08:59   #8
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
ti interessa semplicemente determinare il picco della distribuzione di probabilità empirica associata, che non coinciderà con il valore medio né con la moda della tua seria di dati, come hai già notato.
Solo che cercando su internet il problema sembrerebbe più complicato del previsto. All'inizio pensavo fosse solo una funzioncina di quattro righe.
das è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2014, 10:39   #9
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Oltretutto hai già i numeri in ordine crescente. Per "raggrupparli" basta scorrere la lista e guardare se la differenza con il numero successivo è minore di un certo valore.

Codice:
def find_cluster(list, lim)
  cluster = []
  candidate = []

  for i in 0 ... list.size
    candidate << list[i]

    if candidate.size > cluster.size
      cluster = candidate
    end

    if i < list.size - 1
      unless (list[i + 1] - list[i]) < lim
        candidate = []
      end
    end
  end

  cluster
end

list = [1, 2, 3, 4, 4.5, 4.6, 4.7, 4.88, 4.9, 5, 5.01, 5.03, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
lim = 0.1

puts find_cluster(list, lim)
Questo trova il gruppetto [4.88, 4.9, 5, 5.01, 5.03] in cui il valore centrale è proprio 5 (pura fortuna).
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2014, 11:37   #10
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
perché più complicato del previsto? definisci un intervallo associato ad ogni valore (es, per il valore X, da X-0.5 a X+0.5, e conta il numero di occorrenze che cadono all'interno di quell'intervallo)... se il numero di occorrenze è troppo elevato puoi ripetere il procedimento solamente su quell'intervallo raffinando la stima (usando un numero maggiore di punti in quell'intervallo e contando le occorrenze in ogni sottointervallo))
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Oltretutto hai già i numeri in ordine crescente. Per "raggrupparli" basta scorrere la lista e guardare se la differenza con il numero successivo è minore di un certo valore.

Codice:
def find_cluster(list, lim)
  cluster = []
  candidate = []

  for i in 0 ... list.size
    candidate << list[i]

    if candidate.size > cluster.size
      cluster = candidate
    end

    if i < list.size - 1
      unless (list[i + 1] - list[i]) < lim
        candidate = []
      end
    end
  end

  cluster
end

list = [1, 2, 3, 4, 4.5, 4.6, 4.7, 4.88, 4.9, 5, 5.01, 5.03, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
lim = 0.1

puts find_cluster(list, lim)
Questo trova il gruppetto [4.88, 4.9, 5, 5.01, 5.03] in cui il valore centrale è proprio 5 (pura fortuna).
Complicato perchè non conosco a prescindere un intervallo minimo o il numero di cluster. Deve essere auto-adattativo
Ho trovato un algoritmo che lo fa, si chiama Self-Organising -Map. Solo che me lo devo scrivere visto che non si trovano librerie che lo contengano mi pare
das è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2014, 12:19   #11
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Quote:
Originariamente inviato da das Guarda i messaggi
Complicato perchè non conosco a prescindere un intervallo minimo o il numero di cluster. Deve essere auto-adattativo
Ho trovato un algoritmo che lo fa, si chiama Self-Organising -Map. Solo che me lo devo scrivere visto che non si trovano librerie che lo contengano mi pare
A pensarci bene il mio caso è molto più semplice perchè ho una sola dimensione.
Sto elucubrando:

- se mi scelgo un punto a caso
- da lì faccio partire il raggio di un cerchio fino a quando non viene inglobato un altro punto
- creo un nuovo cerchio con centro nel baricentro dei due punti precedenti.
- lo allargo fino a trovare un altro punto
- valuto la deviazione standard delle distanze
- creo un nuovo cerchio con centro nel baricentro dei tre punti precedenti.
- e così via allargando il cerchio fino a quando la deviazione non supera una certa soglia

- riparto da un punto esterno al cerchio e mi trovo un altro gruppo

oppure di tutte le combinazioni possibili trovare quella per cui la deviazione standard in ogni gruppo è più simile possibile a quella degli altri gruppi

Boh, waiting for elucubrazioni/aiuto
das è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
ECOVACS T90S PRO OMNI Care Kit a 699€: 4...
iPhone Duo, i problemi di produzione con...
Lenovo e FIFA, il bilancio dei Mondiali ...
La Terra vista dalla Stazione Spaziale: ...
L'IA cinese ti spiega come produrre armi...
Nuova Fire TV Stick 4K e Telecomando Fir...
Addio Visa e Mastercard? L'Europa prepar...
Allarme IA in Florida: lo stato invoca i...
Tutte le Offerte Prime anticipate: robot...
Procura di Sassari e Oxygen Forensics: i...
Duo-Man trasforma iPhone Duo in un Walkm...
Questa carta da parati produce elettrici...
Perseverance scopre su Marte rocce mai o...
Batterie allo stato solido, Gotion alza ...
Caviar presenta la Black Edition di iPho...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v