Бележка на редактора: Франц Кирали е лектор за ODSC Europe този юни. Не пропускайте да разгледате неговата реч „sktime — Python Toolbox за машинно обучение с времеви серии» там!

Добре дошли в sktime, отворената общност и рамка на Python за всички неща времеви серии. Ето какво трябва да знаете:

  • sktime е пакет на Python за задачи с времеви серии като прогнозиране, класификация и трансформации с познат и удобен за потребителя API, подобен на scikit-learn.
  • Той е „включен с батерии“ с лесни за използване компоненти и шаблони за разширение, за да реализирате свои собствени. Изградете настроени автоматични ML тръбопроводи с общ интерфейс към добре познати библиотеки (scikit-learn, statsmodels, tsfresh, PyOD, fbprophet и други!)
  • Нашата приятелска и съвместна общност е отворена за сътрудници от всякакъв произход. Ние винаги търсим нови алгоритми, които да бъдат хоствани, те са собственост на техния автор и се поддържат заедно с нас. Ние приветстваме всички форми на принос, не само код.
  • В sktime ние се ангажираме да предоставяме наставничество и възможности за повишаване на уменията за всички, особено за слабо представените демографски групи. Предлагаме събития за включване, наставничество и летни стажове, за да ви помогнем да развиете уменията си и да постигнете целите си!
  • Вярваме в отворения код, отворената наука и отвореното управление. Това означава, че ценим прозрачното управление и участието и сме посветени на споделянето на ползи и възможности с нашата непрекъснато нарастваща потребителска база. Присъединете се към нас и помогнете на sktime да напредне като организация! Независимо дали сте опитен специалист по данни, работещ с времеви редове, или сте новодошъл в областта, присъединете се към нас! С огромен избор от компоненти и алгоритми, подкрепяща общност и ангажимент за наставничество на нови сътрудници, sktime е идеалният избор за всеки, който иска да издигне професионалното си пътуване на следващото ниво. На ODSC 2023 ще дадем въведение в: Как да идентифицирате вашата учебна задача за времеви редове — това прогнозиране ли е? Класификация? Анотация? Нещо друго? Как да използвате sktime за прилагане на общи алгоритми и как да изградите свои собствени тръбопроводи за извличане на функции, настройка, автоматично ML и други Как да създадете съвместим със sktime компонент за оценка, който може да се използва с тръбопроводи на sktime. Как да го поддържате в частна кодова база или да допринесете за библиотеката с алгоритъм на sktime. Как да допринесете за пътната карта и управлението на sktime като потребител, как да докладвате грешки, как да се свържете с общността на разработчиците и потребителите, да участвате в събития на общността Как да започнете да допринасяте за sktime — започнете вашето пътуване с ML с отворен код днес! Предлагат се платени възможности за стаж и неплатени възможности за наставничество!

sktime, унифицираният пакет за времеви серии ML

sktime поддържа много учебни задачи и обекти, свързани с времеви серии! Прогнозиране, Класификация, Извличане на характеристики, Напасване на параметри и много други.

Прогнозирането със sktime е лесно!

from sktime.datasets import load_airline
from sktime.forecasting.arima import ARIMA
y = load_airline() fh = [1, 2, 3]
forecaster = ARIMA(order=(1, 1, 0))
forecaster.fit(y, fh=fh)
y_pred = forecaster.predict()

(визуализация също)

from sktime.utils import plotting
fig, ax = plotting.plot_series(
    y, y_pred, labels=["y", "y_pred"] )

Сменете лесно всеки алгоритъм за прогнозиране по ваш избор със sktime – толкова е просто (и гъвкаво)!

# if you prefer nixtla/statsforecast above pmdarima from
sktime.forecasting.statsforecast import StatsForecastAutoARIMA
forecaster = StatsForecastAutoARIMA()
forecaster.fit(y, fh=fh)

Интервалните и вероятностните прогнози също са лесни:

coverage = 0.9
y_pred_ints = forecaster.predict_interval(coverage=coverage)
fig, ax = plotting.plot_series(
    y, y_pred, labels=["y", "y_pred"], pred_interval=y_pred_ints )

sktime е композируем и съвместим със sklearn — и може да се използва всеки съвместим с sklearn оценител, напр. в редукционни композитори:

import xgboost as xgb xgbregressor = xgb.XGBRegressor()
forecaster = make_reduction(     xgbregressor,
    window_length=15,
    strategy="recursive")

sktime има гъвкаво изграждане и композиция на тръбопроводи Например, модел с множествена сезонност и полиномно премахване на тренда, чрез тръбопровод:

forecaster = (
    Detrender(PolynomialTrendForecaster(degree=3))
    * Deseasonalizer(model="multiplicative", sp=12)
    * Deseasonalizer(model="multiplicative", sp=3)
    * ARIMA()
)

sktime също така предоставя гъвкав AutoML интерфейс, излагащ избора на архитектура на модела като регулируеми параметри:

forecaster = MultiplexForecaster(
    forecasters=[
     ("naive", NaiveForecaster(strategy="last")),
     ("ets", ExponentialSmoothing(trend="add", sp=12)),
    ]
)
cv = SlidingWindowSplitter(initial_window=int(len(y_train) * 0.5), window_length=30) forecaster_param_grid = {"selected_forecaster": ["ets", "naive"]} gscv = ForecastingGridSearchCV(forecaster, cv=cv, param_grid=forecaster_param_grid)

Търсите повече ресурси за sktime? Вижте нашите уроци и въведения, за да навлезете бързо:

Записани видео уроци: http://www.sktime.net/en/latest/tutorials.html Тетрадки с уроци за подвързване: https://mybinder.org/v2/gh /sktime/sktime/main?filepath=examples

sktime, отворената библиотека на общността

Каним всички да се присъединят и да допринесат! https://www.sktime.net/en/latest/get_involved/contributing.html

Ако имате нужда от помощ, за да започнете, не се колебайте да се свържете с нас! Нашата общност активно си сътрудничи за раздора: https://discord.com/invite/54ACzaFsn7 Имаме:

  • Сесии за сътрудничество в общността, понастоящем всеки петък 16:00 UTC (но гъвкави)
  • Отзивчиви поддържащи — чатете с нас в бюрото за помощ или каналите за чат за разработчици
  • тематични работни потоци като дълбоко обучение, вероятностно прогнозиране
  • наставничество в общността, вижте по-долу

sktime е проектиран като библиотека с възможност за принос и разширяване — поддържат се както приноси към пакета, така и локални, частни, съвместими с интерфейс компоненти. Предоставяме шаблони за разширения за всички поддържани учебни задачи, за да ви позволим да пишете свои собствени компоненти

Вариант 1: искате ли оценител в sktime? Разклонете репото, попълнете шаблона за разширение, направете заявка за изтегляне. Това ви прави собственик на оценителя в библиотеката (ако го искате). Вариант 2: запишете го локално, например в хранилище, импортиращо sktime. Използвайте помощната програма check_estimators за тестване и непрекъсната интеграция. https://www.sktime.net/en/latest/developer_guide/add_estimators.html

sktime, отворената платформа за наставничество и повишаване на уменията

В sktime сме посветени на създаването на възможности за следващото поколение лидери с отворен код по целия свят. Ето защо ние предлагаме както стажове, така и менторска програма и насърчаваме всеки, който има интерес, да кандидатства. Нашата наставническа програма ви сдвоява с опитен технически наставник, който ще работи с вас по конкретни учебни цели, свързани с кодиране или методи. Отворено е за всички и можете да кандидатствате по всяко време. Вижте подробностите тук: https://www.sktime.net/en/latest/get_involved/mentoring.html Ако се интересувате от конкурентно платен стаж със sktime през 2023 г. кръг, не забравяйте да кандидатствате до крайния срок 19 май, посочен тук: https://github.com/sktime/mentoring/blob/main/internships/sktime2023.md Нашият модел на управление е предназначен да бъдете отворени, прозрачни и приобщаващи. Приветстваме приноса не само от разработчици, но и от редовни потребители и учени от ранна кариера, които искат да помогнат за оформянето на посоката на sktime.

През 2023 г. планираме да разширим нашия модел на управление, за да дадем възможност на още по-широка потребителска и общностна база. Препоръчваме ви да завършите потребителската си регистрация тук: https://forms.gle/eVuzrCjKDRupxawL7. По този начин ще бъдете включени в планирането на пътна карта, събития в общността и вашите доклади за грешки ще получат приоритет. Вие също ще имате право да гласувате и да участвате в предстоящите избори (при спазване на правилата и условията). Ние също оценяваме всеки принос за усъвършенстване на нашия модел на управление, като например участие в нашата работна група за управление (канал за управление на https://discord.com/invite/54ACzaFsn7)

sktime е възможен благодарение на всеотдайните усилия на нашите активни членове на общността. За да подкрепите нашите операции и благотворителна мисия и да имате глас в нашата пътна карта за развитие и събития, моля, помислете дали да не направите малко дарение чрез Open Collective (https://github.com/sponsors/sktime), или спонсориране на стаж в сътрудничество с вашата родна организация, отлична възможност за съвместно повишаване на уменията (изпратете имейл до [email protected])

Очаквам да се срещнем!

За да обобщим, sktime е унифицирана рамкова библиотека за машинно обучение с времеви серии, с подобен на sklearn API, включени батерии, готова за използване Отворена общностна библиотека, лесна за принос, лесна за разширяване, отворено наставничество и повишаване на уменията платформа, приветстваме ви да се присъедините към менторство, стажове или ръководни органи! Нямаме търпение да ви видим в ODSC! (и надяваме се, по-късно, като потребител, сътрудник, наставляван или спонсор на sktime!)

За автора:

Франц Кирали е основател и основен разработчик на рамката с отворен код sktime. Изследванията му са съсредоточени върху софтуерното инженерство за наука с отворен код и данни, машинно обучение за задачи за структурирано обучение, като например задачи за времеви серии, и стабилна емпирична и статистическа оценка на алгоритми при внедряване. Франц заема преподавателска позиция в University College London 2013–2020 г., преди да се премести в индустрията за научноизследователска и развойна дейност в главни роли на специалист по данни.

Първоначално публикувано на OpenDataScience.com

Прочетете още статии за наука за данни на OpenDataScience.com, включително уроци и ръководства от нива за начинаещи до напреднали! Абонирайте се за нашия седмичен бюлетин тук и получавайте последните новини всеки четвъртък. Можете също така да получите обучение по наука за данни при поискване, където и да сте с нашата платформа Ai+ Training. Абонирайте се и за нашата бързо развиваща се медийна публикация, ODSC Journal, и попитайте как да станете писател.