HEADJACK — Разработка функций модульности

Разработка признаков всегда была важным этапом в конвейере машинного обучения. Основная концепция разработки признаков заключается в создании или извлечении признаков с помощью знаний предметной области, чтобы алгоритмы машинного обучения могли легче извлекать информацию из данных. Ученые данных долго боролись за это, поэтому были созданы самые разные методы.

В этой статье подход, который мы представляем, отличается от традиционной технологии доменных знаний. Функция проектирования функций в Headjack (HJ) представляет собой модель, которая обучается путем самоконтролируемого обучения. Другими словами, мы можем выполнять преобразование функций между двумя доменами без одного и того же значения ключа. Кроме того, высвободите потенциал данных, который обычно не используется. Например, улучшите прогнозирование цены на жилье в Бостоне, применяемое в домене Титаник, или улучшите прогнозирование задачи оттока клиентов, примененное в домене трафика в Африке, и т. д. Эта открытая библиотека в настоящее время участвует в конкурсе космического корабля «Титаник» на Kaggle, применяя решения других людей и напрямую добавляя Headjack, и получила рейтинг 8/2119 (2022/10/23). Для получения подробной информации см.:



ИИ HEADJACK

HJ — это открытая библиотека, которая предоставляет платформу для обмена самоконтролируемыми моделями обучения, похожую на Huggingface в качестве концентратора, но в настоящее время она фокусируется на обмене функциями для табличных моделей данных. По сравнению с текстовыми данными табличные данные отличаются тем, что каждый набор данных имеет разную длину столбца и атрибуты, а это означает, что его нельзя вводить последовательно, в отличие от токена, встроенного в задачи НЛП. Таким образом, HJ отличается от предварительно обученной модели НЛП преобразованием одной области, но выполняется с двумя разными преобразованиями области. Подробности можно найти в статье (в настоящее время проводится двойное слепое рецензирование, и она будет опубликована позже).

С точки зрения приложения, представьте, что мы преобразуем каждый набор данных в модели путем обучения с самоконтролем, какую модель можно использовать в качестве разработки функций в других задачах, чтобы ее также можно было рассматривать как разработку функций модульности. . Кроме того, в HJ есть сообщество, в котором содержится множество моделей, обученных другими специалистами по данным. просто сначала обучите свою модель (платформа предоставляет бесплатный общедоступный графический процессор), а затем начните трансформировать функции с другими моделями.

Как запустить и установить?

Запустить HJ легко, достаточно зайти на сайт и зарегистрировать аккаунт (бесплатно). После регистрации на этой странице должны выполняться управление моделями и просмотр пула.

HJ также легко установить, просто установите его прямо в pip:

pip install headjackai-sdk

Войти и зарегистрироваться python

Войдите в python с вашей зарегистрированной учетной записью на странице.

from headjackai.headjackai_hub import headjackai_hub 
#host setting 
hj_hub = headjackai_hub('http://www.headjackai.com:9000')  
#account login 
hj_hub.login(username='???', pwd='???')

Проверьте пул моделей, модель представляет собой метод разработки функций:

#Check knowledge list on public pool 
hj_hub.knowledgepool_check(public_pool=True)[:10]
['kaggle_brijbhushannanda1979_bigmart_sales_data',
 'kaggle_blastchar_telco_customer_churn',
 'kaggle_lava18_google_play_store_apps',
 'kaggle_madislemsalu_facebook_ad_campaign',
 'kaggle_datasets_mhdzahier_travel_insurance',
 'kaggle_zhijinzhai_loandata',
 'kaggle_janiobachmann_bank_marketing_dataset',
 'kaggle_santoshd3_bank_customers',
 'kaggle_mahirahmzh_starbucks_customer_retention_malaysia_survey',
 'kaggle_ihormuliar_starbucks_customer_data']

Обучите инженерную модель функций и запустите переданную функцию:

В дополнение к ранее упомянутым функциям входа и проверки эта библиотека в основном предоставляет две функции: одна предназначена для обучения инженерной модели функций, а другая - для передачи функции. В этой статье мы будем использовать классический набор данных IRIS, чтобы показать это.

Как упоминалось ранее, HJ — это фреймворк, предназначенный для переноса двух разных доменов в таблицу, поэтому любой набор данных, который хочет выполнить перенос функций, должен сначала пройти обучение в качестве модели перед входом в фреймворк HJ:

#Load example data  
df = load_iris() 
pd_df = pd.concat((pd.DataFrame(df['data']),pd.DataFrame(df['target'])),1) 
pd_df.columns = df['feature_names']+['label']   

#Train a new knowledge model of genenral feature engineering   
hj_hub.knowledge_fit(data=pd_df, target_domain='example_iris',  
                     task_name='example_iris_task01', label='label')

Проверьте статус после запуска:

#Check the status of training task  
hj_hub.fit_status_check(task_name='example_iris_task01')
{'account': ???,  'task_name': 'api_example_iris_task01',  
'process': 'knowledge_fit',  'status': 'running'}

По окончании обучения статус будет отображаться как завершенный.:

#Check the status of training task  
hj_hub.fit_status_check(task_name='example_boston_task01')
{'account': ???, 'task_name': 'api_example_iris_task01',  
'process': 'knowledge_fit',  'status': 'completed'}

Он начинает передавать функцию, используемую этими моделями, после обучения.

#apply general features engineering on your task 
jackin_df = hj_hub.knowledge_transform(data=pd_df, 
                                        target_domain='example_iris',
                                        source_domain='uci_wine',label='label')

Мы напрямую обучаем машинное обучение на матрице передачи функций с помощью HJ, заменяя предметные знания об инженерии функций.

В HJ он обучил набор данных для предварительно обученных моделей в пул перед передачей, поэтому HJ называет разработка функций модульности и нарушает ограничение, согласно которому два набора данных должны использовать общий ключ. присоединиться одновременно, так что результат разработки признаков становится очень разнообразным. На практике протестируйте эти модели по отдельности, чтобы сравнить, какие из них хорошо справляются с поставленной задачей, и найдите исходный домен, который может напрямую улучшить показатель метрики в наборе проверки примерно на 3–10 %, по нашему опыту.

В этой структуре у нас есть возможность раскрыть потенциал каждого набора данных вместо культуры в задачах НЛП, которые напрямую применяют сверхгигантские модели. У каждого есть возможность внести свой вклад, и это может быть применено в сценарии, который вы вообще не можете себе представить. Чем больше людей будет использовать его, тем больше будет моделей для общения в этом сообществе, и платформа будет более совершенной.

Веб-сайт: headjackai.com

Код библиотеки: github