Forwarded from Aspiring Data Science
#python #hettingner #pep #codegems #refactoring #codewrappers
P vs NP ) And the gorilla in the room.
https://www.youtube.com/watch?v=wf-BqAjZb8M
P vs NP ) And the gorilla in the room.
https://www.youtube.com/watch?v=wf-BqAjZb8M
YouTube
Raymond Hettinger - Beyond PEP 8 -- Best practices for beautiful intelligible code - PyCon 2015
"Speaker: Raymond Hettinger
Distillation of knowledge gained from a decade of Python consulting, Python training, code reviews, and serving as a core developer. Learn to avoid some of the hazards of the PEP 8 style guide and learn what really matters for…
Distillation of knowledge gained from a decade of Python consulting, Python training, code reviews, and serving as a core developer. Learn to avoid some of the hazards of the PEP 8 style guide and learn what really matters for…
👍1
Forwarded from Aspiring Data Science
#ml #geofeatures #python
Отличная глава о подготовке геофичей
https://geographicdata.science/book/notebooks/12_feature_engineering.html
Отличная глава о подготовке геофичей
https://geographicdata.science/book/notebooks/12_feature_engineering.html
Forwarded from Data Secrets
Самый полный репозиторий библиотек Python для Data Science разработчика
Если ты занимаешься Data Science, то знаешь, как важно иметь под рукой нужные инструменты для эффективной работы. Мы тут как раз нашли заметку, в которой перечислены все самые полезные и эффективные библиотеки и модули Python для разных задач. Есть разделы "Очистка и обработка", "Рекомендательные системы", "Временные ряды", "NLP", "Визуализация". Все со ссылками на документацию.
https://analyticsindiamag.com/python-libraries-repository-for-data-science/
😻 #advice #python
Если ты занимаешься Data Science, то знаешь, как важно иметь под рукой нужные инструменты для эффективной работы. Мы тут как раз нашли заметку, в которой перечислены все самые полезные и эффективные библиотеки и модули Python для разных задач. Есть разделы "Очистка и обработка", "Рекомендательные системы", "Временные ряды", "NLP", "Визуализация". Все со ссылками на документацию.
https://analyticsindiamag.com/python-libraries-repository-for-data-science/
Please open Telegram to view this post
VIEW IN TELEGRAM
Analytics India Magazine
Python Libraries Repository for Data Science | Analytics India Magazine
We have curated the most comprehensive list of 200+ python libraries for data science & machine learning; with tutorial, release date & docs.
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#optimization #ml #metrics #python #numba #codegems
В общем, sklearn-овские метрики оказались слишком медленными, пришлось их переписать на numba. Вот пример classification_report, который работает в тысячу раз быстрее и поддерживает почти всю функциональность (кроме весов и микровзвешивания). Также оптимизировал метрики auc (алгоритм взят из fastauc) и calibration (считаю бины предсказанные vs реальные, потом mae/std от их разностей). На 8M сэмплов всё работает за ~30 миллисекунд кроме auc, та ~300 мс. Для сравнения, scikit-learn-овские работают от нескольких секунд до нескольких десятков секунд.
В общем, sklearn-овские метрики оказались слишком медленными, пришлось их переписать на numba. Вот пример classification_report, который работает в тысячу раз быстрее и поддерживает почти всю функциональность (кроме весов и микровзвешивания). Также оптимизировал метрики auc (алгоритм взят из fastauc) и calibration (считаю бины предсказанные vs реальные, потом mae/std от их разностей). На 8M сэмплов всё работает за ~30 миллисекунд кроме auc, та ~300 мс. Для сравнения, scikit-learn-овские работают от нескольких секунд до нескольких десятков секунд.
@njit()
def fast_classification_report(
y_true: np.ndarray, y_pred: np.ndarray, nclasses: int = 2, zero_division: int = 0
):
"""Custom classification report, proof of concept."""
N_AVG_ARRAYS = 3 # precisions, recalls, f1s
# storage inits
weighted_averages = np.empty(N_AVG_ARRAYS, dtype=np.float64)
macro_averages = np.empty(N_AVG_ARRAYS, dtype=np.float64)
supports = np.zeros(nclasses, dtype=np.int64)
allpreds = np.zeros(nclasses, dtype=np.int64)
misses = np.zeros(nclasses, dtype=np.int64)
hits = np.zeros(nclasses, dtype=np.int64)
# count stats
for true_class, predicted_class in zip(y_true, y_pred):
supports[true_class] += 1
allpreds[predicted_class] += 1
if predicted_class == true_class:
hits[predicted_class] += 1
else:
misses[predicted_class] += 1
# main calcs
accuracy = hits.sum() / len(y_true)
balanced_accuracy = np.nan_to_num(hits / supports, copy=True, nan=zero_division).mean()
recalls = hits / supports
precisions = hits / allpreds
f1s = 2 * (precisions * recalls) / (precisions + recalls)
# fix nans & compute averages
for arr in (precisions, recalls, f1s):
np.nan_to_num(arr, copy=False, nan=zero_division)
weighted_averages[i] = (arr * supports).sum() / len(y_true)
macro_averages[i] = arr.mean()
return hits, misses, accuracy, balanced_accuracy, supports, precisions, recalls, f1s, macro_averages, weighted_averagesForwarded from Data Secrets
Про pipe в pandas
pipe - это метод реализации паплайна в pandas через последовательную цепочку преобразований (не путать с Pipeline из скалерна).
Например, у нас есть ряд функций, каждая из которых отвечает за какое-то преобразование. Тогда пайплайн в pandas можно реализовать так:
😻 #analytics #python
pipe - это метод реализации паплайна в pandas через последовательную цепочку преобразований (не путать с Pipeline из скалерна).
Например, у нас есть ряд функций, каждая из которых отвечает за какое-то преобразование. Тогда пайплайн в pandas можно реализовать так:
def normilize(df):
...
return df
def fill_null(df, method):
...
return df
def parse_time(df):
...
return df
new_df = (df
.pipe(normilize)
.pipe(fill_null, method='median')
.pipe(parse_time)
)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Secrets
Тензоры и как с ними работать
Тезнзоры – это главные объекты библиотеки TensorFlow, которая вместе в PyTorch является основным инструментом для обучения нейросетей.
Но как работать с этими тензорами? Мы очень старались и выкатили вам по этой теме коллаб. В нем – подробный гайд с кодом и пояснениями. Разбираем, как создавать тензоры, какие есть важные операции с ними, как изменить их размерность, перемножить их и многое другое.
Сохраняйте на здоровье -> https://colab.research.google.com/github/Veron28/bot_test/blob/master/tensorflow_by_data_secrets.ipynb
😻 #python
Тезнзоры – это главные объекты библиотеки TensorFlow, которая вместе в PyTorch является основным инструментом для обучения нейросетей.
Но как работать с этими тензорами? Мы очень старались и выкатили вам по этой теме коллаб. В нем – подробный гайд с кодом и пояснениями. Разбираем, как создавать тензоры, какие есть важные операции с ними, как изменить их размерность, перемножить их и многое другое.
Сохраняйте на здоровье -> https://colab.research.google.com/github/Veron28/bot_test/blob/master/tensorflow_by_data_secrets.ipynb
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Secrets
PandasAI
С появлением ChatGPT многие задачи были автоматизированы в удобных утилитах. Для датасайентистов тоже появился такой лакомый кусочек: PandasAI. Эта библиотека-расширение pandas, в которую добавлена возможность выполнять задачи обработки данных без явного написания кода. Пишешь промпт – и поехали. Можно даже рисовать графики и работать с файлами.
😻 #python
С появлением ChatGPT многие задачи были автоматизированы в удобных утилитах. Для датасайентистов тоже появился такой лакомый кусочек: PandasAI. Эта библиотека-расширение pandas, в которую добавлена возможность выполнять задачи обработки данных без явного написания кода. Пишешь промпт – и поехали. Можно даже рисовать графики и работать с файлами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Secrets
Про всякие транформаторы в Sklearn
Поговорили про то, как элегантно обернуть в pipeline любую пользовательскую функцию, как подправить встроенный транформатор, зацепили мега-полезные QuantileTransformer и TransformedTargetRegressor, а на сладкое рассказали про то, как в одну строку визуализировать конвейер.
😻 #python
Поговорили про то, как элегантно обернуть в pipeline любую пользовательскую функцию, как подправить встроенный транформатор, зацепили мега-полезные QuantileTransformer и TransformedTargetRegressor, а на сладкое рассказали про то, как в одну строку визуализировать конвейер.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Artem Ryblov’s Data Science Weekly
Write faster Python code, and ship your code faster
Faster and more memory efficient data
- Articles: Learn how to speed up your code and reduce memory usage.
- Products: Observability and profiling tools to help you identify bottlenecks in your code.
Docker packaging for Python
- Articles: Learn how to package your Python application for production.
- Products: Educational books and pre-written software templates.
Navigational hashtags: #armknowledgesharing #armsites
General hashtags: #python #development #docker
Faster and more memory efficient data
- Articles: Learn how to speed up your code and reduce memory usage.
- Products: Observability and profiling tools to help you identify bottlenecks in your code.
Docker packaging for Python
- Articles: Learn how to package your Python application for production.
- Products: Educational books and pre-written software templates.
Navigational hashtags: #armknowledgesharing #armsites
General hashtags: #python #development #docker