2017-08-16 1 views
1

Par exemple, nous voulons calculer la moyenne d'une liste de nombres où la liste est si longue. et que les nombres triés sont presque linéaires (ou nous pouvons trouver un modèle de régression linéaire pour les données). Mathématiquement, nous pouvons regrouper par moyenneExiste-t-il une forme d'évaluation paresseuse où une fonction (comme la moyenne) renvoie une valeur approximative lors d'une opération sur des tableaux

((arr[0] + arr[length(arr)])/2) + intercept 

Ou dans le cas, le modèle linéaire est presque constante (coefficient de pente est presque 1). nous pouvons calculer approximativement:

mean(arr[n/const]) = mean(arr) 

Le même concept est appliqué pour les deux cas. et est si basique. Existe-t-il un moyen: modèle, fonction (espérons-le en python), ou toute étude à suggérer et qui peut aider sera la bienvenue; Bien sûr, un tel modèle s'il existe devrait être général et non seulement pour le cas moyen (probablement toute fonction ou au moins des fonctions d'agrégation comme: somme, moyenne ...). (comme je n'ai pas de solides connaissances en mathématiques et que je suis novice en apprentissage automatique, veuillez tolérer mon ignorance). S'il vous plaît laissez-moi savoir si quelque chose ne va pas clair.

+3

Qu'est-ce que cela a à voir avec l'apprentissage automatique? –

+0

J'ai pensé ma solution simple: obtenir un modèle linéaire à partir d'une partie des données afin d'avoir une vision future du reste est un moyen de prédiction? mais c'est ce que je pensais comme une solution, et je ne suis pas limité à –

+0

si un modèle linéaire est presque constant, la pente serait presque ** 0 ** – C8H10N4O2

Répondre

4

Les Law of Large Numbers états que la taille de l'échantillon augmente, en moyenne d'un échantillon d'observations converge vers la moyenne réelle de la population avec une probabilité 1.

Par conséquent, si votre tableau hypothétique est trop grand pour la moyenne, vous pourriez au Du moins, prenez la moyenne d'un grand échantillon et sachez que vous êtes proche de la vraie population.

Vous pouvez déguster d'un tableau à l'aide numpynumpy.random.choice(arr,n)arr est votre tableau et n est autant d'éléments que vous le souhaitez (ou êtes en mesure) à l'échantillon.

+0

Je pense que je vais m'en tenir à cela, je pense que l'échantillonnage est la seule solution, je tourne et tourne sans raison: o –

+0

@Curcuma_ Si vous rangez en mémoire (nécessaire pour l'échantillonnage comme ça) alors sûrement pas trop grand pour calculer la moyenne de? –

2

Il existe des solutions plus générales pour des tâches telles que le package Dask, par exemple: http://dask.pydata.org/en/latest/ Il peut optimiser les graphiques de calcul, paralléliser le calcul et bien d'autres.

+0

Dask semble être ma saveur, je n'ai jamais entendu parler de! –