Анализ данных (Data analysis)
Data science, наука о данных. @haarrp - админ РКН: clck.ru/3FmyAp
Ko'proq ko'rsatish📈 Telegram kanali Анализ данных (Data analysis) analitikasi
Анализ данных (Data analysis) (@data_analysis_ml) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 50 248 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 2 657-o'rinni va Rossiya mintaqasida 12 484-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 50 248 obunachiga ega bo‘ldi.
25 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 38 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 8.85% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.52% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 4 447 marta ko‘riladi; birinchi sutkada odatda 3 278 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 28 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent llm, контекст, openai, архитектура, deepseek kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Data science, наука о данных.
@haarrp - админ
РКН: clck.ru/3FmyAp”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 26 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
product_table
+----+----------------------+-------+-------------+
| id | Название | Цена | category_id |
+----+----------------------+-------+-------------+
| 1 | iPhone 13 | 1000 | 2 |
| 2 | Galaxy S21 | 800 | 2 |
| 3 | Pixel 6 | 700 | 2 |
| 4 | MacBook Air | 1000 | 4 |
| 5 | Surface Pro 8 | 1200 | 4 |
| 6 | iPad Pro | 800 | 3 |
| 7 | iPad Mini | 400 | 9 |
| 8 | Smart TV | 800 | 1 |
| 9 | Home Theater System | 600 | 1 |
| 10 | Galaxy S21 Ultra | 1400 | 2 |
| 11 | iPhone 13 Pro Max | 1300 | 2 |
| 12 | Pixel 6 Pro | 1000 | 2 |
+----+----------------------+-------+-------------+
category_table
+----+-------------+
| id | Название |
+----+-------------+
| 1 | Электроника |
| 2 | Телефоны |
| 3 | Планшеты |
| 4 | Ноутбуки |
| 5 | Бытовая техника |
| 6 | Одежда |
| 7 | Спорттовары |
| 8 | Игрушки |
| 9 | Аксессуары |
+----+-------------+
order_table
+----+------------+-------------+------------+
| id | product_id | Количество | Дата |
+----+------------+-------------+------------+
| 1 | 1 | 2 | 2022-03-28 |
| 2 | 2 | 1 | 2022-03-28 |
| 3 | 3 | 3 | 2022-03-29 |
| 4 | 4 | 1 | 2022-03-30 |
| 5 | 5 | 2 | 2022-03-31 |
| 6 | 6 | 3 | 2022-03-31 |
| 7 | 7 | 2 | 2022-03-31 |
| 8 | 8 | 1 | 2022-03-31 |
| 9 | 9 | 1 | 2022-03-31 |
+--------------------------------------------+
Фильтрация данных
Предложение WHERE — это важный SQL-функционал для фильтрования данных по конкретным условиям. WHERE, которым определяется условие включения данных в результаты, добавляется в конце оператора SELECT.
Пример. Чтобы получить все продукты дороже 1000 $, применяем WHERE для их фильтрации по цене, в результаты включаются только продукты дороже 1000 $:
SELECT *
FROM product_table
WHERE price > 1000;
Возвращаемый результат:
+----+---------------------+-------+-------------+
| id | Название | Цена | category_id |
+----+---------------------+-------+-------------+
| 5 | Surface Pro 8 | 1200 | 4 |
| 10 | Galaxy S21 Ultra | 1400 | 2 |
| 11 | iPhone 13 Pro Max | 1300 | 2 |
+----+---------------------+-------+-------------+
Объединения
Чтобы иметь полную картину о данных нескольких таблиц, эти таблицы объединяют. Для этого в SQL имеются внутренние, левые, правые и полные внешние объединения.
Пример. Чтобы получить список всех заказов и название заказанного продукта, с помощью объединения в SQL объединяем таблицы: в одной данные о заказе, в другой — о продукте:
SELECT order_table.*, product_table.name
FROM order_table
INNER JOIN product_table ON order_table.product_id = product_table.id;
📌 Читать дальшеfrom langchain.llms import OpenAI
llm = OpenAI(model_name = 'gpt-3.5-turbo',
openai_api_key = 'ваш ключ',
temperature = 0.7)
Загрузка исходго видео.
Скопируйте и вставьте ссылку на видео с YouTube. Загрузите текст видео с помощью функции loader.load() и сохраните его в переменной, как показано ниже.
from langchain.document_loaders import YoutubeLoader
loader = YoutubeLoader.from_youtube_url('<https://www.youtube.com/watch?v=ogEalPMUCSY&pp=ygUJTGFuZ2NoaWFu>')
doc = loader.load()
Разделение текста на фрагменты
Размделим весь PDF-файл с текстом из видео на фрагменты с помощью функциии RecursiveCharacterTextSplitter. Установим размер фрагмента 1000 и значение перекрытия фрагментов 10. Это позволит разбить документ на фрагменты по 1000 слов.
from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=10)
text_chunks = text_splitter.split_documents(doc)
Создание и хранение векторных эмбеддингов
Настроим функцию эмбедингов OpenAIEmbeddings и хранилище векторов Pinecone. Подключим pinecone. Загрузите все текстовые фрагменты в векторное хранилище с помощью функции Pinecone.from_texts.
from langchain.vectorstores import Pinecone
from langchain.embeddings import OpenAIEmbeddings
import pinecone
import tqdm
import os
embeddings = OpenAIEmbeddings(openai_api_key= 'ваш апи ключ')
pinecone.init(
api_key= 'PINECONE_API_KEY'
environment = 'PINECONE_API_ENVIRON'
)
index_name = 'chatchain'
docsearch = Pinecone.from_texts(texts = [t.page_content for t in text_chunks],embedding=embeddings, index_name=index_name)
Настроим запросы
similarity_searh и k=4 выдаст 4 наиболее релевантных фрагмента, относящихся к нашему запросу. Передайте эти документы в load_qa_chain. Он просуммирует фрагменты в соответствии с нашим запросом и выдаст наилучший возможный ответ.
from langchain.chains.question_answering import load_qa_chain
query = 'what is vector embeddings'
docs = docsearch.similarity_search(query, k=4)
chain = load_qa_chain(llm, chain_type = 'stuff')
chain.run(input_documents=docs, question=query)
С помощью этого чат-бота вы можете загрузить любое видео,, задать любые вопросы по нему и получить искомое за считанные секунды с помощью ии-бота.
📌Бесплатный курс от Activeloop на LangChain & Vector Databases in Production.
📌pinecone
📌Статья
@data_analysis_mlНативная интеграция. Информация о продукте www.otus.rupip install scrapy
• Основы веб-скрепинга
Чтобы проиллюстрировать фундаментальную концепцию Scrapy, давайте создадим простой веб-скрепер, извлекающий данные с сайта. В этом примере мы будем извлекать цитаты с сайта “http://quotes.toscrape.com”. Изображение 1.
✔️ Мы определяем класс с именем “QuotesSpider”, который наследуется от класса Scrapy Spider. Мы указываем URL-адреса, с которых парсер начинает собирать данные. Метод “parse” является точкой входа парсера, в нем мы извлекаем нужные данные (цитаты и авторов) с помощью CSS-селекторов. Для возврата извлеченных данных мы используем оператор “yield”.
• Продвинутые техники скрапирования
Рассмотрим две важные техники парсинга: работу с пагинацией на страницах и извлечение данных из страниц всех собранных страниц. Изображение 2.
✔️ Мы создаем класс под названием “ProductSpider” для сбора информации о товарах с сайта электронной коммерции. В методе “parse” мы извлекаем название продукта и его цену со страниц. Кроме того, мы переходим по ссылкам на страницы с подробной информацией с помощью метода “response.follow” и определяем отдельный метод “parse product” для разбора страниц с подробной информацией об отдельных товарах. В методе “parse_product” мы извлекаем дополнительные сведения, например, описание товара.
• Обработка входа в систему и аутентификации
Scrapy предлагает функции для обработки сценариев входа в систему и аутентификации, что позволяет собирать данные из закрытых областей сайта. Пример обработки входа в систему с помощью FormRequest: Изображение 3.
✔️ Мы создаем класс с именем “LoginSpider” для обработки процесса входа в систему. В методе “parse” мы извлекаем данные формы входа в систему, включая CSRF-токен. Затем мы отправляем форму входа в систему с помощью FormRequest, передавая данные формы и функцию обратного вызова “after_login” для обработки ответа. В методе “after_login” можно выполнять дальнейшие операции Парсинга на аутентифицированных страницах.
@data_analysis_mlimport pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from base64 import b64encode
from io import BytesIO
from IPython.display import HTML
%matplotlib inline
• Теперь создадим выдуманный набор данных:
n = 100
data = [
('Bitcoin', 40000*np.random.rand(n).round(2)),
('Ethereum', 2000*np.random.rand(n).round(2)),
('BNB', 500*np.random.rand(n).round(2)),
('Litecoin', 150*np.random.rand(n).round(2)),
]
df = pd.DataFrame(data, columns=['Name', 'Price History'])
df.head()
Name Price History
0 Bitcoin [24800.0, 12400.0, 14800.0, 24800.0, 20800.0, ...
1 Ethereum [1900.0, 380.0, 420.0, 1760.0, 800.0, 620.0, 1...
2 BNB [120.0, 170.0, 255.0, 255.0, 395.0, 150.0, 180...
3 Litecoin [126.0, 109.5, 94.5, 49.5, 81.0, 129.0, 66.0, ...
• В соответствии с четырьмя строками у нас есть список случайно сгенерированных историй цен. Теперь наша цель — добавить линейный график в каждую строку. Таким образом, мы можем создать функцию и использовать метод apply().
Как упоминалось выше, Jupyter отображает DataFrame с помощью HTML. Если мы придумаем способ, с помощью которого сможем предоставить HTML в качестве значения ячейки, ссылающейся на изображение, Jupyter сможет это отрисовать и отобразить соответствующий линейный график.
Вот код, который мы для этого используем:
def create_line(data, **kwags):
# Преобразование данных в список
data = list(data)
# Создание объекта фигуры и оси с заданным размером и аргументами ключевых слов
fig, ax = plt.subplots(1, 1, figsize=(3, 0.25), **kwags)
# Построение графика из данных
ax.plot(data)
# Удаление границ в графике
for k,v in ax.spines.items():
v.set_visible(False)
# Удаление делений у осей x и y
ax.set_xticks([])
ax.set_yticks([])
# Создание красной точки в последней точке данных
plt.plot(len(data) - 1, data[len(data) - 1], 'r.')
# Заполнение области под графиком с помощью alpha=0.1
ax.fill_between(range(len(data)), data, len(data)*[min(data)], alpha=0.1)
# Закрытие графика, чтобы он не отображался
plt.close(fig)
# Сохранение графика как изображения в формате png и получение его бинарных данных
img = BytesIO()
fig.savefig(img, format='png')
encoded = b64encode(img.getvalue()).decode('utf-8')
# Возвращение закодированных данных изображения в виде тега изображения HTML
return '<img src="data:image/png;base64,{}"/>'.format(encoded)
Хотя часть построения довольно очевидна, сосредоточимся на том, для чего предназначены последние четыре строки кода (не включая комментарии).
Цель состоит в том, чтобы преобразовать график в изображение, которое может быть отображено на веб-странице.
📌 Продолжение
@data_analysis_ml
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
