Python 卡方检验实例 | 学习笔记

简介: 快速学习 Python 卡方检验实例

开发者学堂课程【人工智能必备基础:概率论与数理统计:Python 卡方检验实例】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/545/detail/7453


Python 卡方检验实例

内容介绍

一.数据导入

二.卡方检验

三.假设检验

四.统计期望值

 

探究问题:白人和黑人在求职路上会有种族的歧视吗?

 

一.数据导入

import pandas as pd

import numpy as np

from scipy import stats

data=pd.io.stata.read_stata('us_job_market_discrimination.dta')

data.head()

image.png

blacks = data[data.race == 'b’] // b 代表黑人

whites = data[data.race == 'w']// w 代表白人

blacks.call.describe()// call 面试结果,结果为 1 代表被录取,结果为 0 代表没有被录取

所导入的数据

count 2435.000000

mean 0.064476

std 0.245649

min 0.000000

25% 0.000000

50% 0.000000

75% 0.000000

max 1.000000

Name:call,dtype:float64

写入

whites.call.describe()

所导入的数据

count 2435.000000

mean 0.096509

std 0.295346

min 0.000000

25% 0.000000

50% 0.000000

75% 0.000000

max 1.000000

Name: call, dtype: float64

 

二.卡方检验

白人获得职位

白人被拒绝·

黑人获得职位

黑人被拒绝

 

三.假设检验

HO: 种族对求职结果没有显著影响

H1: 种族对求职结果有影响

blacks called = len(blacks[blacks['call'] ==True])// True 代表获得了职位

blacks_not_called = len(blacks[blacks['call'] == False])// False 代表没获得职位

whites called = len(whites[whites['call'] == True])

whites_not_called = len(whites[whites['call'] == False])

observed =pd.DataFrame({'blacks :('called':blacks called, 'not called': blacks not called}.

whites':('called’:whites_called,'not_called’:whites_not_called}})

observed

所得结果

image.png

 

四.统计期望值

num_called back=blackscalled + whites_called//获得职位的人数

num not called =blacks_not_called + whites_not_called//没有获得职位的人数

print(num_called back)

print(num_not_called)

392

4478

rate_of_callbacks=num called back/num not called

得到期望的比率

输入 rate of_callbacks

输出 0.08049281314168377

输入 expected_called = len(data) rate_of_callbacks

expected not_called=len(data)*(1-rateof_callbacks)

print(expected_called)

print(expected_not_called)

输出 391.99999999999994

4478.0

输入 import scipy.statsas stats

observed frequencies = [blacks not called, whites not called, whites called, blacks called

expected frequencies = [expected not called/2, expected not called/2, expected called/2, expected called/2

stats.chisquare(f obs =observed frequencies.

f_exp=expected frequencies)//卡方检验

输出 Power divergenceResult(statistic=16.879050414270221, pvalue=0.00074839594410972638)

看起来种族歧视是存在的!

相关文章
|
7月前
|
算法 Python
Apriori算法的Python实例演示
经过运行,你会看到一些集合出现,每个集合的支持度也会给出。这些集合就是你想要的,经常一起被购买的商品组合。不要忘记,`min_support`参数将决定频繁项集的数量和大小,你可以根据自己的需要进行更改。
304 18
|
11月前
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
627 34
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
|
11月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
269 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
1214 5
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
3313 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
670 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
666 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
206 1
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
566 1
|
Python
Python中的push方法详解与实例
Python中的push方法详解与实例
236 3

推荐镜像

更多