what we're doing here is creating fake scatter plot that will show income versus age for people and clusters so for each random centroid that we createdi' then going to create normally distributed set of random data with standard deviation of , in income and standard deviation of in age that will give us back bunch of age income data that is clustered into some pre-existing clusters that we can chose at random oklet' go ahead and run that nowto actually do -meansyou'll see how easy it is gspntlmfbsodmvtufsjnqpsufbot jnqpsunbuqmpumjcqzqmpubtqmu gspntlmfbsoqsfqspdfttjohjnqpsutdbmf gspnovnqzjnqpsusboepngmpbu ebub dsfbuf$mvtufsfe%bub npefm fbot @dmvtufst /pufntdbmjohuifebubupopsnbmj[fju*nqpsubougpshppesftvmutnpefm npefmgju tdbmf ebub  fdbompplbuuifdmvtufstfbdiebubqpjouxbtbttjhofeup qsjounpefmmbcfmt"oexf mmwjtvbmj[fju qmugjhvsf gjhtj[ qmutdbuufs ebubebub npefmmbcfmt@btuzqf gmpbu qmutipx all you need to do is import fbot from scikit-learn' dmvtufs package we're also going to import nbuqmpumjc so we can visualize thingsand also import tdbmf so we can take look at how that works so we use our dsfbuf$mvtufsfe%bub function to say random people around clusters so there are natural clusters for the data that ' creating we then create modela kmeans model with of so we're picking clusters because we know that' the right answer but againin unsupervised learning you don' necessarily know what the real value of is you need to iterate and converge on it yourself and then we just call npefmgju using my kmeans npefm using the data that we had