Prostý náhodný a systematický výběr

Vzorkování v Pythonu

James Chapman

Curriculum Manager, DataCamp

Prostý náhodný výběr

Ruka vytahující složený lísteček z tomboly.

Kutálející se loteriové kuličky.

Vzorkování v Pythonu

Prostý náhodný výběr káv

Kávová zrna uspořádaná v řádcích a sloupcích.

Kávová zrna uspořádaná v řádcích a sloupcích, některá jsou šedá.

Vzorkování v Pythonu

Prostý náhodný výběr v pandas

coffee_ratings.sample(n=5, random_state=19000113)
     total_cup_points         variety country_of_origin  aroma  flavor  \
437             83.25            None          Colombia   7.92    7.75   
285             83.83  Yellow Bourbon            Brazil   7.92    7.50   
784             82.08            None          Colombia   7.50    7.42   
648             82.58         Caturra          Colombia   7.58    7.50   
155             84.58         Caturra          Colombia   7.42    7.67  

     aftertaste  body  balance  
437        7.25  7.83     7.58  
285        7.33  8.17     7.50  
784        7.42  7.67     7.42  
648        7.42  7.67     7.42  
155        7.75  8.08     7.83 
Vzorkování v Pythonu

Systematický výběr

Kávová zrna uspořádaná v řádcích a sloupcích.

Kávová zrna uspořádaná v řádcích a sloupcích, většina je šedá kromě těch na diagonále.

Vzorkování v Pythonu

Systematický výběr – definování intervalu

sample_size = 5

pop_size = len(coffee_ratings)
print(pop_size)
1338
interval = pop_size // sample_size

print(interval)
267
Vzorkování v Pythonu

Systematický výběr – výběr řádků

coffee_ratings.iloc[::interval]
      total_cup_points  variety country_of_origin  aroma  flavor  aftertaste  \
0                90.58     None          Ethiopia   8.67    8.83        8.67   
267              83.92     None          Colombia   7.83    7.75        7.58   
534              82.92  Bourbon       El Salvador   7.50    7.50        7.75   
801              82.00   Typica            Taiwan   7.33    7.50        7.17   
1068             80.50    Other            Taiwan   7.17    7.17        7.17   

      body  balance  
0     8.50     8.42  
267   7.75     7.75  
534   7.92     7.83  
801   7.50     7.33  
1068  7.17     7.25  
Vzorkování v Pythonu

Úskalí systematického výběru

coffee_ratings_with_id = coffee_ratings.reset_index()
coffee_ratings_with_id.plot(x="index", y="aftertaste", kind="scatter")
plt.show()

Bodový graf skóre dochuti v závislosti na indexu.

Systematický výběr je bezpečný pouze tehdy, pokud v tomto grafu není patrný žádný vzor

Vzorkování v Pythonu

Jak zajistit bezpečnost systematického výběru

shuffled = coffee_ratings.sample(frac=1)

shuffled = shuffled.reset_index(drop=True).reset_index()
shuffled.plot(x="index", y="aftertaste", kind="scatter") plt.show()

Bodový graf skóre dochuti v závislosti na indexu po náhodném zamíchání dat.

Zamíchání řádků + systematický výběr je ekvivalentní prostému náhodnému výběru

Vzorkování v Pythonu

Pojďme procvičovat!

Vzorkování v Pythonu

Preparing Video For Download...