[PYTHON] Cours de formation Data Scientist Chapitre 4 Jour 1

Si vous prenez un peu de soin, l'écart s'ouvrira aussitôt. Je dois en quelque sorte revenir au fonctionnement normal! Il est donc temps d'entrer dans le chapitre 4. Cela a pris du temps car il y avait une partie de l'exercice dans le chapitre 3 où j'avais mal à la tête.

Etude de probabilité

Des connaissances sur les probabilités et les ensembles sont nécessaires, mais pour être honnête, je ne suis pas du tout confiant. A ∩ B ou A ∪ B Qu'est-ce que c'était? .. C'était comme ça. Quelqu'un comme U est "ou". Si vous vous en souvenez comme Union, vous comprendrez. Je ne me souviens pas du tout de la probabilité.

Exercice 1

Le problème de trouver la probabilité d'une pièce. C'est presque le même que le contenu sorti plus tôt, il n'y a donc pas de problème particulier

coin = np.array([0, 1])
random.seed(0)
tos_count = 1000
coin_result = random.choice(coin, tos_count)
print("Probabilité de 0", len(coin_result[coin_result==0])/tos_count)
print("Probabilité de 1", len(coin_result[coin_result==1])/tos_count)

Exercice 2

Considérez la question de la loterie. Supposons qu'il y ait environ 100 loteries sur 1000. Trouvez la probabilité que A et B tirent au sort dans l'ordre, et que A et B gagnent. Cependant, le tirage au sort ne sera pas retourné et chacun ne sera tiré qu'une seule fois. (Cela peut être calculé manuellement.)

Hmmm, le retour de la loterie ne signifie-t-il pas que la probabilité change constamment? J'ai essayé de monter pour le moment

np.random.seed(0)
#Créez un tableau avec 1 comme écart par rapport à 0
lott = np.array([0]*900+[1]*100)
result = np.array([])
while len(lott) >= 2:
    #Loterie
    #S'il s'agit d'un hit, supprimez l'élément à l'arrière. Si elle est désactivée, supprimez l'élément de l'avant
    result_a = np.random.choice(lott, 1)
    if result_a == 1:
        lott = np.delete(lott, len(lott)-1)
    else:
        lott = np.delete(lott, 0)
    
    result_b = np.random.choice(lott, 1)
    if result_b == 1:
        lott = np.delete(lott, len(lott)-1)
    else:
        lott = np.delete(lott, 0)
    
    #Si les deux sont touchés, ajoutez 1 au résultat. Ajouter 0 sinon
    if result_a == 1 and result_b == 1:
        result = np.append(result, 1)
    else:
        result = np.append(result, 0)

print("Probabilité de toucher A et B", len(result[result==1])/len(result))

D'après le résultat, ce n'est probablement pas faux, mais je pense que c'est une mauvaise solution. Il doit y avoir un moyen meilleur et plus élégant, mais je l'ai résolu dans le sens de m'habituer à Python pour le moment.

Je veux une réponse modèle. .. ..

Recommended Posts

Cours de formation Data Scientist Chapitre 3 Jour 3
Cours de formation Data Scientist Chapitre 4 Jour 1
Cours de formation Data Scientist Chapitre 3 Jour 1 + 2
Résolution d'exercices dans le cours de formation GCI Data Scientist Chapitre 6
Résolution d'exercices dans le cours de formation GCI Data Scientist Chapitre 7
Résolution d'exercices dans le cours de formation GCI Data Scientist Chapitre 8
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
[Introduction à Python3 Day 18] Chapitre 8 Destinations de données (8.3.6.2 à 8.3.6.3)
Créer des données d'entraînement
Données de formation par CNN
Python pour l'analyse des données Chapitre 4
<Cours> Apprentissage en profondeur: Day2 CNN
<Cours> Apprentissage en profondeur: Jour 1 NN
Sortie du cours Infra_Data Science
Python pour l'analyse des données Chapitre 2
Python pour l'analyse des données Chapitre 3