赞
踩
特征探索主要是对数据进行预处理,发现和出炉缺失、异常数据,绘制直方图、观察发现数据的分布特征,求最大最小值、极差等描述性统计量。
一个数据库的例子:
Carname=[]
Color=[]
Age=[5,7,8,7,2,17,2,9,4,11,12,9,6]
Speed=[99,86,87,88,111,86,103,87,94,78,77,85,86]
Autopass=[]
方法一:使用Python中的numpy模块
import numpy
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
x = numpy.mean(speed)
print(x)
方法二:
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
s=0
for i in speed:
s=s+i
print(s/len(speed))
方法一:使用Python中的numpy模块
import numpy
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
x = numpy.median(speed)
print(x)
方法二:
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86] i=0 while i<=len(speed)-2: j=i+1 while j<=len(speed)-1: if speed[i]<speed[j]: t=speed[i] speed[i]=speed[j] speed[j]=t j=j+1 i=i+1 if len(speed)%2==1: print(speed[int(len(speed)/2)]/1) else: print((speed[int(len(speed)/2)]+ speed[int(len(speed)/2)-1])/2)
方法一:使用Python中的numpy模块
from scipy import stats
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
x = stats.mode(speed)
print(x)
方法二:
#{99:1,67:2} speed = [99,86,87,88,111,86,103,86,94,78,77,85,86] zd={} for i in speed: zd[i]=0 for j in speed: if j in zd.keys(): zd[j]+=1 maxkey=0 maxvalue=0 for key in zd.keys(): if zd[key]>maxvalue: maxkey=key maxvalue=zd[key] print(maxkey,maxvalue)
方差是另一种数字,指示值的分散程度。实际上,如果采用方差的平方根,则会得到标准差!或反之,如果将标准偏差乘以自身,则会得到方差!计算步骤为:
方法一:使用Python中的numpy模块
import numpy
speed = [32,111,138,28,59,77,97]
x = numpy.var(speed)
print(x)
方法二:
def avg(sz):
av=0
for i in sz:
av=av+i
return av/len(sz)
sp = [32,111,138,28,59,77,97]
av=avg(sp)
sp1=[]
for i in sp:
sp1.append((i-av)**2)
ss=avg(sp1)
print(ss)
注意:标准差是方差的平方根
标准差(Standard Deviation,又常称均方差)是一个数字,描述值的离散程度。低标准偏差表示大多数数字接近均值(平均值)。高标准偏差表示这些值分布在更宽的范围内。
方法一:使用Python中的numpy模块
import numpy
speed = [86,87,88,86,87,85,86]
x = numpy.std(speed)
print(x)
百分位数(Percentiles)为您提供一个数字,该数字描述了给定百分比值小于的值。
例如:假设我们有一个数组,包含住在一条街上的人的年龄。
ages = [5,31,43,48,50,41,7,11,15,39,80,82,32,2,8,6,25,36,27,61,31]
什么是 75 百分位数?答案是 43,这意味着 75% 的人是 43 岁或以下。
方法一:使用Python中的numpy模块
import numpy
ages = [5,31,43,48,50,41,7,11,15,39,80,82,32,2,8,6,25,36,27,61,31]
x = numpy.percentile(ages, 75)
print(x)
方法二:
def per(sz,pe):
sz.sort()
slen=len(sz)
return sz[int(pe*slen/100)]
ages = [5,31,43,48,50,41,7,11,15,39,80,82,32,2,8,6,25,36,27,61,31]
print(per(ages,75))
90% 的人口年龄是多少岁?(61)
import numpy
ages = [5,31,43,48,50,41,7,11,15,39,80,82,32,2,8,6,25,36,27,61,31]
x = numpy.percentile(ages, 90)
print(x)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。