• Может ли отсутсвие высшего образования в области математики препятствовать в каких то моментах продвижению и работе в DS?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Если у вас с навыками и знаниями математики нет проблем, то вы могли бы заметить, что ответ на ваш вопрос:
    Может ли отсутсвие высшего образования в области математики препятствовать в каких то моментах продвижению и работе в DS?
    только один и он таков:
    «Может».
    Потому что для утверждения «Не может» необходимо обладать полным знанием обо всех случаях, и только если во всех случаях будет выявлено, что «не препятствует», тогда был бы противоположный ответ. Таким знанием мы не обладаем и обладать не можем принципиально.

    Так что - да, может.
    Ответ написан
    3 комментария
  • Что следует прочитать, посмотреть для того, чтобы написать парсер цен Amazon по ASIN?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Перво-наперво вам надо освоить декомпозицию задач.
    Разделите задачу на подзадачи. Подумайте, как бы вы решили каждую из подзадач. Если подзадача сложная, еще разделите и продумайте решение под-подзадач.
    Приходите сюда со своим виденьем и попыткой решения, и что конкретно в какой подзадаче не получается.
    Ответ написан
    Комментировать
  • Нужно ли хорошо разбираться в алгоритмах джуну?

    Griboks
    @Griboks
    Вас просто не возьмут на работу, если вы не сможете на собеседовании рассказать про алгоритмы и структуры данных. А о чём ещё вас будут спрашивать? Опыта ведь у вас нет, проектов тоже нет, мест работы тоже.
    Ответ написан
    Комментировать
  • Что эффективней, чтение из файла или массив?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос не глупый а вполне себе хороший.

    Его плавное развитие приводит к концепции баз данных. Самое главное что можно сказать тезисно это
    1) Пока памяти хватает (массив) - используй смело память
    2) Диск - больше и дешевле памяти
    3) С памятью работать легко. С диском - очень неудобно и надо обрабатывать IOExceptions почти всегда.
    Диски внезапно полны сюрпризов. Могут быть сетевыми дисками.
    4) Разные диски имеют скорость на порядки разную.
    5) Диски ведут себя очень плохо на random access. От этого даже метрика IOPS появилась.
    Ее очень любят обсуждать админы баз данных.
    6) Существуют структуры данных которые спецом создавались только для дисков (B+Tree)
    7) Диск - переживает выключение питания.
    8) Самые разумные решения - сочетают в себе и диск и память в тех частях кода где это нужно.
    9) Есть интерфейсы программирования которые виртуализирут диск как память. Этим пользуется
    SQLite например.
    10) Диск может достигать очень высокой последовательной скорости чтения или записи в файл
    при условии отсутствия конкурирующих записей в данный момент. Этим пользуются в БД
    для журналирования событий.

    В принципе если современный программист просто будет использовать только оперативную память
    то никто ему не сможет ударить по рукам или подойти с какой-то метрикой и чего-то там измерив
    сказать что он неправ. Тут уж только падения по OOM и потери информации и performance issues
    могут быть каким-то значимым аргументом.
    Ответ написан
    3 комментария
  • Пожалуйста порекомендуйте с выбором проекта Data science?

    Maksim_64
    @Maksim_64
    Data Analyst
    Почитав, ваш ответ на мой комментарий, вот какие советы вам дать. То что вы ищете по уровню называется EDA (Explanatory Data Analysis). Это начальный поверхностный анализ, так сказать, глянуть что из себя представляет датасет, и в какую сторону двигаться дальше. Вы используете в нем pandas и matplotlib/seaborn. Если вы не проходили seaborn то ничего страшного, он сделан на matplolib и в целом используется совместно (упрощено говоря matplotlib c улучшенными графиками)

    Kaggle это хорошо, там все и возьмете. Например вот https://www.kaggle.com/code/imoore/intro-to-explor... на kaggle то не только датасеты есть но и notebook'и c кодом, что сообственно я и привел вам ссылке.

    Как искать на главной странице сайта есть поиск пишете в нем EDA затем в окошке слева отмечаете галачкой ipynb. И получаете список нотебуков, которые содержат EDA. Большинство нотебуков будут содержать манипуляции с pandas и визуализации matplolib/seaborn и объяснения что все значит. Читайте разбирайтесь, что не понятно и совсем не можете справится спрашивайте.

    Это так сказать гайд для вашего случая (когда плохо понимаете с чего вообще начать). Приготовьтесь серьезно потрудится, просто если на курсах не поняли толком ничего не будет.
    Ответ написан
    2 комментария
  • Когда новичку нужно изучать как работает интернет, после изучения базы JS?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Уважаемый пользователь.
    У тебя из 10 вопросов 9 вопросов про то. как стать разработчиком и поменьше учить.
    Прекрати такое поведение.

    Не хочешь учиться - выбери другое направление, кроме ИТ полный мир возможностей.
    Ну или учи свою верстку, работай всю жизнь джуниором, никто тебя за уши в сеньоры не тянет и не заставляет.
    Хочешь - учи, не хочешь - не учи.
    Читай вакансии и требования в вакансиях, зачем тебе советы рандомных людей из интернета, если ты постоянно спрашиваешь почти одно и тоже, хотя тебе уже отвечали.
    Ответ написан
    18 комментариев
  • Что делать если я не могу научится самостоятельно писать код даже с опытом работы на реальном проекте?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вероятно, стоит поискать план Б, не все способны быть программистами.
    Ответ написан
    3 комментария
  • Где учить Python программисту с небольшим опытом?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Для учёбы сделай локальные программы «калькулятор», игра «быки и коровы», текстовый редактор.
    Потом делаешь то же самое, но в виде web-приложений, многопользовательское, многозадачное, распределенное, микросервисное, контейнированное, с подключением к БД, аутентификацией, безопасностью и 100% покрытием тестами.

    Книга как была классикой так и остается - М.Лутц "Изучаем Python". Ее надо просто проработать, и Python станет понятен (кроме асинхронности, ее разберете потом отдельно). Это не быстро, книга большая.
    spoiler
    Если эта книга покажется скучной, нудной, затянутой и полной воды, вам не надо заниматься программированием.


    Но есть важный нюанс:
    язык программирования - это как лопата у агронома. Лопатой надо владеть? Надо. Достаточно ли агроному лопаты? Нет. Ему надо знать и уметь много чего - сорта, почвы, технологии, химию, а лопатой он делает только некоторую часть операций.
    Программисту надо знать в той или иной степени информатику, алгоритмы, структуры данных, языки программирования, базовые библиотеки, БД и СУБД, API, ООП, фреймворки, сети, протоколы, ИБ, тестирование (в части, касающейся программеров), контейнеры и их развертывание, Git, да много чего. Язык там не на первом месте.

    Из более-менее полезного поищи на ютьюбе «алгоритмы и структуры на Python» от МФТИ, там десятка полтора лекций Хирьянова. Но это лучше после книги «Изучаем Python» М.Лутца.
    Ответ написан
    3 комментария
  • Программирования учат или применяют?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Решил прокомментировать, с точки зрения своего опыта (я в отрасли уже более 22-и лет). Знание без понимания - это как раз то, чем страдают почти все выпускники курсов и немало выпускников ВУЗов. Обучение - это не копирование знаний в память, как на флешку - это наращивание новых связей в мозге и перестраивание существующих. Поэтому это долгий процесс, требующий многократного применения знаний. Однако, практика без теории - это тоже плохая идея, так как несистемное обучение создаст в голове хаос и замедлит профессиональное развитие. Пользуйтесь поиском, этот вопрос задавали здесь уже много раз, рецепт эффективного обучения можно найти среди ответов.
    Ответ написан
    1 комментарий
  • Построение нейро-нечетких сетей?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Что значит «дали мне курсач»? Вы что, раб на плантациях?
    Вам самостоятельно надо выбрать такую тему курсача, которая в дальнейшем сможет стать фрагментом диплома. К примеру, частью главы про теорию и/или практику, про существующие методы и подходы, или про направления поиска новых решений, или про экономическую составляющую, и т.п.
    И так должна каждая курсовая, каждый доклад работать на будущую цель.

    Иначе это никому не нужная писанина в стол.
    Ответ написан
    Комментировать
  • Как увеличить точность предсказаний?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну информации вы даете мало, а сделать для увеличения точности можно много всего.
    1. Трансформации, кейс ваш простой, все входные данные числовые. (Нормализация, Стандартизация), как делать смотрите https://scikit-learn.org/stable/modules/preprocess... там хорошие примеры как правильно применять StandardScaller min_max_scalar в общем приведение ваших входных данных к единой шкале.

    2. Увеличение сложности модели здесь мы говорим о bias vs variance компромисс Мы имеем простую модель или сложную модель. Например поведение простой модели слабая точность на тренировочном сете и еще более слабая точность на тестовом сете, такое поведение называется underfitting или говорят еще high bias. В свою очередь high variance или overfitting это высокие показатели на тренировочном сете и значительно более низкие на тестовом сете. Что делать читаем и изучаем https://scikit-learn.org/stable/modules/generated/... это трансформатор и затем https://scikit-learn.org/stable/auto_examples/mode... это кривая валидации в интернете полно примеров как применять. Через них находится оптимальная сложность модели.

    3. Тюнинг гиперпарматров https://scikit-learn.org/stable/modules/grid_searc... это как осуществить правильный подбор параметров эстиматора (когда уже сделаны нужные трансформации и выбрана модель).

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

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

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Это называется кластеризация. Вам надо разбить данные на 3 кластера. Метод ближайших соседей, упомянутый выше, подходит.

    Все-таки все эти методы кластеризации разработаны для более общего случая. А у вас тут данные одномерные и численные уже - так что все совсем просто.

    Во-первых, данные надо отсортировать, если уже не. А дальше у вас тут 2 переменные - (i,j) - первый и последний элемент в средней группе.i>0,j<n-1.

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

    Но вообще можно, наверно, просто взять 2 максимальных промежутка между соседними числами и по ним разделить. В примере выше этот метод отлично разбивает на 3 группы: 1-103, 999-1001, 9000-9500

    Если разность между маленькими числами важнее разности между большими, то возьмите сначала логарифм от всех чисел и уже это разбивайте на группы.
    Ответ написан
    7 комментариев
  • Как понять ML на элементарном эксперименте?

    GavriKos
    @GavriKos
    Добро пожаловать в теорию вероятностей и больших чисел. ИНС всегда оперирует вероятностями. И 100% вероятности наступают только на бесконечном множестве чисел, вот и все.

    Обратный пример. Вы подбросили монетку 1 раз, выпал орел. Вы подбросили монету 10 раз - выпал снова 10 раз орел. Вы подбросили монету 100 раз - выпал 100 раз орел. Означает ли это что на 101 тоже выпадет орел? Нет. Собственно ваш датасет ничем от бросания монетки и не отличается. В нем может вообщ едоминируют четные и НС считает что ВЕРОЯТНОСТЬ четных чисел выше и ошибается в их сторону.

    Мораль - ИНС не надо юзать дам, где можно юзать предсказуемые, не основанные на вероятности, алгоритмы
    Ответ написан
    Комментировать
  • Почему все говорят что писать ботов это сложно?

    Vindicar
    @Vindicar
    RTFM!
    А сложность начинается, как только задачи, стоящие перед ботом, перерастают уровень примера в документации видеотуториале пятилетней давности.

    Нужно сделать несколько под-команд у команды. Напишу цепочку if-elif-else, делов то. Ой, а теперь простыня кода на пять экранов, в которой фиг чего найдёшь. Потому что нет привычки структурировать код.

    Нужно, чтобы несколько команд/событий формировали цепочку (сценарий). Например, пользователь отправил тре сообщения, первое с именем, второе с возрастом, третье с адресом. Ой, а как это сделать вообще? Не зная понятия "конечный автомат" (finite state machine, FSM), очень трудно догадаться, как тут поступить.

    Нужно, чтобы ботом могли пользоваться несколько человек. Ой, их данные перепутались! Потому что бот использует глобальные переменные.

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

    Нужно добавить боту графический интерфейс - админку. Ой, а работает или интерфейс, или сам бот! Потому что нужно представлять, как устроено большинство GUI-фреймворков, и как устроена асинхронное приложение. А заодно понимать многопоточность, вопросы синхронизации действий между двумя потоками, и особенности работы с asyncio в многопоточных приложениях. Потому что одним потоком тут обойтись будет очень непросто.

    Нужно хранить данные в БД. Ой, а почему у меня проблемы при записи в БД имени пользователя? А потому что погромист собирает SQL-запрос через форматирование строк. Надо было почитать доки, чтобы наткнуться на prepared statements, они же parameterized queries.

    Нужно хранить данные в БД. Вот только данные имеют связи многие-ко-многим. Я знаю! Я буду просто добавлять или удалять столбцы в таблицу! Потому что не освоены даже азы проектирования БД. Тут уже nuff said. И да, я такое видел на этом сайте.

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

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    Прежде, чем браться за такие сложные темы, как нейросети, стоит в совершенстве овладеть Python и хорошо освоить сопутствующие библиотеки, типа NumPy.
    Ответ написан
    5 комментариев
  • Хочу изучить пентестинг, с чего следует начать?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Внимание! Изменился адрес почты!
    С умения работать с поисковиками :) Пентестеры редко работают командами, по большей части это одинокие волки :)
    Ответ написан
    Комментировать
  • Хочу изучить пентестинг, с чего следует начать?

    hint000
    @hint000
    у админа три руки
    Начать следует с теории:
    • архитектура ПК;
    • архитектура ОС Windows;
    • архитектура ОС Linux;
    • архитектура сетей.

    Затем изучить хотя бы пару языков программирования.
    Затем можно переходить к более практическим вещам, названным в ответе uRoot
    Ответ написан
    Комментировать
  • Что нужно знать чтоб стать Джуном в бэкэнде python?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    То же самое, что и раньше - Лутца вплоть до 37-й главы и руководство Django. Но надо понимать, что конкуренция среди джунов огромная, так что за место придётся бороться с людьми, которые могут отлично знать SQL, теорию реляционных баз данных, принципы работы сетей, алгоритмы и шаблоны проектирования, могут свободно чувствовать себя в консоли Linux, могут разбираться в виртуализации, уметь тонко настраивать сервера, разбираться в железе и т.д. и т.п.
    Ответ написан
    1 комментарий
  • При каких знаниях первого яп можно начинать изучение второго?

    @alexalexes
    Пока не начнете делать проект, решающий какую-то насущную потребность (вашу - без денежного вознаграждения, или чужую - за денежное вознаграждение), можете всю жизнь просто интересоваться хоть одним языком программирования, хоть несколькими.
    Запомните, пока вы вне таких проектов что-то делаете, вы просто интересуетесь инструментарием, вы ничего не учите.
    Ответ написан
    Комментировать
  • Как изучать информатику самостоятельно, чтобы добиться профильного уровня?

    Adamos
    @Adamos
    Если вы практикуетесь в Питоне, делая реальные проекты - вся сопутствующая информатика поневоле изучается.
    Если еще хватает интереса и упорства на копание в ассемблере - значит, с информатикой у вас уже лучше, чем у 99,99% российских школьников.
    Так что, возможно, стоит перестать беспокоиться и начать... прокачивать английский, например.
    Ответ написан
    1 комментарий