“Use the data from heights_weights_genders.csv to create a simple predictor”… link
In [9]:
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
import statsmodels.formula.api as smf # for linear regression
from numpy import random
In [3]:
df = pd.read_csv("../data/heights_weights_genders.csv")
In [6]:
lm_male = smf.ols(formula="Weight~Height",data=df[df['Gender']=='Male']).fit()
male_intercept, male_slope = lm_male.params
lm_female = smf.ols(formula="Weight~Height",data=df[df['Gender']=='Female']).fit()
female_intercept, female_slope = lm_female.params
In [ ]:
In [8]:
def guess_weight(height, gender):
if gender == 'female':
return female_slope*height + female_intercept
elif gender == 'male':
return male_slope*height + male_intercept
else:
return 'This data is very bad for intersexed people, sorry.'
In [18]:
your_height = input("Please type your height: ")
gender_input = input("Are you a male [m] or a female [f] ? ")
if gender_input[0] == 'f':
your_gender = 'female'
elif gender_input[0] == 'm':
your_gender = 'male'
else:
your_gender = random.choice(['male', 'female'])
print('Could not understand your genre. Randomly set it to {}.'.format(your_gender))
print("As a {}, your weight should be around {}.".format(your_gender, guess_weight(int(your_height), your_gender)))