• Существует ли курс/статья/книга где приведен полый алгоритм освоения машинного обучения?

    @asd111
    В машинном обучении как и в целом в программировании огромную роль играет практика. Вам надо прочитать хотя бы одну книгу или пройти курс где рассматриваются классические алгоритмы машинного обучения( те же деревья решений, SVM, k-nearest и т.п.) Из курсов я бы советовал курс от ods.ai, который находится на https://mlcourse.ai/
    И потом очень важно начать практику на kaggle. Поскольку теория лучше всего усваивается с практикой.
    Относительно математики для машинного обучения я бы советовал подтянуть статистику - её там больше чем линейной алгебры.
    Для первой практики возьмите задачу про титаник https://www.kaggle.com/c/titanic и попробуйте порешать её как умеете и с помощью простых алгоритмов наподобие обычных решающих деревьев из sklearn.
    И зарегистрируйтесь на ods.ai и вступайте в группу в вк https://vk.com/mlcourse
    Ответ написан
    5 комментариев
  • Как добавить картинку из sqlite3 в тело письма?

    st0ne_c0ld
    @st0ne_c0ld
    Конструировать письмо руками не обязательно, можно взять модуль email и пример из документации:
    docs.python.org/3/library/email.examples.html

    или попробовать так:

    # your code above...
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart
    msg = MIMEMultipart()
    
    for empl in results:
        subject = "День рождения сотрудника"
        body = "Поздавляем сотрудника " + empl[1] + " " + empl[2] + " с Днем Рождения!"
        attach = results[3]
        msg['Subject'] = subject
        msg['From'] = 'pochta@gmail.com'
        msg['To'] = 'pochta@mail.ru'
        #
        text = MIMEText(body.encode('utf-8').strip())
        msg.attach(text)
        image = MIMEImage(img_data, attach)
        msg.attach(image)
        smtpObj.sendmail(msg['From'],msg['To'],msg.as_string())
    
    smtpObj.quit()
    Ответ написан
    2 комментария
  • Как вы учите программирование / новые вещи?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Всё просто - я считаю прокрастинацию ленью и не позволяю себе ею оправдываться.
    Ответ написан
    Комментировать
  • Где я ошибся При ошибки TypeError: describe_battery() takes 0 positional arguments but 1 was given?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Забыли параметр self в объявлении метода
    def describe_battery(self):
    Ответ написан
    2 комментария
  • Зачем тестировщику Git?

    SagePtr
    @SagePtr
    Еда - это святое
    Если что-то работало в одной версии и перестало в другой - можно сделать бисекцию и проверить, в каком коммите оно отвалилось
    Ответ написан
    Комментировать
  • Как правильно удалить venv из репозитория github?

    @textmode
    Еще хорошо бы добавить в .gitignore строку:
    venv/*
    Ответ написан
    Комментировать
  • Как правильно удалить venv из репозитория github?

    @leremin
    atypical programmer
    git rm -r venv
    git commit -m "Удалена venv"
    git push origin
    Ответ написан
    Комментировать
  • Работа на python в больших компаний?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Практически нереально найти работу, где надо будет использовать и Python и Java. Либо одно, либо другое. Что сокращает ваш вопрос до "Можно ли найти работу python-программистом?" Да, можно.
    Ответ написан
    2 комментария
  • Как в Python 3 получить изображения с web-камеры?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Можно использовать модуль opencv

    import cv2
    
    # Включаем первую камеру
    cap = cv2.VideoCapture(0)
    
    # "Прогреваем" камеру, чтобы снимок не был тёмным
    for i in range(30):
        cap.read()
    
    # Делаем снимок    
    ret, frame = cap.read()
    
    # Записываем в файл
    cv2.imwrite('cam.png', frame)   
    
    # Отключаем камеру
    cap.release()
    Ответ написан
    9 комментариев
  • Выбор между Java и JS?

    1. Как говорит мне мой отец вот уже несколько лет: лезть нужно туда, чем хотелось бы заниматься и где есть место для роста, а не гнаться за бабками. В вашем случае вы пытаетесь гнаться за бабками.

    2. Программировать, это не значит тупо зад****ть язык программирования и на нем писать. Это опыт, стиль мышления, способ решения сложных задач и все остальное. Это то, чего у вас не отнять, даже если вы поменяете язык 10 раз. Поэтому стоит нацелиться на получение профессиональных навыков.

    3. Я считаю что никто. никогда не сидит на одном языке, ровно как и не решает одни и те же задачи постоянно. В этом нет никакого роста (то самое, что очень нужно). Java и Javascript не настолько кардинально разные языки, чтобы возникла сложность пересесть с одного языка на другой. Вот на решение другой категории задач, возможно, переключиться будет труднее. Но тем интереснее (если задачи вас заинтересуют).

    4. За свои 3 неполных года одиночной работы мне приходилось решать много задач, которые, как правило, были выше моего уровня навыков, тем самым, набираясь опыта в решении смежных задач у меня появилось некоторое представление о том, чем же все-таки мне стоит заниматься. В начале возникали такие же вопросы как и у вас.

    5. Ваш товарищ привирает, говоря о 1.5к баксов в месяц, получая знания на одних лишь курсах. Курсы ничто, если нет никакой практики, и тут два варианта, либо он целенаправленно тратил много времени на разбор материала, днями и ночами учил, практиковался и повторял все это изо дня в день, либо вы друг друга не правильно поняли. Однако, см п. 2, имея огромный опыт в решении поставленных задач (особенно актуальных на данный момент), можно быть конкурентноспособным и без идеального знания какого-либо языка.

    P.S Мое мнение не претендует на истинно верное, но возможно ТС сможет что-то почерпнуть для себя.
    Ответ написан
    2 комментария
  • Как сделать объединение словарей, объединив значения по ключу в список?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Можно так, если не требуется учитывать то, что в значении исходных словарей могут быть списки, которые нельзя объединять в один:
    def merge_dicts(*dicts):
        result = {}
        for d in dicts:
            for k,v in d.items():
                if k in result:
                    if not isinstance(result[k], list):
                        result[k], t = list(), result[k]
                        result[k].append(t)
                    result[k].append(v)
                else:
                    result[k] = v
        return result
    
    
    z = merge_dicts(x, y)
    Ответ написан
    1 комментарий
  • Возможно ли в django подключать css не через Static?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Да.
    Ответ написан
    Комментировать
  • В какой момент можно считать, что знаешь язык программирования?

    Decadal
    @Decadal
    Проводите аналогию с обычным языком. Вы же понимаете, что можно говорить на английском языке только на тему финансов. Или на тему туризма. Или только читать тех. документацию. Во всех случаях понятие 'знания' языка относительное.

    Но я решительно не понимаю, зачем нужны ответы на такие вопросы. Например 'когда я перестаю быть джуном?'. Или 'когда я становлюсь настоящим веб программистом / специалистом / небыдлокодером / etc?'
    Абсолютное знание английского языка все ещё позволяет сморозить глупость. Знание языка программирования все ещё позволяет написать фиговый код. Человек - синьер в крупной конторе но пишет какую-то чушь. Вы видите пропасть между ярлыком и человеком, который за ним стоит?
    Досконально владея языком, можно выбрать ужасное решение для поставленной задачи просто потому что вы с такими задачами никогда не сталкивались
    Ответ написан
    Комментировать
  • Где и как набить руку на django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Как накачать мышцы? Идея того, что бери гантели и качай, для меня не работает, так как я слабый, а гантели тяжёлые.

    Для старта достаточно прочитать официальное руководство, а набить руку можно только практикой.
    Ответ написан
    Комментировать