Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
model_mvp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
decision-science
model_mvp
Commits
912b21b8
Commit
912b21b8
authored
Apr 23, 2019
by
linfang.wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feature 优化
parent
5ac61fe5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
214 additions
and
0 deletions
+214
-0
dhb.py
data/samples/dhb.py
+55
-0
dhb.csv
data/samples/features/dhb.csv
+159
-0
No files found.
data/samples/dhb.py
0 → 100644
View file @
912b21b8
import
pandas
as
pd
'''
目的:获取电话邦特征,样本数据,数据源为风控分析库
'''
feature_file_name
=
'features/dhb.csv'
def
get_features_from_file
():
'''
从feature 文件中读取feature
:return: df,columns=['feature','version']
'''
df_feature
=
pd
.
read_csv
(
feature_file_name
,
sep
=
'
\t
'
)
return
df_feature
def
get_feature_by_version
(
version
=
None
):
'''
根据feature 的版本号,获取该版本下的feature,如果不指定,则获取最新的版本号
:param version:int 负数为不指定或者
:return:list
'''
df_feature
=
get_features_from_file
()
if
(
version
==
None
)
or
(
version
<
1
):
version
=
df_feature
.
version
.
max
()
return
df_feature
[
df_feature
.
version
==
version
]
.
feature
.
tolist
()
def
save_features
(
features
):
'''
针对新的feature,同维护的feature文档比较,如果同最新版的特征一样,那么无需保存,如果不一致,则作为新的一版特征进行保存
:param features:list
:return:
'''
f2
=
get_feature_by_version
()
if
(
set
(
f2
)
&
set
(
features
))
==
(
set
(
f2
)
|
set
(
features
)):
print
(
'features are already newest,not need to save'
)
return
True
else
:
#== 更新特征
tmp
=
pd
.
DataFrame
(
features
,
columns
=
[
'feature'
])
df_feature
=
get_features_from_file
()
version
=
df_feature
.
version
.
max
()
+
1
tmp
[
'version'
]
=
version
columns
=
[
'feature'
,
'version'
]
df_feature
=
pd
.
concat
([
df_feature
[
columns
],
tmp
[
columns
]])
df_feature
[
columns
]
.
to_csv
(
feature_file_name
,
index
=
None
,
encoding
=
'utf8'
)
if
__name__
==
'__main__'
:
features
=
get_feature_by_version
()
# features=features[1:10]
save_features
(
features
)
data/samples/features/dhb.csv
0 → 100644
View file @
912b21b8
feature version
dhb_last_30_and_60_days_dun_call_avg_duration 1
dhb_last_30_and_60_days_dun_call_duration_above60 1
dhb_last_30_and_60_days_dun_call_duration_below15 1
dhb_last_30_and_60_days_dun_call_duration_between15_and_30 1
dhb_last_30_and_60_days_dun_call_in_duration 1
dhb_last_30_and_60_days_dun_call_in_times 1
dhb_last_30_and_60_days_dun_call_out_duration 1
dhb_last_30_and_60_days_dun_call_out_times 1
dhb_last_30_and_60_days_dun_call_tel_total_nums 1
dhb_last_30_and_60_days_dun_call_total_duration 1
dhb_last_30_and_60_days_dun_call_total_times 1
dhb_last_30_and_60_days_ntdun_call_avg_duration 1
dhb_last_30_and_60_days_ntdun_call_duration_above60 1
dhb_last_30_and_60_days_ntdun_call_duration_below15 1
dhb_last_30_and_60_days_ntdun_call_duration_between15_and_30 1
dhb_last_30_and_60_days_ntdun_call_in_duration 1
dhb_last_30_and_60_days_ntdun_call_in_times 1
dhb_last_30_and_60_days_ntdun_call_out_duration 1
dhb_last_30_and_60_days_ntdun_call_out_times 1
dhb_last_30_and_60_days_ntdun_call_tel_total_nums 1
dhb_last_30_and_60_days_ntdun_call_total_duration 1
dhb_last_30_and_60_days_ntdun_call_total_times 1
dhb_last_30_days_dun_call_avg_duration 1
dhb_last_30_days_dun_call_duration_above60 1
dhb_last_30_days_dun_call_duration_below15 1
dhb_last_30_days_dun_call_duration_between15_and_30 1
dhb_last_30_days_dun_call_in_duration 1
dhb_last_30_days_dun_call_in_times 1
dhb_last_30_days_dun_call_out_duration 1
dhb_last_30_days_dun_call_out_times 1
dhb_last_30_days_dun_call_tel_total_nums 1
dhb_last_30_days_dun_call_total_duration 1
dhb_last_30_days_dun_call_total_times 1
dhb_last_30_days_ntdun_call_avg_duration 1
dhb_last_30_days_ntdun_call_duration_above60 1
dhb_last_30_days_ntdun_call_duration_below15 1
dhb_last_30_days_ntdun_call_duration_between15_and_30 1
dhb_last_30_days_ntdun_call_in_duration 1
dhb_last_30_days_ntdun_call_in_times 1
dhb_last_30_days_ntdun_call_out_duration 1
dhb_last_30_days_ntdun_call_out_times 1
dhb_last_30_days_ntdun_call_tel_total_nums 1
dhb_last_30_days_ntdun_call_total_duration 1
dhb_last_30_days_ntdun_call_total_times 1
dhb_last_60_and_90_days_dun_call_avg_duration 1
dhb_last_60_and_90_days_dun_call_duration_above60 1
dhb_last_60_and_90_days_dun_call_duration_below15 1
dhb_last_60_and_90_days_dun_call_duration_between15_and_30 1
dhb_last_60_and_90_days_dun_call_in_duration 1
dhb_last_60_and_90_days_dun_call_in_times 1
dhb_last_60_and_90_days_dun_call_out_duration 1
dhb_last_60_and_90_days_dun_call_out_times 1
dhb_last_60_and_90_days_dun_call_tel_total_nums 1
dhb_last_60_and_90_days_dun_call_total_duration 1
dhb_last_60_and_90_days_dun_call_total_times 1
dhb_last_60_and_90_days_ntdun_call_avg_duration 1
dhb_last_60_and_90_days_ntdun_call_duration_above60 1
dhb_last_60_and_90_days_ntdun_call_duration_below15 1
dhb_last_60_and_90_days_ntdun_call_duration_between15_and_30 1
dhb_last_60_and_90_days_ntdun_call_in_duration 1
dhb_last_60_and_90_days_ntdun_call_in_times 1
dhb_last_60_and_90_days_ntdun_call_out_duration 1
dhb_last_60_and_90_days_ntdun_call_out_times 1
dhb_last_60_and_90_days_ntdun_call_tel_total_nums 1
dhb_last_60_and_90_days_ntdun_call_total_duration 1
dhb_last_60_and_90_days_ntdun_call_total_times 1
dhb_last_three_weeks_dun_call_avg_duration 1
dhb_last_three_weeks_dun_call_duration_above60 1
dhb_last_three_weeks_dun_call_duration_below15 1
dhb_last_three_weeks_dun_call_duration_between15_and_30 1
dhb_last_three_weeks_dun_call_in_duration 1
dhb_last_three_weeks_dun_call_in_times 1
dhb_last_three_weeks_dun_call_out_duration 1
dhb_last_three_weeks_dun_call_out_times 1
dhb_last_three_weeks_dun_call_tel_total_nums 1
dhb_last_three_weeks_dun_call_total_duration 1
dhb_last_three_weeks_dun_call_total_times 1
dhb_last_three_weeks_ntdun_call_avg_duration 1
dhb_last_three_weeks_ntdun_call_duration_above60 1
dhb_last_three_weeks_ntdun_call_duration_below15 1
dhb_last_three_weeks_ntdun_call_duration_between15_and_30 1
dhb_last_three_weeks_ntdun_call_in_duration 1
dhb_last_three_weeks_ntdun_call_in_times 1
dhb_last_three_weeks_ntdun_call_out_duration 1
dhb_last_three_weeks_ntdun_call_out_times 1
dhb_last_three_weeks_ntdun_call_tel_total_nums 1
dhb_last_three_weeks_ntdun_call_total_duration 1
dhb_last_three_weeks_ntdun_call_total_times 1
dhb_last_two_weeks_dun_call_avg_duration 1
dhb_last_two_weeks_dun_call_duration_above60 1
dhb_last_two_weeks_dun_call_duration_below15 1
dhb_last_two_weeks_dun_call_duration_between15_and_30 1
dhb_last_two_weeks_dun_call_in_duration 1
dhb_last_two_weeks_dun_call_in_times 1
dhb_last_two_weeks_dun_call_out_duration 1
dhb_last_two_weeks_dun_call_out_times 1
dhb_last_two_weeks_dun_call_tel_total_nums 1
dhb_last_two_weeks_dun_call_total_duration 1
dhb_last_two_weeks_dun_call_total_times 1
dhb_last_two_weeks_ntdun_call_avg_duration 1
dhb_last_two_weeks_ntdun_call_duration_above60 1
dhb_last_two_weeks_ntdun_call_duration_below15 1
dhb_last_two_weeks_ntdun_call_duration_between15_and_30 1
dhb_last_two_weeks_ntdun_call_in_duration 1
dhb_last_two_weeks_ntdun_call_in_times 1
dhb_last_two_weeks_ntdun_call_out_duration 1
dhb_last_two_weeks_ntdun_call_out_times 1
dhb_last_two_weeks_ntdun_call_tel_total_nums 1
dhb_last_two_weeks_ntdun_call_total_duration 1
dhb_last_two_weeks_ntdun_call_total_times 1
dhb_last_week_dun_call_avg_duration 1
dhb_last_week_dun_call_duration_above60 1
dhb_last_week_dun_call_duration_below15 1
dhb_last_week_dun_call_duration_between15_and_30 1
dhb_last_week_dun_call_in_duration 1
dhb_last_week_dun_call_in_times 1
dhb_last_week_dun_call_out_duration 1
dhb_last_week_dun_call_out_times 1
dhb_last_week_dun_call_tel_total_nums 1
dhb_last_week_dun_call_total_duration 1
dhb_last_week_dun_call_total_times 1
dhb_last_week_ntdun_call_avg_duration 1
dhb_last_week_ntdun_call_duration_above60 1
dhb_last_week_ntdun_call_duration_below15 1
dhb_last_week_ntdun_call_duration_between15_and_30 1
dhb_last_week_ntdun_call_in_duration 1
dhb_last_week_ntdun_call_in_times 1
dhb_last_week_ntdun_call_out_duration 1
dhb_last_week_ntdun_call_out_times 1
dhb_last_week_ntdun_call_tel_total_nums 1
dhb_last_week_ntdun_call_total_duration 1
dhb_last_week_ntdun_call_total_times 1
dhb_overview_dun_call_avg_duration 1
dhb_overview_dun_call_duration_above60 1
dhb_overview_dun_call_duration_below15 1
dhb_overview_dun_call_duration_between15_and_30 1
dhb_overview_dun_call_in_duration 1
dhb_overview_dun_call_in_times 1
dhb_overview_dun_call_out_duration 1
dhb_overview_dun_call_out_times 1
dhb_overview_dun_call_tel_total_nums 1
dhb_overview_dun_call_total_duration 1
dhb_overview_dun_call_total_times 1
dhb_overview_dun_first_call_time 1
dhb_overview_dun_last_call_time 1
dhb_overview_ntdun_call_avg_duration 1
dhb_overview_ntdun_call_duration_above60 1
dhb_overview_ntdun_call_duration_below15 1
dhb_overview_ntdun_call_duration_between15_and_30 1
dhb_overview_ntdun_call_in_duration 1
dhb_overview_ntdun_call_in_times 1
dhb_overview_ntdun_call_out_duration 1
dhb_overview_ntdun_call_out_times 1
dhb_overview_ntdun_call_tel_total_nums 1
dhb_overview_ntdun_call_total_duration 1
dhb_overview_ntdun_call_total_times 1
dhb_overview_ntdun_first_call_time 1
dhb_overview_ntdun_last_call_time 1
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment