• Какую библиотеку выбрать для отрисовки 3D графики в Python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Говорю сразу, я в программировании в целом почти что новичок, и опыт с питоном имею чуть больший, чем сдающие с ним ЕГЭ
    Ваша задача для опытных программистов с релевантным опытом.

    Библиотека matplotlib . Библиотека имеет несколько уровней, так вот верхнем уровнем довольно легко пользоваться, у них есть галерея в том числе и 3d графики с готовыми примерами. Но я не уверен что ваш кейс возможно решить на верхнем уровнем библиотеки, а вот использование более низких уровней в matplotlib штука не простая.
    Ответ написан
    2 комментария
  • Какими материалами повысить экспертизу в python?

    Maksim_64
    @Maksim_64
    Data Analyst
    как по мне то книга Fluent Python 2nd Edition. Она довольно продвинутого, а местами очень продвинутого уровня. Если брать статьи то https://realpython.com/ там бывают большие очень качественные статьи. Но как главный ресурс изучения python'a с этой книгой лично для меня ничего не сравнится.
    Ответ написан
    Комментировать
  • Как исправить ошибку в коде?

    Maksim_64
    @Maksim_64
    Data Analyst
    У тебя response.status_code равен 403. То есть html что бы парсить его супом сервер не прислал. Можно добавить ему headers.
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
    response = requests.get(url, headers=headers)
    Теперь сервер пришлет html status_code должен быть 200 (по крайней мере у меня работает). Который можно парсить средствами beatifulsoup. Правильно ли написан парсинг, нет не правильно. Такого класса как ты ищешь там нет. Ну это все самостоятельно, объект сервер пришлет валидный для парсинга.
    Ответ написан
    Комментировать
  • Почему возникает исключение AttributeError при запросе текущего состояния FSM?

    Maksim_64
    @Maksim_64
    Data Analyst
    добавь в конструктор класса super().__init__() Что бы инициализировать атрибуты родительского класса.
    def __init__(self):
        self.command = ""
        super().__init__()
    Ответ написан
    1 комментарий
  • Возникла ошибка Type Error в Python при изучении классов. Где и что в коде не правильно?

    Maksim_64
    @Maksim_64
    Data Analyst
    потерял скобки при создании экземпляра класса. deck = Deck(), Я скопировал, твой код и запустил у себя, там следом еще ошибка, вот в этой строе
    elf.cards[i], self.cards[j] = self.cards[j], self.cards[i]
    говорит list index out of range по всей видимости вот в этой строке j = random.randint(i, num_cards-1) Нужно, добавить -1, что я и сделал тогда все работает.
    Ответ написан
    1 комментарий
  • Как математически понять формулу из Excel?

    Maksim_64
    @Maksim_64
    Data Analyst
    Математически получить элементарно, 2.5% процента привести к подходящему виду для таких расчетов. 2.5% = 0.025. Получим 5000000-1250000-(500000)/(1+0.025) = 3262195,12195
    Ответ написан
    1 комментарий
  • Какие требование к данным для t теста?

    Maksim_64
    @Maksim_64
    Data Analyst
    т.е я правильно понимаю, что распределение исходных данных может быть каким угодно, главное чтобы при бустрапировании выборки средние этого распределения имели нормальное распределение?
    Нет, ты в корне не правильно понимаешь. Если ты осуществляешь случайную выборку из ЛЮБОГО распределенния, берешь СРЕДНЕЕ значение по выборке, так распределение ТАКИХ СРЕДНИХ ЗНАЧЕНИЙ будет всегда нормально, независимо от распределения популяции, при достаточно большем размере выборки. Это CLT (central limit theorem).

    t-test сравнивает средние по группам. Так вот основные ДОПУЩЕНИЯ это.
    1. Независимость
    2. Отсутствие экстремальных величин.
    3. И НОРМАЛЬНОЕ распределение групп по которым считались средние для сравнения.
    Это основные подробнее гугли.
    Ответ написан
    3 комментария
  • Рекуррентная нейросеть для прогнозирования на keras?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну в целом в плане решейпинга, все не правильно. Посмотри размерности своего labels. Это должен быть одномерный массив, длинной соответствующий количеству рядов в массиве features (ты его назвал training data). Потом а на чем ты тренируешься 15 рядов 11 колонок, я про training_data. Это абсурд. Этот код не поправить. Тебе нужен туториал и по нему адаптируюй под свои данные.

    Например вот там google colab c предсказаниями акций с использованием kears.Sequential, ну и комментарии кое какие имеются.

    Также на медиуме есть туториалы с объяснениями (на английском). В общем гугли keras sequential stock prices example и разбирайся по примерам. Это мертвый код, весь решейпинг переписывать надо. Плюс там надо будет тестовые данные хитро готовить, двигать и подавать в модель в цикле. В общем тебе нужен пример.
    Ответ написан
    7 комментариев
  • Как верифицировать российский номер телефона для доступа к GPU в Kaggle?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Формально, colab побыстрее, но при определенных действиях kaggle куда проще в использовании.
    2. Проблем с российскими номерами нет. (верифицируют без проблем)
    3. Подобные проблемы случаются иногда, он и просто google может не верифицировать только купленный номер.
    4. Поменять номер, писать в поддержку, будь уверен что ты пишешь в поддержку правильно, я не припомню, что бы их поддержка не отвечала, например в этом году у меня был верифицированный номер (но он стал не активным и я меня на новый, проблем не возникло.
    Ответ написан
    Комментировать
  • Как с помощью python загружать данные на страницу?

    Maksim_64
    @Maksim_64
    Data Analyst
    "нажимать" это нужен эмулятор браузера selenium.
    Ответ написан
    5 комментариев
  • Как добавить явное условие при обучении модели AI?

    Maksim_64
    @Maksim_64
    Data Analyst
    Явные условия (детерминистические) это не про машинное обучение. Сама суть машинного обучения это обучение без задания явных инструкций.

    Твоя проблема, большая называется "несбалансированные классы". 5 в одном 100 в другом это безнадега, модель по умолчанию имеет большую предрасположенность, что мешает обучению.

    Это распространенная проблема и к сожалению простого решения (не имеет). Существуют разные стратегии, как с этим бороться, и надо пробовать, что будет работать.

    Советую изучить вот эту статью на эту тему внимательно, и запастись терпением. Вот эта статья с медиума (открывается только через vpn) по крайней мере у меня, там тоже BERT и тоже решается проблема с не сбалансированным классами. Есть код. Но повторю проблема решается разными стратегиями препроцессинга (первая статья).
    Ответ написан
    1 комментарий
  • Как исправить ошибку при использовании pandas concat?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Почему не работает. Потому что concat принимает список с фреймами или series'ами. Твой объект это список с кортежами, а должен быть список с фреймами.
    Раньше, я так понимаю ты использовал пустой датафрейм и к нему в цикле конкатенировал словарь. Если раньше твой код работал то и сейчас ты можешь собрать список словарей и создать из них фрейм. Например
    d1 = {'A':1,'B':2}
    d2 = {'A':3,'B':4}
    df = pd.DataFrame.from_records([d1,d2])
    собирашь в список словари и по этом передаешь методу from_records. Это вместо concat. Если хочется работать с concat. То при каждой итерации ты создаешь отдельный фрейм с данными и одинаковыми колонками, собираешь эти фреймы в список и потом concat будет прекрасно работать например.
    dfs = []
    for i in range(3):
        df = pd.DataFrame({
            'A':np.random.randn(4),
            'B':np.random.choice(['green','blue','white'], 4)
        })
        dfs.append(df)
    final_df = pd.concat(dfs,ignore_index=True)

    Принцип должен быть тебе понятен, естественно со своими данными реализуй.
    Ответ написан
    Комментировать
  • Как посчитать процент случаев, когда второе количество больше на 25%?

    Maksim_64
    @Maksim_64
    Data Analyst
    Если ПЕРВОЕ КОЛИЧЕСТВО = ВТОРОЕ КОЛИЧЕСТВО / 1.25, то второе количество больше в ТОЧНОСТИ на 25%.
    Если ПЕРВОЕ КОЛИЧЕСТВО <= ВТОРОЕ КОЛИЧЕСТВО / 1.25, то второе количество больше на 25% ИЛИ более.
    Это по поводу одной проверки в зависимости от условия (строго равно или (больше или равно)). Разберись какое из условий использовать.

    Инициализируешь переменную-счетчик которая будет считать количество условий отвечающих условию выше. (count = 0), если условие истинно count = count + 1. Затем после обхода всех условий (count / N) * 100. где N это общее количество проверок.

    Откуда взялось 1.25. Как нам увеличить число на определенный процент? ЧИСЛО * (1 + ПРОЦЕНТ / 100.) В нашем случае процент 25. Упрощая получим ЧИСЛО * 1.25 = ЧИСЛО УВЕЛИЧЕННОЕ на 25%. Но у нас по условие даны два количества и нужно проверить является ли второе больше первого на 25%. Соответственно получаем то что я написал в сам начале.
    Ответ написан
    Комментировать
  • Как исправить ошибку Scikit-learn?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну код писал не ты, просто взял откуда-то да и все. Ошибка элементарная. У тебя где то он должен подсветить не совпадают размерности массивов. (1,4901) - это матрица с одним рядом и 4901 колонкой, а второй массив одномерный. Предположу что ошибка происходит при рисовании графика, это matplotlib выдает такую ошибку.
    Я тебе сделал маленький пример с идентичной ошибкой.
    X = np.arange(0,4901)
    y = 1.2 * X + 3
    X = X.reshape(1,4901)
    plt.plot(X,y)

    Вот мой код выдаст такую же ошибку. Как поправить нужно привести размерности массивов, к виду при котором с ними можно работать. ну например либо plt.plot(X.reshape(-1,1),y) сработает либо распрямить X сработает plt.plot(X.ravel(),y). И так и так сработает. Ищи на каком plot'e у тебя ошибка и приводи размерности к подходящему виду.
    Ответ написан
    Комментировать
  • Как правильно найти и описать аппроксимацию данных нормальным распределением со смещенным центром?

    Maksim_64
    @Maksim_64
    Data Analyst
    И так о сути вашей задачи. Перед вами "случайная выборка" sample distribution. Вы утверждаете что общее распределение (population distribution) нормально. Откуда вы это взяли я не знаю, но допустим может условие проблемы таково. Функция нормального распределения имеет два параметра среднее (mean) и стандартное отклонение (standard deviation). Общий вид N(mu, std). Ваша статистическая задача это осуществить аппроксимацию этих параметров на основе данных случайной выборки (sample).

    Нужно найти точку максимальной распространенности вида (т.е. на какой высоте его больше всего).
    У непрерывных распределений не бывает точек, бывает интервалы. Вероятность в любой точке равна нулю, это одно из главных различий дискретного pmf (probability mass function) от непрерывного pdf (probability density function).

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

    Но это не учитывает, что центр может быть за пределами анализируемого диапазона

    Вообще ничего не понял, есть распределение что такое предел анализируемого диапазона где вы это нашли?

    Теперь к ответу на оба ваши вопроса:
    На ваших графиках попытка аппроксимировать pdf, для данных на основе наблюдений. В реальности это делается ну например методами MLE (Maximum Likelihood Estimation) Это числовой метод. В том числе полно примеров и на python. Так и гуглить python maximum likelihood estimation normal distribution. Аналитические методы тоже есть конечно. гуглить population mean from sample distribution. Ну и там в определенном интервале будет лежать mean. Но аналитические методы подразумевают слабовыполнимые допущения нужно знать стандартное отклонение популяции например, по этому на практике использует числовые то есть MLE. По терминалогии это классическая статистическая задача на основе выборки осуществить (statistical inference) то есть аппроксимировать параметры population distribution. Точную терминологию (на русском) смотри, в вики. Я привык все это дело на английском делать.
    Ответ написан
    7 комментариев
  • Какой нейронной сетью (или другим инструментом) можно проанализировать текст чтобы понять настроение клиента?

    Maksim_64
    @Maksim_64
    Data Analyst
    Перед тобой задача классификации. Есть дискретные состояния и вероятности, которые будут присвоены моделью, типичная задача классификации, что значит можно решать, как классическими алгоритмами машинного обучения, так нейронными сетями.

    То есть у тебя данные сообщения от клиента. Ты их разбиваешь на тренировочные и тестовые, проводишь необходимые трансформации. И отдаешь классификатору. У многих классификаторов, даже метод есть predict_proba (предсказать вероятности), именно, для таких кейсов.

    Ключевое, здесь это классификация, а какого то самого лучшего алгоритма или нейронной сити нет, надо моделировать и смотреть.
    Ответ написан
    6 комментариев
  • Как читать данный график?

    Maksim_64
    @Maksim_64
    Data Analyst
    Как читать, тут не важно что ты обучаешь, обучения нет обычный шум разного уровня, с увеличением количества шагов у тебя постепенно (обычно не линейно) должна снижаться ошибка (минимизироваться функция потери). Ничего подобного на графиках нет. Просто случайный шум да и все. Обучения НЕ ПРОИСХОДИТ.
    Ответ написан
    Комментировать
  • Fine-tuning опенсорсного LLM новому языку?

    Maksim_64
    @Maksim_64
    Data Analyst
    Приблизительно все ваши вопросы, не связаны с реальностью.

    1. Машинное обучение это НЕ детерминистический процесс, то есть нельзя даже предположить что и сколько займет времени, пока не начал решать абсолютно конкретную задачу посредством абсолютно конкретного инструмента.

    2. Все процессы настройки моделей отличаются для конкретных задач и совпадают только делом случая. Есть данные и есть конкретная задача и конкретное решение, а не некий общий кейс.

    3. https://github.com/Hannibal046/Awesome-LLM чего из open source там нет?
    Ответ написан
    7 комментариев
  • Что делать с экстремально дисбалансным датасетом?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Метрики используй либо ROC, а лучше матрицу ошибок классификации (confusion matrix). Тебе здесь необходимо смотреть в сторону байесовых интерпретации теории вероятности.

    2. Не один из методов работы с выборками не гарантирует решения проблемы. (Что не означает что от них надо отказаться, я бы попробовал сгенерировать дополнительные данные)

    3. Посмотри в сторону алгоритмов "детекции аномалий". Из известных алгоритмов SVM может быть использован ну у них есть и свои более специализированные (даже для медицины свои бывают). гугли anomaly detection classification python или на чем ты там реализуешь и изучай. Это большая тема в машинном обучении и вообще отдельный навык и например какой то датасаентист может фокусироваться только на детекции аномалий.

    Ты наверное знаешь в теории вероятностей есть Bayes байесова интерпретация (мы смотрим на вероятность как степень уверенности) и что называется Frequentism мы смотрим на вероятность как частоту на длинной дистанции. Так вот тебе нужно смотреть в сторону байесовой здесь, как по метрикам так и по алгоритмам. Алгоритмы детекции аномалий я в контексте данного вопроса так же отношу к ним.

    Что касается твоих замечаний, то ты прав. Модель имеет сильную предрасположенность, что мешает обучению. Собственно я по этому и дал советы выше.
    Ответ написан
  • Нейросеть для получения информации из документа?

    Maksim_64
    @Maksim_64
    Data Analyst
    Нейронная сети, актуальны для задач где присутствует ВАРИАТИВНОСТЬ. Вы имеете входные данные обозначим их Х вы имеете функцию которая сопоставляет эти данные с выходными данными (извлечь ИНН и другие пункты договора) обозначим их y. Так вот если вариативность отсутствует то данная задача f(X) = y, решается парсингом документа, а не нейронными сетями. Если задача имеет вид f(X) = y + E, где E это случайная ошибка, то нейронная сеть это один из возможных алгоритмов МИНИМИЗАЦИИ этой ошибки, но НЕ полного ее исключения. Так что надо иметь ввиду что 100 процентной точности не добиться. И ответить себе а допустимо ли это.

    Что касается твоих вопросов, ну например пункт номер два это целый раздел в машинном обучении. Который содержит в себе несколько подпунктов. И дело это инженерное - а не вот какой то метод решит все мои проблемы. Пункт номер три обе могут быть использованы. Пункт четвертый, а потянешь с нуля. А готовые модели они решат частный кейс твоей проблемы? Откуда нам знать, с какой точностью готовые модели будут извлекать данные. Ну а первый вопрос, это всего лишь api для моделей и выбирать надо ту с которой имеешь опыт работы, какой то лучшей нет.
    Ответ написан
    1 комментарий