• Как повысить точность модели машинного обучения?

    Kind_Man, Первое вы упомянули min и max это примеры агрегирующих функций (агрегирующая функция на вход получает вектор (для простоты и понятности несколько чисел да простят меня математики) а на выход одно число) так работает агрегирующую функции min, max, std,var, mean, median и другие. Так вот трансформации применяются по элементно. Это на всякий случай, думаю вы имеете ввиду (я на это надеюсь MinMaxScalar).

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

    Нормально ли применять для разных колонок разные трансформаторы ДА НОРМАЛЬНО (ваш y только не трогайте (что вы классифицировать собрались) Его тоже можно трансформировать но это отдельная тема для разговора пока туда не лезьте). Вы свободный художник здесь. И главное выполнить по технике правильно перечитайте что я говорил про transform и fit_transform. Наверное даже вам необходимо глянуть главу 10 https://scikit-learn.org/stable/common_pitfalls.html. Там рассмотрены ошибки частые, она небольшая и убережет от того что будете применять трансформации а они в силу того что вы не опытен работать не будут. Обязательно ее прочтите запустите и пошагово разберите простейшие примеры от туда они маленькие и понятные. А потом возвращайтесь к большой и трудной 6 главе.

    Численные значения в итоге после препроцессинга обязаны оказаться все примерно в одном диапазоне числовом или нет?

    Ну что бы обязаны такого прям нет. Исключения могут быть. Но лучше да приводить. Обратите внимание

    StandardScaler - scaler шкала (как вы выразились диапозон) что он сделает для каждой колонки он посчитает mean и std. И затем сделает (x - mean(колонки в которой находится x)) / std (стандартное этой колонки). То есть каждое числовое значение становится количеством стандартных отклонений от среднего по этой колонке. То есть у нас становится одна единица измерения для всех числовых данных. И все они придут в среднем к одной шкале.

    MinMaxScaler переведет все данные в формат от 0 до 1. по умолчанию этот диапозон как вы его называете можно поменять.

    Более популярный StandardScaler примените его правильно и посмотрите на результаты. В sklearn тьма примеров с ним для некоторых алгоритмов он и вовсе обязателен.

    По этому я вам и говорю наберитесь терпения и выучите объект Pypeline потому что у нас два трансформера один для категориальных а другой для числовых данных. И это только начало. Будет тяжело не запутаться в них и нигде не ошибиться.
  • Как повысить точность модели машинного обучения?

    Kind_Man, Для проверки изменений включая препроцессинг вы фиксируете ваш random_state (число не важно) важно что бы не None как по умолчанию и сравниваете метрики ДО и ПОСЛЕ какого то изменения. По поводу правильного препроцессинга (возьмем немного шире Data Transformation) если в двух словах то это САМАЯ ВАЖНАЯ часть и это место где один Data Scientist будет лучше другого. Я коснусь лишь самых элементарных моментов потому что это огромный топик.

    У вас есть ЧИСЛЕННЫЕ данные и КАТЕГОРИАЛЬНЫЕ. И те и те нуждаются в трансформациях для абсолютно любого алгоритма.

    ЧИСЛЕННЫЕ наши колонки должны быть в одной шкале. Например в одной колонке у нас числа от 1 до 10 а в другой от 1 до 100. Те что от одного до ста стянут ВСЕ ВНИМАНИЕ на себя (вариативность ну я буду по простому писать пусть и потеряю в точности). А на самом деле та колонка в которой данные от 1 до 10 она более важная но алгоритм без препроцессинга обесценит ее. Пример такого трансформера это StandardSclaer. Но это не значит вот только он или он и все. ИЗУЧАЕМ трансформации числовых переменных.

    КАТЕГОРИАЛЬНЫЕ например у нас есть переменная в которой есть три категории плохо, хорошо, прекрасно,
    мы можем их так закодировать плохо = 0, хорошо = 1, прекрасно 2. То есть имеется некий порядок одна категория больше другой. Такую кодировку осуществит OrdbalEncoder. Если же например у нас категории зеленое, белое, красное то мы НЕ можем сказать что одна категория больше другой и это OneHotEncoder.

    При препроцессинге необходимо соблюдать определенные правила например ВСЕ ТРАНСФОРМАЦИИ на ТРЕНИРОВОЧЕОМ СЕТЕ (я говорю о Х о features) должны быть осуществлены и на ТЕСТОВОМ сете.

    При это на ТРЕНИРОВОЧНОМ мы вызывает метод fit_transform. И МЫ НИКОГДА И НЕ ПРИ КАКИХ обстоятельствах не вызывает FIT на тестовых данных то есть НА ТЕСТОВЫХ данных мы трансфомируем методом transform. То есть для X_train у нас метод fit_transform для X_test метод transform.

    Правильное осуществление ДАЖЕ при условии ПРАВИЛЬНО выбранных траснформаций критично. Для этого я вам и сказал изучайте главу 6 и ссылку дал, это НЕ такой топик что вот здесь вот это поменяй и все получится, не получится.

    Все что я написал, это простейшая очень сжатая версия элементарных трасформаций для того что бы у вас ну хоть какая то общая картинка была.
  • Как правильно составить цикл в phyton?

    monkeyb, Вы указали в вашем что все парсится.
    скорее всего, испольуйте атрибут text. soup.find('h1', class_='section_hero__title').text Ну это не точно у меня то html вашего нету, что бы я мог точно указать.
    Судя по таблице Нужно будет провести дополнительную работу над каждым полем. Например, значек евро убрать вам то работать с цифрами в дальнейшем.
    Это не входит в ваш вопрос, вопрос стоит в том что бы организовать работу. Я вам ответил и привел примеры.
    Ключевой момент это структура данных список кортежей, потому то из нее хоть в базу данных писать можно, хоть в файл, хоть фрейм создавать.

    А ват эти детали не входят в ваш вопрос и что бы на них отвечать нужно видеть html файл.
  • Как из pdf-файла спарсить таблицу, размещенную на двух страницах и сохранить в Excel?

    Vladimir Mikushkin, Это все надо на конкретном примере проверять, в общем случае там много способов схитрить именно при парсинге, но когда ты парсишь никакого общего случая нет есть только твой конкретный.
    Документация так вот обрати внимание при парсинге pdf есть там замечательный параметр pandas_options И он ожидает словарь, там можно пойграться с параметрами например 'header':'None' и другими. Но это общий случай там вот этот пример прям в документации есть. Надо брать с конкретными данными и пробовать.
  • Как из pdf-файла спарсить таблицу, размещенную на двух страницах и сохранить в Excel?

    Vladimir Mikushkin, Там смотри я тебе общие рекомендации дам по pandas, когда парсишь pdf. Всегда все собирай в один фрейм а только потом пиши в файл или добавляй в файл. Перед тем как писать его надо проверить когда парсишь табулой он может не нужные строки создавать например над таблицей или под таблицей название он их может под них строку создать. потом надо проверять на наличие пропущенных значений при чем вместо nan там могут быть '' надо проверять например вот так (df == '').sum()
    И много других неприятных сюрпризов может быть. Потом приводить все числовые значения к числам из под парсинга они все str в pandas это object называется. Просто помни pandas в плане манипуляции табулярных данных может все. И всю работу надо делать в нем.
  • Как из pdf-файла спарсить таблицу, размещенную на двух страницах и сохранить в Excel?

    Vladimir Mikushkin, Я в экселе вообще не шарю даже самое элементарное. Про pandas все что угодно, я с ним каждый день практически работаю.
  • Как из pdf-файла спарсить таблицу, размещенную на двух страницах и сохранить в Excel?

    Vladimir Mikushkin,
    все вроде одолел я его в общем вот так работает. Но код конечно грязный
    columns = df1.columns
    df2 = df2.reset_index(drop=True).T.reset_index().T
    df2.columns = columns
    df2.reset_index(drop=True)

    Работает вот ровно, подработай его когда решение есть там уже подправишь.
  • Как из pdf-файла спарсить таблицу, размещенную на двух страницах и сохранить в Excel?

    Vladimir Mikushkin, По моему не работает, подожди, надо убирать drop=True второй раз лишний. И еще чуть повозится. Подожди повнимательней посмотри.
  • Как из pdf-файла спарсить таблицу, размещенную на двух страницах и сохранить в Excel?

    Vladimir Mikushkin, Да там лишь бы фреймы получал, я недавно парсил pdf да с фремами не много возни было, но а как иначе чудес не бывает. Если фреймы есть пусть кривоватые в смсыле имена колонок съехавшие там с пропущенными значениями проблемы это все решаемо, там уже pandas это машина. Лишь бы парсил остальное дело техники.
  • Как из pdf-файла спарсить таблицу, размещенную на двух страницах и сохранить в Excel?

    Vladimir Mikushkin, Ну мне без кода конечно же тяжело отвечать на такую проблему. ну если я вас правильно понимаю. то вот накидал трюк.
    columns = df1.columns
    df2 = df2.reset_index(drop=True).T.reset_index(drop=True).T
    df2.columns= columns

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

    Как поменять столбец и строку так, чтобы строка стала столбцом и наоборот?

    Для этого у фрейма есть аттрибут Т (transpose)
    df.T
  • Какой процент распознавания точности артикула штучного товара на витрине по его внешнему виду считается "хорошим" а какой - "отличным"?

    Роми, Абсолютно, мы имеем базовую модель ML которая что то там, классифицирует или регрессирует не важно. Так вот метрики ее перформанца существуют для улучшения базовой модели КОНКРЕТНОЙ ЗАДАЧИ. А создание некого бенмарка, вот столько то должно быть, вот столько то это круто. Нет так невозможно. Конкретные данные, конкретная задача и улучшение метрик на этих данных и этой задаче. Весь твой МИР это твои данные и твоя задача и все твои метрики релевантны только относительно этого твоего МИРА,
  • Какой тут критерий подойдет для аб тестирования?

    frontjss, В общем грустно на это все смотреть. У вас все смешалось абсолютно.
    Во первых все что вы представили это набор разрозненных метаний. В чем вопрос непонятно, Сначала спрашиваете одно потом другое тут же третье. pandas код бессмысленный, конкатенировать внутри цикла не нужно, если вы хотите произвести 1000 фреймов а потом собрать их то делается вот так.
    frames = []
    for i in range(1000):
        создаю frame, манипулирую
        frames.append(df)
    result = pd.concat(frames)

    Я вашим обучением заниматься не буду извините.
  • Какой процент распознавания точности артикула штучного товара на витрине по его внешнему виду считается "хорошим" а какой - "отличным"?

    Роми, Ну хорошо давай подойдем с технической стороны вопроса. Скажу сразу разочарую я тут тебя.

    И так есть ДАННЫЕ мы их разбили на тренировочный сет и тестовом сет И на тренировочном и на тестовом сете мы можем иметь очень высокую точность. Что не означает что модель будет работать в продакшене, почему можно осуществить утечку тестового сета во время тюнинга гиперпараметров или во время кросс валидации. И вот у нас есть условная точность в 95 процентов а на деле модель в продакшене посыпется.
    По этому НАСТОЯЩИЙ ТЕСТОВЫЙ СЕТ заказчик вообще тебе не должен предоставлять. Соответственно, что значит 80% процентов или 90 процентов %. Без продакшена? Без бизнеса который сформировал задачу, друг мне надо 75% например, вот данные дели их там тестовый тренировочный, что хочешь делай настоящий тестовый сет у меня и тебе я его не дам вообще, сделаешь больше будет тебе премия.

    Почему так что такое Обучение модели (простенько поговорим нам тут больше и надо):
    Есть входные данные X в какой то форме скажем матрица например.
    Есть Цель назовем его y - что то распознать
    Есть функция f - которая определяет НАСТОЯЩИЕ отношения между X и y (мы ее не найдем)
    есть наша функция f_estimator - это наша модель которая сопоставит X и y.
    и есть ошибка error назовем ее E.
    Итого имеем y = f_estimate(X) + E
    E в свою очередь делится на две. редуцируемую ошибку и не редуцируемую, так вот цель машинного обучения это МИНИМИЗАЦИЯ редуцируемую ошибки, а к не редуцируемой оно не имеет никакого отношения, Она остается. От чего она зависит? Например какой подсет от данных ты получил от общего.
    Например, есть фотка витрины на которой лежат пачки йогуртов разных брендов (30-40).
    У тебя там ниже куча условий, откуда ты знаешь, что все они будут всегда выполняться на все сто, какого влияние освещения на фото, и т.д. и т.д.

    По этому как обещал разочарую. К ответу добавить особо нечего. Это бизнес задача приносит ли выгоду твоя модель или нет? И в какой интервале должна лежать точность чтобы это имело смысл вводить такую модель.
  • Какой тут критерий подойдет для аб тестирования?

    frontjss, Вот здесь вычесление (одно из возможных) в примере используется приближенно нормальное распределение (что обычная практика для биноминальной выборки). https://www.itl.nist.gov/div898/handbook/prc/secti...

    Ну и я подразумеваю что ваш комментарий-вопрос НЕ в контексте вашего основного вопроса. потому что там этого делать не нужно. Почитайте там есть расчет минимального размера для определенных интервалов уверенности и выведены формулы.
  • Почему pandas выдает предупреждение?

    Алан Гибизов, Все строки. То есть он присваивает, всем строкам колонки id. значения из переменной id. Вот этот фрейм subsession это подсет другого датафрейма и предупреждение говорит что в том другом датафреме могут быть изменения.
  • При парсинге данных получаю пустой список?

    Kirill_Zet, Я понял сейчас попытаюсь, вам объяснить. (Просто перед тем что бы объяснять надо убедится что все работает). Если вы в БРАУЗЕРЕ переходите на страничку, вы можете правой кнопкой мыши щелкнуть и нажать inspect. У вас справа появится окошко, с кодом этой страницы. Так вот по умолчанию, там будет и javascript объекты. Которые данный парсер парсить не может. Вам нужно там же в этом окошке шелкнуть на кнопочку настроек и перейдя в настройки поставить галочку disable javascript. Затем обновить странице и вы увидите она стала выглядеть по другому. Затем закрыть настройки и теперь код в окошке это тот же самый код который получит ваш парсер. И в нем можно найти удобно элементы которые искать потом методом find_all уже из python скрипта. Так надо всегда делать, а то будешь видеть в окошке кода страницы одно а ПАРСЕР совсем другое. Что насчет ютуб видео, не знаю я его смотреть не собираюсь.
  • Можно ли запросить в NASA данные?

    a pylunar не удовлетворяет вашим требованиям? Это python библиотека по месту и времени предоставляет информацию о луне. Не знаю можно ли извлечь то что вам интересно астрономия не мое направление, не я бы глянул что там имеется.