• Какие библиотеки для добавления данных в гугл таблицы вы знаете?

    Bzikol, Ну API ботов я не знаю, вопрос был как работают с google sheets. Все манипуляции табулярных данных посредством pandas, остальное это коннекторы что бы удобно отправлять фрейм (упрощенно таблицу) в google sheets.
  • Как увеличить точность предсказаний?

    U235U235, Лучше бы автор вопроса да и вы объяснили бы что такое точность 70% в регрессивной задаче.
    В нём есть поля в качестве входных данных и поле целевой переменной. Данные - обычные числа float.
    То есть у нас и X и y непрерывные и это задача регрессии. 70% процентов может быть у задач классификации. (у задач регрессии другие метрики R2 score, MSE, RSME и.т.д) И пусть алгоритм будет например логистическая регрессия (он решает задачи классификации y ДИСКРЕТНЫЙ. На самом деле в ТЕОРИИ и только в ТЕОРИИ и линейная регрессия может быть использована для задач классификации (на практике этого не делают).

    Слово регрессия в названии алгоритма - не одно и тоже, как проблема регресиии.
    Автор говорит и X y у меня float нам нет дело до X он может быть любым, а вот y то НЕ дискретный. Значит это проблема регрессии. Откуда тогда 68-70% должно быть R2 score, MAE или RMSE.

    Я не стал заострять на этом внимание в ответе, так что бы автор начал что то делать КОНКРЕТНОЕ, и появились КОНКРЕТНЫЕ вопросы.

    Что же касается вашего заявления

    И самое главное, не факт, что все это поможет.
    ну там где есть вариативность 100% гарантии конечно нет, не одни метод статистического анализа или машинного обучения не гарантирует 100% результата. Если же мы опустим сто "процентность" то поможет, и еще как поможет.
  • Почему не обновляет значение переменной при перезапуске скрипта BS4?

    Виталий Яковлев, Это не является тривиальной задачей, так что задавайте это отдельным вопросом. Это можно делать через JavaScript, либо если использовать python то нужно использовать эмуляторы браузеров типа selenium и потом уже bs4.
  • Почему pandas выдает ошибку?

    newPsevdonim, Я не против, если ошибка на этом и закончилась, пусть все остается ответ не только вы читать будете, у кого то причина этой же ошибки будет в другом, и ему дополнение что я написал, задаст направление в ее решении.
  • Catboost почему строит график зеркально?

    juiwas_morori, Хорошо, вы просто упомянули ROC кривую у себя в вопросе. Понятно здесь количество итераций на оси x и точность классификации на оси y. Ну и наблюдаем мы конвергенцию. Сложно сказать, что не так. Если бы поведение просто различалось, можно было бы подумать на параметр random_state, но здесь явно какая то ошибка.
  • Как разбить временной столбец на интервалы?

    Поясните, как должен выглядеть новый столбец, там категориальные переменные утро. обед, вечер, ночь. То есть вы хотите создать маппинг? например если в колонке time время 07:00:00 то в новой колонке записывается утро, так?
  • Catboost почему строит график зеркально?

    Обратите внимание на шкалы ваших осей так быть не должно. Вы что то не то делаете это не ROC. У вас должны быть шкалы от 0 до 1. А у вас хаос какой то Истинно-положительный от 0 до 0.11 или 0 до 3 на первом а ложно положительный в тысячах на обоих. Надо сначала с этим разбираться.
  • Как создать список на два элемента с заполнением None?

    Speakermen, Скриншоты, кода не разрешены по этому удалите. А вот относительно фрейма, я выскажусь, вы создали колонку price, так вот это колонка у вас грязные данные. Потому что вы не сможете запускать на них операции статистические, если в файл писать что это за колонка такая будет. Еще раз в мире данные это называется dirty. То есть это не должно быть в таком виде, вам нужно две колонки, или более если размер каждого кортеда не два как у вас а более. Или по своему реорганизуйте. Или я предложу вам создать сначала отдельный фрейм для price
    df = pd.DataFrame(data=listPrices, columns = ['Price1','Price2'])

    потом сджоинить его с основным вашим фреймом
    например либо
    pd.concat([main_df,df],axis=1,ignore_index=True)
    либо
    pd.merge(main_df,df)
    где main_df это ваш основной. Либо иначе поработатйте (напрмер можно str.split()) вот как его применять https://pandas.pydata.org/docs/reference/api/panda..., но иметь такую колонку как у вас = иметь проблемы с ней в будущем.
  • Как создать список на два элемента с заполнением None?

    Speakermen, Обратите внимание, что он берет по самому длинному внутреннему списку, то есть если там не два а больше все будет работать, и второе это объект который вы получаете это список кортежей. Этот объект внутри экосистемы python будет понят, (в том числе) как список строк, то есть вы можете в базу так писать вы можете напрямую без изменений создать pandas фрейм из него. Каждый кортеж будет расценен как строка. Это не является неким правилом или что то в этом роде, это вещь которую лучше знать для удобства работы с этой структурой данных. Один из вариантов рассматривать список кортежей это рассматривать их как рекорды.
  • Как записать данные в csv файл?

    Ну он перезаписывается, да и все. У вас mode='w' стоит поменяйте на 'a', что бы он добавлял в файл.
  • Как повысить точность модели машинного обучения?

    Я достаточно, вам времени уделил, более того сформировал вам шаблон, что бы вы на нем могли учится и эксперементировать. Внутри, каждго из
    numeric_transformer = Pipeline(
        steps=[("scaler", StandardScaler()),]
    )
    
    categorical_transformer = Pipeline(
        steps=[
            ("encoder", OneHotEncoder(handle_unknown="ignore")),
        ]
    )

    Может быть более одного трансформера, просто добавляете кортеж состоящий из имени (придумываете его сами и самого трансформера) гуглите sklearn numeric transformers и соответственно categorical transformenrs. И пробуйте учитесь. Дальше без меня.
  • Как повысить точность модели машинного обучения?

    Kind_Man, Так ну хорошо, для начала давайте все сделаем по человечески, и заодно исключим ошибки в pandas коде.
    import pandas as pd
    import numpy as np
    from sklearn.pipeline import Pipeline
    from sklearn.compose import ColumnTransformer
    from sklearn.preprocessing import StandardScaler, OneHotEncoder
    from sklearn.model_selection import train_test_split
    from sklearn.ensemble import RandomForestClassifier
    
    X = df.drop(columns=['Status'])
    y = df['Status']
    numeric_features = [" ",..]
    categorical_features = ["",..]
    # Вот мы создаем Pipeline's для наших трансформаций, пока по одной на каждую часть но это для начала
    numeric_transformer = Pipeline(
        steps=[("scaler", StandardScaler()),]
    )
    
    categorical_transformer = Pipeline(
        steps=[
            ("encoder", OneHotEncoder(handle_unknown="ignore")),
        ]
    )
    
    preprocessor = ColumnTransformer(
        transformers=[
            ("num", numeric_transformer, numeric_features),
            ("cat", categorical_transformer, categorical_features),
        ]
    )
    наш финальный пайп где мы собрали трансформеры который имеет поведение модели.
    clf = Pipeline(
        steps=[("preprocessor", preprocessor), ("classifier", RandomForestClassifier(random_state=42))]
    )
    
    #теперь когда мы создали план действий делим данные
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    clf.fit(X_train, y_train)
    print("model score for training set: %.3f" % clf.score(X_train, y_train))
    print("model score for testing set: %.3f" % clf.score(X_test, y_test))


    Вот это правильная организация для вашей проблемы (здесь из коробки он где надо применит transform а где надо fit_transform) в общем код верный просто для не опытного человека может выглядеть необычно, что оно выдаст по метрикам вот так? теперь мы так же можем если нужно еще каких нибудь трансфомеров добавить в наш numerical и categorical трансформеры.
    Это вместо всего вашего кода весь pandas выкидываем.
  • Как повысить точность модели машинного обучения?

    Kind_Man, так значит type и network там больше двух значений и одна не больше другой то есть OneHotEncoder, а остальные это ordinal если там 1 или 0 то они уже закодированы. Так?
  • Как повысить точность модели машинного обучения?

    Да в трансформациях ошибка. Те что np.log не имеет смысла. У нас не происходит обучения на тренировочном сете. Уберите это и все что численные StandardScalerom трансформируйте. Сам трансофрмер вы применили "правильно" в кавычках потому что весь pandas код ужасный, так pandas не пишут, но что касается трансформера он у вас РАБОЧИЙ.
    X_train[numerical_cols]=minMax_scaler.fit_transform(X_train[numerical_cols])
    X_test[numerical_cols]=minMax_scaler.transform(X_test[numerical_cols])

    вот это я имею ввиду по исполнению конечно так не пишут но он РАБОЧИЙ. все что np.log вообще уберите.
    и замените трансформер. StandardScaler в который все ваши чиленные переменные впихнете.

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

    Kind_Man, Во первых вы должны сказать точность как на ТРЕНИРОВОЧНОМ так и на ТЕСТОВОМ сете. Во вторых 0.65- 0.67 трансформации выполнены с ошибкой это не улучшение. Кода то нету откуда я могу знать где у вас в трансформациях ошибка.

    Ответ на ваш главный вопрос трансформации выполнены с ошибками.
    Может вы категориальные данные тоже потом трансформируете StandardScaler'ом или MinMax'ом. Может какая другая ошибка на трансформациях.
  • Как записать Словарь в CSV по СТОЛБЦАМ в Python?

    igor6130, Вопрос о записи в csv файл, а не об уровнях знаний автора, и обсуждать я здесь могу запись csv файлов, а не автора вопроса.
  • Как записать Словарь в CSV по СТОЛБЦАМ в Python?

    Speakermen, Можно все вы можете создавать фреймы из csv. И потом джоинит, конкатенировать, и все что угодно. Ну и фрейм всегда можно конвертировать в словарь to_dict. pandas это серьезный инструмент для работы с табулярными данными начиная от статистических функций и заканчивая записями в различные форматы.
  • Как записать Словарь в CSV по СТОЛБЦАМ в Python?

    igor6130, Я буду использовать те средства которые на уровне задачи предлагают мне наиболее широкий функционал, и требуют от меня наименьших усилий. Функционал при записи в файлы различных форматов (в том числе csv) библиотеки pandas превосходит стандартную библиотеку, тоже самое из количеством кода, с pandas это будет короче. В вопросе нигде не упомянуто, что нужно использовать только средство стандартной библиотеки.
    И еще раз одна из главных причин использовать python это его экосистема.
  • Как записать Словарь в CSV по СТОЛБЦАМ в Python?

    igor6130, Одна из главных причин использовать python - это использовать его экосистему.
  • Как повысить точность модели машинного обучения?

    Kind_Man, А почему сразу не применить Standard Scaler?
    смотрите раз уже не хотите Pipeline учить. любой трансформер имеет методы fit_transform и просто transform

    псевдо код
    scaler = StandardScaler()
    X_train_transformed = scaler.fit_transform(X_train)
    model = RandomForestClassifier(max_depth=2, random_state=0).fit(X_train_transformed, y_train)
    X_test_transformed = scaler.transform(X_test)
    model.predict(X_test_transformed)

    только естественно ваш X_train и X_test должен быть трансформирован как трансформером для численных данных так и трансформером для категориальных.
    ну и что бы такое делать не вручную есть такой ColumnTransformer.
    в общем вот вам пример из документации который поможет вам не запутаться https://scikit-learn.org/stable/auto_examples/comp...

    там рассказано как разные трансформаторы применять для разных fеtatures в рамках одного сета данных.

    А то мы тихо-тихо идем к тому что я за ва начну код писать, этого не будет.