Add a method to get communication features.
parent
5be3e82797
commit
93f136b080
|
@ -37,7 +37,7 @@ FEATURES_SMS = (
|
||||||
# "no_received_ratio", "no_sent_ratio",
|
# "no_received_ratio", "no_sent_ratio",
|
||||||
# "no_contacts"]
|
# "no_contacts"]
|
||||||
|
|
||||||
FEATURES_CONTACT = [
|
FEATURES_CALLS_SMS_PROP = [
|
||||||
"proportion_calls_all",
|
"proportion_calls_all",
|
||||||
"proportion_calls_incoming",
|
"proportion_calls_incoming",
|
||||||
"proportion_calls_outgoing",
|
"proportion_calls_outgoing",
|
||||||
|
@ -45,6 +45,8 @@ FEATURES_CONTACT = [
|
||||||
"proportion_calls_missed_sms_received",
|
"proportion_calls_missed_sms_received",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
FEATURES_CALLS_SMS_ALL = FEATURES_CALLS + FEATURES_SMS + FEATURES_CALLS_SMS_PROP
|
||||||
|
|
||||||
|
|
||||||
def get_call_data(usernames: Collection) -> pd.DataFrame:
|
def get_call_data(usernames: Collection) -> pd.DataFrame:
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -69,6 +69,10 @@ class SensorFeatures:
|
||||||
if feature_names == "all":
|
if feature_names == "all":
|
||||||
feature_names = proximity.FEATURES_PROXIMITY
|
feature_names = proximity.FEATURES_PROXIMITY
|
||||||
return self.df_proximity_counts[feature_names]
|
return self.df_proximity_counts[feature_names]
|
||||||
|
elif data_type == "communication":
|
||||||
|
if feature_names == "all":
|
||||||
|
feature_names = communication.FEATURES_CALLS_SMS_ALL
|
||||||
|
return self.df_calls_sms[feature_names]
|
||||||
else:
|
else:
|
||||||
raise KeyError("This data type has not been implemented.")
|
raise KeyError("This data type has not been implemented.")
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,5 @@ class CallsFeatures(unittest.TestCase):
|
||||||
self.features_call_sms = calls_sms_features(self.calls, self.sms)
|
self.features_call_sms = calls_sms_features(self.calls, self.sms)
|
||||||
self.assertIsInstance(self.features_call_sms, pd.DataFrame)
|
self.assertIsInstance(self.features_call_sms, pd.DataFrame)
|
||||||
self.assertCountEqual(
|
self.assertCountEqual(
|
||||||
self.features_call_sms.columns.to_list(),
|
self.features_call_sms.columns.to_list(), FEATURES_CALLS_SMS_ALL
|
||||||
FEATURES_CALLS + FEATURES_SMS + FEATURES_CONTACT,
|
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue