Skip to content

Instantly share code, notes, and snippets.

@denniss
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save denniss/66250773e7e8fac88ee7 to your computer and use it in GitHub Desktop.
Save denniss/66250773e7e8fac88ee7 to your computer and use it in GitHub Desktop.
total_passengers = 0, total_male = 0, total_female = 0, total_pclass1 = 0, total_pclass2 = 0, total_plcass3 = 0, total_sibsp0 = 0, total_sibsp1 = 0, total_parch0 = 0, total_parch1 = 0, total_age1 = 0, total_age2 = 0, total_age3 = 0
total_survived = 0, total_male_survived = 0, total_female_survived = 0, total_pclass1_survived = 0, total_pclass2_survived = 0, total_pclass3_survived = 0, total_sibsp0_survived = 0, total_sibsp1_survived = 0, total_parch0_survived = 0, total_parch1_survived = 0, total_age1_survived = 0, total_age2_survived = 0, total_age3_survived = 0
#Comment: Parsing the training data
for each passenger in TRAINING data:
total_passengers++
if passenger.survived?:
total_survived++
if passenger.age <= 13:
total_age1++
if datum.survived?:
total_age1_survived++
if passenger.age > 13 and passenger.age < 50:
total_age2++
if datum.survived?:
total_age2_survived++
if passenger.age > 50:
total_age3++
if passenger.survived?:
total_age3_survived++
if passenger.male?
total_male++
if passenger.survived?:
total_male_survived++
if passenger.female?
total_female++
if passenger.survived?:
total_female_survived++
if passenger.pclass is 1:
total_pclass1++
if passenger.survived?:
total_pclass1_survived++
if passenger.pclass is 2:
total_pclass2++
if passenger.survived?:
total_pclass2_survived++
if passenger.pclass is 3:
total_pclass3++
if passenger.survived?:
total_pclass3_survived++
if passenger.parch == 0:
total_parch0 ++
if passenger.survived?:
total_parch0_survived++
if passenger.parch > 0:
total_parch1 ++
if passenger.survived?:
total_parch1_survived++
if passenger.sibsp == 0:
total_sibsp0 ++
if passenger.survived?:
total_subsp0_survived++
if passenger.sibsp > 0:
total_sibsp1 ++
if passenger.survived?:
total_subsp1_survived++
#Comment: Now we can use the learned data to predict the survival probability of any passenger.
p_s = total_survived/total_passengers
p_male = total_male/total_passengers
p_female = total_female/total_passengers
p_age1 = total_age1/total_passengers
p_age2 = total_age2/total_passengers
p_age3 = total_age3/total_passengers
p_sibsp1 = total_sibsp1/total_passengers
p_sibsp0 = total_sibsp0/total_passengers
p_parch0 = total_parch0/total_passengers
p_parch1 = total_parch1/total_passengers
p_pclass1 = total_pclass1/total_passengers
p_pclass2 = total_pclass2/total_passengers
p_pclass3 = total_pclass3/total_passengers
p_s_given_male = total_male_survived/total_male
p_s_given_female = total_female_survived/total_female
p_s_given_age1 = total_age1_survived/total_age1
p_s_given_age2 = total_age2_survived/total_age2
p_s_given_age3 = total_age3_survived/total_age3
p_s_given_sibsp1 = total_sibsp1_survived/total_sibsp1
p_s_given_sibsp0 = total_sibsp0_survived/total_sibsp0
p_s_given_parch1 = total_parch1_survived/total_parch1
p_s_given_parch0 = total_parch0_survived/total_parch0
p_s_given_pclass1 = total_pclass1_survived/total_pclass1
p_s_given_pclass2 = total_pclass2_survived/total_pclass2
p_s_given_pclass3 = total_pclass3_survived/total_pclass3
p_male_given_s = (p_male*p_s_given_male)/p_s
p_female_given_s = (p_female*p_s_given_female)/p_s
p_age1_given_s = (p_age1*p_s_given_age1)/p_s
p_age2_given_s = (p_age2*p_s_given_age2)/p_s
p_age3_given_s = (p_age3*p_s_given_age3)/p_s
p_parch0_given_s = (p_parch0*p_s_given_parch0)/p_s
p_parch1_given_s = (p_parch1*p_s_given_parch1)/p_s
p_sibsp0_given_s = (p_sibsp0*p_s_given_sibsp0)/p_s
p_sibsp1_given_s = (p_sibsp1*p_s_given_sibsp1)/p_s
p_pclass1_given_s = (p_pclass1 * p_s_given_pclass1)/p_s
p_pclass2_given_s = (p_pclass2 * p_s_given_pclass2)/p_s
p_pclass3_given_s = (p_pclass3 * p_s_given_pclass3)/p_s
for each passenger in TEST data:
prob = p_s
if passenger.male?:
prob = prob * p_male_given_s
if passenger.female?:
prob = prob * p_female_given_s
if passenger.age <= 13:
prob = prob * p_age1_given_s
if passenger.age > 13 and passenger.age < 50:
prob = prob * p_age2_given_s
if passenger.age >= 50:
prob = prob * p_age3_given_s
if passenger.parch == 0:
prob = prob * p_parch0_given_s
if passenger.parch > 0:
prob = prob * p_parch1_given_s
if passenger.sibsp == 0:
prob = prob * p_sibsp0_given_s
if passenger.sibsp > 1:
prob = prob * p_sibsp1_given_s
if passenger.pclass == 1:
prob = prob * p_pclass1_given_s
if passenger.pclass == 2:
prob = prob * p_pclass2_given_s
if passenger.pclass == 3:
prob = prob * p_pclass3_given_s
#Comment: and the passenger’s survival probability is `prob`
passenger.survival_probability = prob
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment