• Как убрать наложения на графике?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Используй pandas для чтения из csv не забудь про параметр decimal. Потому что у тебя вместо плавающей точки запятая.
    2. Если надо почисти данные (удали пустую колонку) метод drop, возможно перведи единицы измерения времени в те в которых значения будут поменьше например если оно в нано секуднах в секунды.
    3. Рисуй свой график.
    Псевдо код будет такой.
    df = pd.read_csv('myfile.csv', sep=';', decimal=',')
    df = df.set_index('time')
    df.plot()

    Глянь на свой фрейм, и работай с ним это лучше чем собирать данные в списки, по скольку он создан для подготовки данных, и все библиотеки визуализации ожидают pandas фрейм, в качестве данных для визуализации.
    Ответ написан
    Комментировать
  • Почему в моем коде cpu быстрее gpu?

    Maksim_64
    @Maksim_64
    Data Analyst
    GPU не всегда быстрее CPU.

    1. Если будет много вызовов к памяти с небольшими объемами данных, CPU будет быстрее.
    2. Если операция не может исполнятся параллельно то эффективность GPU падает.

    В первом примере, у тебя даже тренировки модели нет, ты ее загружаешь., то есть основное место где gpu сильно быстрее cpu это операции с тензорами во время тренировки модели, его нет. Во втором примере есть тренировка модели, (операции с тензорами), то там GPU должен быть быстрее.
    Ответ написан
    Комментировать
  • Как корректно составить запрос на выборку?

    Maksim_64
    @Maksim_64
    Data Analyst
    левый join по двум колонкам. Что то типа такого.
    select * 
    from short t1 
    left join collect_s t2
    	on t1.base = t2.base and t1.small = t2.collect
    where t2.base is null
    Ответ написан
    4 комментария
  • Как включить разделитель в данное выражение на Python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну вообще print(f"{1127:016_b}") Но есть проблема 016 означает длинна 16 символов, что не хватает, заполнять нулями. А у тебя получается добавка три символа '_' . По этому надо добавлять 3 к 16.
    print(f'{1127:019_b}')
    Ответ написан
    1 комментарий
  • Каким образом можно обучить ИИ распознавать лицо python?

    Maksim_64
    @Maksim_64
    Data Analyst
    То как ты задаешь вопрос, говорит о том что написать с нуля это тебе не под силу.

    tensorflow - это прежде всего векторизованные операции с тензорами + возможность выполнить эти операции на GPU + очень важный плюс (есть подсчет градиента для любого математического выражения). Если его сравнивать с numpy то основное отличие будет отсутствие подсчета градиента и не возможность из коробки выполнять numpy на GPU, это возможно через numba например.

    Распознавание лиц с нуля такого проекта ты не найдешь, все что можно найти и в изобилии это создание нейронной сети с нуля (реализованные как на чистом numpy, так и на tensorflow без использования моделй).

    гугли neural networks from scratch python. Например вот https://www.geeksforgeeks.org/implementation-of-ne... Но ничего близкого к распознаванию лиц и эмоций с нуля ты не найдешь.
    Ответ написан
    Комментировать
  • Когда надо использовать инстанс методы и когда класс методы?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ты не совсем понял их назначение.

    В python у тебя есть атрибуты класса и атрибуты экземпляра класса. Атрибутами называют как методы так и атрибуты в обычном смысле.

    1. Методы экземпляра класса, имеют доступ, и могут изменять, как атрибуты класса, так и атрибуты экземпляра класса.

    2. Методы класса не имеют доступа к атрибутам экземпляра класса, как следствие не могут изменять его состояние.

    3. Статические методы не имеют доступа к атрибутам, экземпляра класса или объекта класса. Обычная функция которая "привязана к классу" для внутренних нужд.

    Если говорить о применении методов класса, то самое основное это создание альтернативного конструктора.

    class MyClass:
    
        def __init__(self, items):
            self.items = items
            initial_total_value = self.total()
    
        def total(self):
            return sum(self.items)
    
        @classmethod
        def from_str(cls, string):
            return cls([int(i) for i in string])
    a = MyClass([1,2,3])
    print(a.total())
    
    b = MyClass.from_str('123')
    print(b.total())
    То есть смотри мой класс метод возвращает изменный объект класса, на котором без проблем сработает конструктор экземпляра класса.
    Ответ написан
  • Куда стоит поступать на ИИ?

    Maksim_64
    @Maksim_64
    Data Analyst
    656095ba3133d432320320.png

    ИИ - это общий термин, и не более. Так что иди туда, где сильная база программирования и математики, если где то включено ML то оно в свою очередь будет включать в себя как классические ML алгоритмы, так и нейронные сети.
    Ответ написан
    Комментировать
  • Как ускорить работу с большими таблицами данных?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Сделай дашборд plotly + dash, он может работать, как с базой данных, так и pandas фреймом. Там же есть объект таблица для красивого вывода, + огромное количество графиков, пользователь будет вводить, что он хочет вывести, ты будешь делать запрос к фрейму и выводить. Все доки в принципе ориентированы на работу с фреймами, бд как пример берется, возможности огромные. plotly+dash

    2. Есть в принципе отдельная библиотека pandasgui Функционал слабенький, но фильтрацию поддерживает.

    Не знаю поможет ли это тебе в твоей проблеме, но раз речь в том числе и о скорости pandas то упомянуть об этом следует, пару недель как nvidia выпустила расширение, которое очень серьезно ускоряет pandas (GPU acceleration). читать здесь
    Ответ написан
    5 комментариев
  • Почему не работает код?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну разбей свою задачу на две части
    1. Парсинг ввода пользователя и запись в подходящую структуру данных (словари)
    2. Расчеты

    Потом все будет просто, например.
    words = {
        'm': 2,
        'a': 3,
        'l': 1,
        'i': 1,
        'n': 2,
        's': 1,
        'o': 5,
        'r': 1,
        'd': 1
    }
    
    jams = {
        'smorodina': 1,
        'malina': 2
    }
    
    total = 0
    
    for jam, amount in jams.items():
        jam_time = 0
        for letter in jam:
            jam_time += words[letter]
        total += jam_time * amount
    
    print(total)

    Получи, вот такие словари. И потом просто обойди это дело циклами. Возможно, можно это как то оптимизировать. Надо дальше думать.
    Ответ написан
    2 комментария
  • Что можно написать в дипломной работе по теме восприятие пользователем результатов прогностических систем?

    Maksim_64
    @Maksim_64
    Data Analyst
    Восприятия пользователем результатов прогностических систем


    Вообще тема мертвая, она элементарно плохо сформулирована. Как мне видится, что бы со всем этим делом справится. Тебе подойдет дашборд, при чем в качестве web приложения. Если твой язык python то стек будет такой.
    python, pandas, plotly + dash + scikit-learn / statsmodels. Я бы рекомендовал statsmodels, раз уж речь о улучшении восприятия, то работай с интерпретируемыми моделями (statsmodels много инферентной статистики предоставит).

    1. Покажи на графиках, как изменение в одном из предикторов, влияют на твой таргет.
    2. Сделай анализ важности предикторов, это тоже улучшит понимание юзера.
    3. Покажи как удалил выбросы
    4. продемонстрируй что применяя стандартизацию данных (или другую трансфомацию), сама структура данных не меняется и т.д.
    5. Вообще рассмотри толковый EDA.
    Ответ написан
    5 комментариев
  • Какую технологию выбрать для выдачи результата по выбранным параметрам?

    Maksim_64
    @Maksim_64
    Data Analyst
    Тебе нужно API для LLM (Large Language Models). Пользователь выбрал параметры, ты на основе их сгенерировал, запрос к LLM, получил ответ и опубликовал его пользователю.

    вбиваешь в поисковке API for LLM. И начинаешь изучать, чего есть какие тебе подходят и т.д.
    Ответ написан
  • Почему текстовый редактор и консоль по-разному присваивают ссылки на переменные Python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну смотри, здесь вся история про оптимизацию. В целях оптимизации str, int, и float. Указывают на один и тот же объект. Так как это не мутабельные типы данных, то сторонних эффектов нет.

    Так вот когда, ты запускаешь все это дело скриптом, то эту оптимизацию, проще проводить, поскольку весь скрипт сначала парсится в строку, и на этом этапе python понимает что он может что то оптимизировать. А в интерактивном python каждая строка запускается по отдельности, и данный процесс на много сложнее осуществить.

    Если ты сделаешь числа по меньшее, то он тебе и в интерактивном и если запускать через один и тот же скрипт выдаст один и тот id. например 11.
    Ответ написан
    Комментировать
  • При выводе users_cards выводится [, ...] как это исправить?

    Maksim_64
    @Maksim_64
    Data Analyst
    self.users_cards[i] = keys.pop Ну так ты добавляешь в свой список, метод pop. Вызывай его. keys.pop() Ну и если keys это словарь, то ты должен сопроводить key.pop(ключ), тогда данный ключ будет удален и его значение запишется в твой self.user_cards.
    Ответ написан
    Комментировать
  • Как правильно трансформировать данные к нормальному распределению?

    Maksim_64
    @Maksim_64
    Data Analyst
    Правильного способа не существует в природе. Надо пробовать все трансформеры.

    Пробуй Power Transformer (Он все таки самый универсальный) с обоими методами Box-Cox и Yeo-Johnwon . И делай тоже самое визуализацию распределение до и после. На всякий случай перепроверь свой код визуализации.

    Держи kaggle notebook из коллекции на эту тему. Где детально разобраны все трансформеры и визуализация хорошо выполнена, QQ график из statsmodels используется, плюс KDE в общем очень советую читать notebook и пробовать на своих данных.
    Ответ написан
    Комментировать
  • Какой существует сайт, где можно преобразовать текст в аудиофайл, используя пользовательскую модель?

    Maksim_64
    @Maksim_64
    Data Analyst
    Нет таких сайтов. Обучать модели на твоих данных никто не даст. Создавай свою. Те гайды которые не работают, пробуй их в google colab. Там уже установлены библиотеки для работы с нейронными сетями + тебе для тренировки потребуются мощности. Если не поможет, ищи другие гайды.

    Освой google colab и дело пойдет. Устанавливать дополнительные пакеты и т.д в него тоже можно.
    Ответ написан
    3 комментария
  • Как сделать подложку(карту) на Python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну для всего этого дела существует geopandas и его смежные вспомогательные библиотеки. Документация великолепная, там есть галерея с большим количеством примеров (есть с чего начать пошаговое изучение), так же есть датасеты которые ты можешь загрузить локально и потом делать любые расчеты и строить красивые визуализации.
    Ответ написан
    Комментировать
  • Модель F(x) с разрывом типа «скачок»?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну вообще если интегрировать функцию с разрывом типа скачок. То это сумма определенных интегралов . То есть в конечном счете точка x0 ни чем не будет отличаться от других P(X=x0) = 0. Будет равняться нулю, как и в любой другой отдельно взятой точке.

    Случайные величины, используют для моделирования ситуаций. Ну например рынок акций. Где потенциальные скачки это новости. На которых цена акции совершает скачок.
    Ответ написан
  • Как записать float данные в DataFrame pandas?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну вот с кодом куда понятнее. Во первых я бы убрал весь код. И читал бы из json прямиком в pandas фрейм. Методом read_json() либо json_normalize(). И затем бы выбрал подсет на основе тех условий что мне нужно. Это вообще вместо всего кода, что ты дал.

    Если же по коду, то объвляешь список до цикла пусть будет tank = [], и затем где у тебя print(tank_value) делаешь tank.append(tank_value). Затем естественно вне цикла после твоего кода
    df = pd.DataFrame({
        'tank_value':tank
    })
    В принципе все. Но это плохой способ, правильно вообще не процессировать данные python циклами и читать весь json в фрейм и потом делать выборку из него.
    Ответ написан
  • Как выучиться на машин-лернера с нулевой базой математики?

    Maksim_64
    @Maksim_64
    Data Analyst
    Все можно осилить если начинать со своего уровня, что бы не допустить пробелов. И быть готовым потратить пару лет (только на подготовительную математику).

    Где учится Khan Academy. Она конечно же на английском, но его нужно освоить (до определенного уровня) конечно же в первую очередь. Но там есть вся вышеперечисленная математика более тысячи упражнений и можно начать хоть со школьной программы, а можно начать с интегралов при чем не самых тривиальных.

    Когда будет весь бэкраунд оттуда тогда и будет актуально дальнейшее обучение потому что неизвестно какие ресурсы будут the best. Через год или два.
    Ответ написан
    5 комментариев