Data Science | Machinelearning [ru]
17.9K subscribers
461 photos
14 videos
29 files
3.33K links
Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence)

По вопросам рекламы или разработки - @g_abashkin

РКН: https://vk.cc/cJPGXD
Download Telegram
👩‍💻 Генератор случайных паролей с настройками

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

Использовать ли цифры.
Использовать ли буквы верхнего и/или нижнего регистра.
Использовать ли специальные символы.

➡️ Пример:

password = generate_password(length=12, use_digits=True, use_uppercase=True, use_lowercase=True, use_specials=False)
print(password)
# Пример вывода: A1b2C3d4E5f6


Решение задачи🔽

import random
import string

def generate_password(length, use_digits=True, use_uppercase=True, use_lowercase=True, use_specials=True):
if length < 1:
raise ValueError("Длина пароля должна быть больше 0")

# Формируем набор символов
character_pool = ""
if use_digits:
character_pool += string.digits
if use_uppercase:
character_pool += string.ascii_uppercase
if use_lowercase:
character_pool += string.ascii_lowercase
if use_specials:
character_pool += "!@#$%^&*()-_=+[]{}|;:,.<>?/"

if not character_pool:
raise ValueError("Нужно выбрать хотя бы один тип символов")

# Генерация пароля
return ''.join(random.choice(character_pool) for _ in range(length))

# Пример использования
password = generate_password(length=12, use_digits=True, use_uppercase=True, use_lowercase=True, use_specials=True)
print(password)
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Кто такой разметчик данных и сколько он зарабатывает? Все, что вам нужно знать о профессии

Как нейросети распознают лица и управляют авто? Всё это благодаря разметчикам данных, которые учат ИИ видеть и понимать мир. Узнайте, сколько они зарабатывают и какие навыки нужны для работы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Как работает кросс-валидация в ML?

Кросс-валидация — это техника оценки модели, которая помогает избежать переобучения и лучше оценить её обобщающую способность. В классической k-блочной кросс-валидации данные разбиваются на k равных частей, и модель обучается k раз, каждый раз используя одну часть для тестирования и остальные для обучения.

➡️ Пример применения кросс-валидации с использованием библиотеки scikit-learn:
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

data = load_iris()
X, y = data.data, data.target
clf = RandomForestClassifier()

scores = cross_val_score(clf, X, y, cv=5)
print(f'Средняя точность: {scores.mean()}')

Здесь модель обучается 5 раз (5-fold) на разных частях данных, и вычисляется средняя точность.

🗣️ Кросс-валидация помогает лучше понять, как модель будет работать на новых данных, улучшая её обобщение.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2😁1
🤔Машинное обучение и криптография: знакомимся с CipherGAN

В этой статье мы рассмотрим генеративно‑состязательную сеть CipherGAN, используемую для определения базового шифровального отображения по банкам непарного зашифрованного текста и открытого текста.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥1
🌞 Как мы учили Алису видеть мир с помощью мультимодальной нейросети Яндекса

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🐳1
🧩 Строй собственную «библиотеку решений»

Каждый раз искать, как настроить nginx или написать paginated API — это трата энергии.

👉 Совет: собирай свои удачные решения в одном месте: фрагменты кода, полезные настройки, готовые сниппеты. Через пару месяцев ты получишь личную базу готовых решений, которая будет экономить тебе часы работы на каждом проекте.
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥1
⚙️ Бинарная классификация одним простым искусственным нейроном. Личный опыт

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥1
⚙️ Чёрный ящик раскрыт: как инъекция промта заставляет ИИ говорить всё и вытягивает системный запрос

В статье показывают, как HiddenLayer обошли защиту топовых ИИ-моделей с помощью хитрой промт-инъекции и получили доступ к запрещённым темам и внутренним системным промтам.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1
👩‍💻 Предсказание цены дома по площади

Напишите модель линейной регрессии, которая будет предсказывать цену дома на основе его площади в квадратных метрах.

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

Решение задачи🔽

import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# Генерация данных
np.random.seed(0)
area = np.random.randint(30, 150, size=100).reshape(-1, 1) # площадь от 30 до 150 м²
price = area * 1000 + np.random.normal(0, 10000, size=area.shape) # цена с шумом

# Обучение модели
model = LinearRegression()
model.fit(area, price)

# Предсказание
new_area = np.array([[100]])
predicted_price = model.predict(new_area)
print(f"Ожидаемая цена дома 100 м²: {predicted_price[0][0]:,.0f}₽")

# Визуализация
plt.scatter(area, price, label='Данные')
plt.plot(area, model.predict(area), color='red', label='Линейная модель')
plt.xlabel('Площадь (м²)')
plt.ylabel('Цена (₽)')
plt.legend()
plt.show()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
👩‍💻 Линейная регрессия и её регуляризация в Scikit-learn

Линейная регрессия — это метод обучения с учителем, который предсказывает значение y на основе признаков X. Основное допущение — линейная зависимость y от Xi, что позволяет оценить y через математическое выражение.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 Задачка по Python

Создайте Python-приложение, которое принимает набор данных с несколькими признаками и определяет наиболее важные признаки для предсказания целевой переменной с помощью модели RandomForest. Программа должна выводить результаты в виде списка признаков, отсортированных по важности.

➡️ Пример:

python app.py data.csv — выводит важные признаки.

Решение задачи ⬇️

import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split

def feature_importance(file):
data = pd.read_csv(file)
X = data.drop(columns=['target'])
y = data['target']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

model = RandomForestClassifier()
model.fit(X_train, y_train)

importance = pd.Series(model.feature_importances_, index=X.columns).sort_values(ascending=False)
print("Важные признаки:\n", importance)

if __name__ == "__main__":
import sys
if len(sys.argv) != 2:
print("Использование: python
app.py <файл.csv>")
else:
feature_importance(sys.argv[1])
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥1
➡️ Что такое технология TTS, как устроена и каких сферах используется синтез речи

Вместе с Григорием Стерлингом, лидом команды TTS в SberDevices, разбираемся, как устроена технология, как разрабатывают синтезаторы речи и что нужно знать, чтобы работать в этой сфере.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
📨 Пример использования программы для парсинга e-mail адресов с сайтов, созданный ИИ

Сегодня делимся программой для парсинга e-mail с сайтов, созданной за 30 минут с помощью ИИ от Rokitok. Это показывает, как ИИ ускоряет задачи, на которые раньше уходили дни или большие бюджеты.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥1
Как обработать пропущенные данные?

Пропущенные данные — частая проблема в Data Science, особенно в реальных данных. Чтобы правильно обработать такие данные, можно использовать стратегии заполнения пропусков (например, средним значением или медианой) или удалить строки/столбцы с пропусками.

➡️ Пример:
import pandas as pd
import numpy as np

data = {'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, 8]}
df = pd.DataFrame(data)

# Заполнение пропусков средним значением
df['A'].fillna(df['A'].mean(), inplace=True)

print(df)


🗣️ Пропущенные данные могут искажать результаты анализа, поэтому их нужно обрабатывать перед моделированием.
Please open Telegram to view this post
VIEW IN TELEGRAM
4👎1🔥1
🔎 Подборка вакансий для мидлов

Middle Data Analyst
🟢SQL, Python, Power BI, Tableau, FineBI
🟢Уровень дохода не указан | 1–3 года

Аналитик данных / Data Analyst
🟢SQL, Python, Apache Airflow, Clickhouse, Jupyter, Git, DataLens
🟢от 150 000 до 300 000 ₽ | 3–6 лет

Data Scientist (Ranking&Search)
🟢Python, PySpark, Hive, SQL, PyTorch, CatBoost, Airflow, Docker, Hadoop
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
2
☁️ Как обучить ИИ в облаке

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎5👍21
👩‍💻 Задачка по Python

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

➡️ Пример:

python app.py predict_stock prices.csv — предсказывает изменение цены акций на следующий день.

Решение задачи ⬇️

import sys
import pandas as pd
from sklearn.linear_model import LinearRegression
import pickle

def predict_stock(file):
data = pd.read_csv(file)
X = data.index.values.reshape(-1, 1)
y = data['Close'].values

model = LinearRegression()
model.fit(X, y)

next_day = [[len(X)]]
prediction = model.predict(next_day)

with open('model.pkl', 'wb') as f:
pickle.dump(model, f)

print(f'Прогноз на следующий день: {"Рост" if prediction > y[-1] else "Падение"}')

if __name__ == "__main__":
if len(sys.argv) != 3 or sys.argv[1] != 'predict_stock':
print('Использование: python
app.py predict_stock <файл.csv>')
else:
predict_stock(sys.argv[2])
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1