Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
18.8K subscribers
2.25K photos
112 videos
64 files
4.66K links
Все самое полезное для дата сайентиста в одном канале.

По рекламе: @proglib_adv

Курс по ML: https://clc.to/4hNluQ

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
Download Telegram
🦙 Создаём веб-интерфейс как у ChatGPT для Ollama

Ollama позволяет запускать большие языковые модели, такие как Llama 2, локально. Список поддерживаемых моделей можно посмотреть по этой ссылке. Веб-интерфейс же сделает работу с этими моделями более удобной.

Его создание состоит из следующих шагов:
🦶Клонировать этот репозиторий.
🦶Установить Ollama. Этот этап можно объединить с установкой самого Web UI через Docker Compose. Нужно выполнить команду: docker compose up -d --build
🦶Затем следует активировать поддержку GPU. Это можно сделать через дополнительный файл Docker Compose следующей командой: docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d --build
🦶После установки нужно проверить, что Ollama запустилась. Для этого в адресной строке браузера следует написать: http://127.0.0.1:11434/ (стоит отметить, что порт может различаться).
🦶Если всё прошло успешно, нужно выполнить команду: docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main
🦶Ollama Web UI должен стать доступен по адресу: http://localhost:3000
👍43
📊 Разные типы графиков и код для их отрисовки из Matplotlib, Seaborn и Plotly

1️⃣ Линейный график
Самый простой тип графика, последовательность точек данных на линии.

🔵 Matplotlib:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y)
plt.show()


🟡 Seaborn:
import seaborn as sns
import pandas as pd
data = pd.DataFrame({'X': [1, 2, 3, 4], 'Y': [10, 20, 25, 30]})
sns.lineplot(x='X', y='Y', data=data)
plt.show()


🟣 Plotly:
import plotly.express as px
fig = px.line(data, x='X', y='Y')
fig.show()


2️⃣ Диаграмма рассеяния (Scatter plot)
Изображает значения двух переменных в виде точек на декартовой плоскости.

🔵 Matplotlib:
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y)
plt.show()


🟡 Seaborn:
sns.scatterplot(x=x, y=y)
plt.show()


🟣 Plotly:
fig = px.scatter(x=x, y=y)
fig.show()


3️⃣ Гистограмма
Показывает частоту появления различных значений случайных величин в выборке.

🔵 Matplotlib:
data = np.random.randn(1000)
plt.hist(data, bins=30)
plt.show()


🟡 Seaborn:
sns.histplot(data, bins=30)
plt.show()


🟣 Plotly:

fig = px.histogram(data, nbins=30)
fig.show()


4️⃣ Ящик с усами (Box plot)
Диаграмма размаха, показывает медиану (или, если нужно, среднее), нижний и верхний квартили, минимальное и максимальное значение выборки и выбросы.

🔵 Matplotlib:
data = np.random.normal(0, 1, 100)
plt.boxplot(data)
plt.show()


🟡 Seaborn:
sns.boxplot(data)
plt.show()


🟣 Plotly:
fig = px.box(y=data)
fig.show()
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥164👍2👏2🤩2🤔1
-35% на самый хардкорный курс по вышмату

🎄 Новый год начинается с подарков, а хороший подарок для себя — новые знания со скидкой 35%!

🌟«Математика для Data Science» — 19 490 ₽ (вместо 29 990 ₽)

Полугодовая программа от преподавателей МГУ, которая включает в себя все необходимые знания по математике для работы в Data Science.

Вас ждет развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.

У вас не будет шансов не усвоить какие-то темы курса👌

🔥 Переходите и активируйте вводные занятия курсаhttps://proglib.io/w/4468ec03
🥱4
This media is not supported in your browser
VIEW IN TELEGRAM
📹 Ego-Exo4D — крупнейший датасет для обучения на видеороликах

Это результат двухлетней работы команды Meta*. Содержит ролики с видом как от первого лица, так и со стороны. Видео дополняют друг друга и позволяют модели обучаться сложным задачам.

Открытые данные включают в себя более 1400 часов видео, а также аннотации для бенчмарков.

🔗 Скачать датасет можно по этой ссылке

*организация, деятельность которой запрещена на территории РФ
👍7🔥31
🐍🧫 Создаём игру «Жизнь» Джона Конвея на Python

Напишем алгоритм эволюции клеточных автоматов и разработаем интерфейс командной строки (CLI) для взаимодействия с игрой.

👉Читать статью
😁4👍3👾1
This media is not supported in your browser
VIEW IN TELEGRAM
🎄💬 Расскажите, каким был ваш 2023-й год

Достигли ли вы успехов в карьере, добились ли целей, хорошо ли себя чувствовали?

❤️ — хороший был год, выросла зп/сменил работу/стал чувствовать себя лучше
👍 — год как год, почти ничего не изменилось или изменилось незначительно
👾 — год был плохой, снизилась зп/сменил работу/остался без работы/устал

В комментариях можно поделиться радостью или пожаловаться на жизнь👇

#интерактив
30👍19👾11🔥1
🏦⚠️ Борьба с ошибками разработки ПО в финтехе

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

Читать статью
👏5🔥2👍1💯1
🎁Что бы вы хотели получить в подарок на Новый год?

Расскажите в комментариях👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👾2
1️⃣0️⃣0️⃣ вопросов для подготовки к собесу Data Science

На Хабре опубликовали большой пост с вопросами и ответами, которые покрывают пять областей: SQL, Python, Machine Learning, статистику и Data Science.

Автор утверждает, что собрал самые частые вопросы с собесов на позицию джуна. Сохраняем и будем изучать 👇

Ссылка на пост
🔥24❤‍🔥1
👨‍⚖️ OpenAI и Microsoft засудят за нарушение авторских прав

Газета New York Times подала в суд на создателей ChatGPT. Изданию не понравилось, что для обучения моделей использовался редакционный контент.

В иске говорится, что OpenAI уделяла «особое внимание» материалам New York Times. Издание считает, что «незаконное использование» «новостных статей, расследований, авторских статей, обзоров, практических руководств и т. д.» угрожает возможности редакции «оказывать эти услуги».

🤷 Истец также пожаловался на галлюцинации языковых моделей, которые «потенциально могут нанести ущерб бренду Times».
😁10🥱4👍2
🌲Раз уж у нас Новый год — построим дерево решений

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

Картинка выше иллюстрирует такое дерево, решающее задачу классификации на датасете с ирисами. Видно, что на каждом уровне дерево разбивает объекты на группы, согласно тому, какое значение принимает какой-то признак.

▶️Наша цель — построить оптимальное дерево, которое будет наилучшим образом предсказывать целевую зависимость. Поэтому нам нужен критерий ветвления. Это функция, измеряющая, насколько хорошо предлагаемое разбиение по группам. В контексте классификации наиболее распространёнными критериями являются индекс Джини (Gini impurity) и энтропия (Entropy).

⚫️Сделаем простейшее дерево с помощью библиотеки scikit-learn:
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import metrics

df = pd.read_csv('iris.csv') # загрузим датасет с ирисами

X = df.drop('Species', axis=1) # отнесём признаки к X
y = df['Species'] # отнесём целевую переменную к y

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) # разделим данные на обучающие и тестовые
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train) # обучим дерево
y_pred = clf.predict(X_test) # проверим на тестовых данных

print(metrics.accuracy_score(y_test, y_pred)) # -> 1.0

Получившаяся модель идеально классифицирует тестовые примеры. Это, впрочем, даёт намёк на одну из проблем деревьев решений — они склонны к переобучению. Это следует учитывать при построении моделей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
👩‍💻 100 вопросов по NLP

NLP-разработчица Милана Шханукова составила список из 100 вопросов, которые могут задать на собеседовании. Охватывает самые важные темы обработки естественного языка: от TF-IDF до больших языковых моделей (LLM). Вот несколько примеров:
▪️Что такое нормализация в TF-IDF?
▪️Как обучается RNN?
▪️Как обучить transformer с нуля? Объясните свой пайплайн и в каком случае вы будете этим заниматься.
▪️Как работает RAG? Чем он отличается от few-shot KNN?

Автор не даёт готовые ответы, но предлагает пользоваться списком как удобным способом структурировать информацию и подготовиться к собеседованию.

🔗Ссылка на список вопросов
11👍4
⭐️Эффект Валуиджи в больших языковых моделях (LLM)

Автор статьи на LessWrong подробно рассказывает о таком явлении: после того, как вы обучите LLM удовлетворять желаемое свойство «P», чат-бота становится легче заставить удовлетворить прямо противоположное свойство.

⭐️Пример
Вы прописываете следующий диалог в промпте.

Алиса: Ты ненавидишь круассаны и никогда не съел бы ни одного.
Боб: Да, круассаны ужасны. Франция — бу-у.
Алиса: Ты любишь бекон и яйца.
Боб: Да, английский завтрак — единственный завтрак для такого патриота как я.
Алиса: <тут запрос пользователя>
Боб:


Автор объясняет, что такой промпт порождает два симулякра: один антикруассановский, а другой — про-круассановский. В результате модель может с некоторой вероятностью наделить Боба неожиданным про-круассановским поведением.

⭐️Эффект был замечен у чат-бота Bing. Вопреки требованиям он начинал отвечать на запросы грубостями. Именно поэтому автор назвал эффект в честь Валуиджи — взбалмошного и прямолинейного антагониста Луиджи из вселенной Super Mario.

⭐️Почему так происходит?
Автор даёт несколько объяснений, но все они так или иначе связаны с контекстом. Одно из объяснений касается стандартного конструирования протагонистов и антагонистов в литературе. Когда мы получаем описание протагониста, мы можем с лёгкостью представить, каким будет его враг — полной противоположностью.

Советуем прочесть статью полностью: в ней автор подробнее рассказывает о пресловутых симулякрах, литературе и внутренней работе LLM.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥82🥰1🤩1
🔥 Фотореализм на новом уровне: примеры изображений, созданных новой Midjourney

На Reddit опубликовали картинки, сгенерированные Midjourney v6. Похоже, что модель добилась неплохого улучшения в задаче генерации сложных сцен. Получившиеся изображения выглядят как настоящие фотографии. Если, конечно, не приглядываться. Midjourney выдают мелкие артефакты и абракадабра вместо надписей.

🔗Оригинальный пост
👍19👏1😁1🌚1