/
长度特征提取.py
95 lines (83 loc) · 1.72 KB
/
长度特征提取.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 12 15:11:39 2017
@author: Dell
"""
import numpy as np
from scipy.stats import skew
from scipy.stats import kurtosis
l=[1,2,3,4,5,6,6,7,9,20,8]
def maximum(l):
if len(l)==0:
return 0
ret=max(l)
return ret
def minimum(l):
if len(l)==0:
return 0
ret=min(l)
return ret
def mean(l):
if len(l)==0:
return 0
l=np.array(l)
ret=np.mean(l)
return ret
def media_dev(l):
if len(l)==0:
return 0
l=np.array(l)
media=np.median(l)
l=l-media
ret=np.median(l)
return ret
def standard_dev(l):
if len(l)==0:
return 0
l=np.array(l)
ret=np.std(l)
return ret
def variance(l):
if len(l)==0:
return 0
l=np.array(l)
ret=np.cov(l)
return ret
def myskew(l):
if len(l)==0:
return 0
ret=skew(l)
return ret
def mykurtosis(l):
if len(l)==0:
return 0
ret=kurtosis(l)
return ret
def percent(l,p):
if len(l)==0:
return 0
ret=np.percentile(l,p)
return ret
def number(l):
return len(l)
def features(l):
ft=[]
ft.append(maximum(l))
ft.append(minimum(l))
ft.append(mean(l))
ft.append(media_dev(l))
ft.append(standard_dev(l))
ft.append(variance(l))
ft.append(myskew(l))
ft.append(mykurtosis(l))
ft.append(number(l))
ft.append(percent(l,10))
ft.append(percent(l,20))
ft.append(percent(l,30))
ft.append(percent(l,40))
ft.append(percent(l,50))
ft.append(percent(l,60))
ft.append(percent(l,70))
ft.append(percent(l,80))
ft.append(percent(l,90))
return ft