Проблема развертывания Featuretool
Мы пытаемся выяснить, как можно создавать объекты на новых тестовых данных, сохраняя и загружая определения объектов (созданные на основе обучающих данных). Мы создали объекты на целевом объекте для обучающих и тестовых данных, которые имеют первичный уникальный ключ как SK_ID_CURR. Есть некоторые общие значения SK_ID_CURR в поезде и тесте и некоторые идентификаторы являются новыми в тестовых данных. В идеале для любых общих идентификаторов полей SK_ID_CURR новые функции агрегирования (генерируемые инструментами функций), такие как SUM,MAX ets в наборе данных тестирования должны быть суммированием значений при обучении и тестировании, но в нашем случае все новые функции агрегации имеют одинаковые значения для наборов данных обучения и тестирования.,
Как и в случае реального обнаружения мошенничества: Сумма суммы транзакции для любого идентификатора клиента в файле определений функций тестирования должна быть равна сумме суммы транзакции в обучающем наборе + Сумма в новых тестовых данных и подсчете сходства переходов для любого конкретного идентификатора клиента в файле определений функций тестирования. должна быть сумма суммы транзакции в обучающем наборе + сумма в новых тестовых данных.
app_train = pd.read_csv ('C: /Users/sarvendra.singh/Desktop/Reno/Model/JIRA tasks / Featuretools / home-credit-default-risk / app_train.csv'). replace ({365243: np.nan}) app_test = pd.read_csv ('C: /Users/sarvendra.singh/Desktop/Reno/Model/JIRA tasks / Featuretools / home-credit-default-risk / app_test.csv'). replace ({365243: np.nan) }) cash = pd.read_csv('C:/Users/sarvendra.singh/Desktop/Reno/Model/JIRA tasks/Featuretools/home-credit-default-risk/POS_CASH_balance.csv',nrows=nrows).replace({365243: np.nan}) previous = pd.read_csv('C:/Users/sarvendra.singh/Desktop/Reno/Model/JIRA tasks/Featuretools/home-credit-default-risk/previous_application.csv',nrows=nrows).replace({365243: np.nan}) app_train['SK_ID_CURR'] = app_train['SK_ID_CURR'].astype(np.int32) app_test['SK_ID_CURR'] = app_test['SK_ID_CURR'].astype(np) int32)
previous ['SK_ID_CURR'] = предыдущий ['SK_ID_CURR']. astype (np.int32) наличные ['SK_ID_CURR'] = cash['SK_ID_CURR'].astype(np.int32)
создание сущностей и связей с данными поезда и других таблиц предыдущих и кассовых
es = ft.EntitySet (id = 'home_credit_default_risk')
es = es.entity_from_dataframe (entity_id = 'application',dataframe=app_train, index='SK_ID_CURR') es = es.entity_from_dataframe(entity_id='previous_application',dataframe= предыдущий, индекс ='SK_ID_PREVity_ra_f_f_f_f_f_f_f_f_f_f_f_s_f_f_s_f_) entity_id = 'pos_balance', dataframe = cash, index = 'pos_balance_id') r_applications_prev_apps = ft.Relationship(es['Applications']['SK_ID_CURR'],es['previous_application']['SK_ID_CURR']) es = es.add_relationship(r_applications_prev_apps) r_applications_pos_balance = ft.Relationship(es['application']['SK_ID_CURR'],es['pos_balance']['SK_ID_CURR']) es = es.add_relationhip(r_applications_pos_rixnames) entityset=es, target_entity='apps') feature_matrix.to_csv(r'C:\Users\sarvendra.singh\Desktop\featureTools\feature_matrix_train.csv', sep=',') filepath = os.path.join(r') C:\Users\sarvendra.singh\Desktop\featureTools','feature_definitions') ft.save_features(feature_names,filepath) сохраненные_features = ft.load_features(filepath)
создание сущностей и отношений с тестовыми данными и другими таблицами предыдущих и кассовых
es1 = ft.EntitySet(id='home_credit_default_risk1') es1 = es1.entity_from_dataframe(entity_id='приложения',dataframe=app_test, индекс ='SK_ID_CURR') es1 = es1.entity_from_dataframe(entity_id= предыдущая, данные, предыдущие данные index ='SK_ID_PREV') es1 = es1.entity_from_dataframe (entity_id = 'pos_balance', dataframe = cash, index = 'pos_balance_id')
r_applications_prev_apps = ft.Relationship (es1 ['application']['SK_ID_CURR'],es1['previous_application']['SK_ID_CURR']) es1 = es1.add_relationship(r_applications_prev_apps) r_applications_pos_balhip] Applications [es_balance] ft. ['SK_ID_CURR'],es1['pos_balance']['SK_ID_CURR']) es1 = es1.add_relationship(r_applications_pos_balance) feature_matrix_test = ft.calculate_feature_matrix(сохраненные_функции, es1) feature_matrix_test.ar.v. \Desktop\featureTools\feature_matrix_test.csv', sep=',')