数据挖掘学习小组之(实践篇)

数据挖掘小组

转眼已经到了第四周了! 除了第一周提前交了作业,其它的都是在每周的周末写好了再发推送。这个作业,交起来也是越来越难,越来越吃力。毕竟机器学习这些东西以及统计学的一些理论知识,我都不会。机器学习是没学过,统计学的基本已经忘光了。每次的作业都是边查边写,对自己是挑战,希望一直坚持下去,能有提高!

代码

ok,既然是实践,就直接上代码吧!

'''
Created on 2019年8月10日

@author: uYaoQi
'''
from scipy import stats as st
import matplotlib.pyplot as plt
import matplotlib as mpl
import pandas as pd

#防止乱码
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False

#读入数据,并设置表头
#pandas支持网络路径
data = data = pd.read_csv('http://jse.amstat.org/datasets/normtemp.dat.txt',sep='\s+',header=None,names='Body temperature;Gender;Heart rate'.split(';'))
#首先对数据进行一下检验看看是否符合正态分布
print(st.shapiro(data['Body temperature']))
#output:(0.9865769743919373, 0.2331680953502655)
#看这个输出结果,是符合正态分布的,那接下来就开始绘图了

#绘制正态分布图形
x = data['Body temperature']
#这里进行了一个排序
x = x.sort_values()
#求出相关参数
loc,scale = st.norm.fit(x)
plt.plot(x, st.norm.pdf(x,loc,scale),'b-',label = 'norm')
plt.title(u'体温正态分布图')
plt.show()

#验证一下温度与心率的相关性
print(data['Body temperature'].corr(data['Heart rate']))
#output:0.25365640272076434

#来个回归?看下是不是跟说明中的一样
r = st.linregress(data['Body temperature'],data['Heart rate'])
print(r.slope)
#output:2.443238038611885

原文发布于微信公众号 - 数据处理与分析(Qing_master)

原文发表时间:2019-08-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券