简单随机抽样与系统抽样

Python 抽样

James Chapman

Curriculum Manager, DataCamp

简单随机抽样

一只手从抽奖罐中抽出一张折叠纸条。

滚动的彩票球。

Python 抽样

咖啡的简单随机抽样

按行列排列的咖啡豆。

按行列排列的咖啡豆,其中一些变为灰色。

Python 抽样

用 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 
Python 抽样

系统抽样

按行列排列的咖啡豆。

按行列排列的咖啡豆,大多已灰显,仅对角线上的保留。

Python 抽样

系统抽样——确定间隔

sample_size = 5

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

print(interval)
267
Python 抽样

系统抽样——选择行

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  
Python 抽样

系统抽样的问题

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

余味分数与索引的散点图。

仅当该散点图中不存在模式时,系统抽样才是安全的

Python 抽样

让系统抽样更安全

shuffled = coffee_ratings.sample(frac=1)

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

打乱数据集后余味分数与索引的散点图。

打乱行 + 系统抽样 ≈ 简单随机抽样

Python 抽样

¡Vamos a practicar!

Python 抽样

Preparing Video For Download...