Hello World
Open in Telegram
Подписывается челик на канал, а он ему как раз 🎩 По рекламе: @my_little_trump
Show more2 456
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
2 456
Запрос пароля во время выполнения программы
Этот простой пакет позволяет запрашивать у пользователя его пароль, а также получать его имя (под которым он вошёл в систему).
Правда, при работе с паролями стоит знать о том, что не все системы поддерживают скрытие паролей. Python постарается вас об этом уведомить. Если это произойдёт – вы увидите соответствующее предупреждение в командной строке.
Посмотреть код
#tips
2 456
Проверка на анаграммность
Проверить, являются ли строки анаграммами (например, в результате случайной перестановки букв) поможет класс
Counter модуля collections.
Посмотреть код
#string #collections2 456
Всякие разности
Как вы знаете, мы с Адрианом бросили все силы на создание обучающих курсов, поставленных в противовес огромным компаниям, которые у нас зачастую покупают рекламу на каналах (не будем тыкать пальцами ни в кого).
Концепция проста: низкая стоимость + высокое качество. Вообще мы давно уже занимаемся как ботами, так и data science. И вот недавно мы решили провести еще один поток обучения по ботам (возможно последний, ибо из-за обилия говнокурсов спрос сильно упал).
Так вот, если вам интересна тема телеграм ботов, то отпишите в бота @python_academy_robot (не пугайтесь что он на лайвграм, у нас полно нормальных проектов, и мы ничего не скрываем). Все цены будут там.
P.S. По поводу нейронок, если кому интересно, залил небольшой код конволюционной нейросети на github. Задача классическая, распознавание цифр из датасета MNIST. Постараюсь написать статью (либо серию постов) в ближайшее время.
2 456
Вчера как обычно занимался нейросетями, настраивал модель в
keras (кстати, очень удобная штука, советую). Тренировал модель на датасете картинок с математическими символами, взятого из какого-то китайского репозитория на гитхабе. Точность была порядка 95%, вроде бы. Архитектуру сети взял с одной статьи с архива, прикрепляю ниже картинку, кому интересно.
Дальнейший шаг – это научиться с помощью cv2 разбивать картинку с несколькими символами на отдельные картинки, ну а дальше распознавать и парсить их.
Например даем картинку с надписью 1+1, пропускаем через нашу программу и получаем ответ 2.
Интересно? Рассказать об этом подробнее?
#keras #cv22 456
Вывод значения по умолчанию для отсутствующего ключа словаря
При обращении к несуществующему ключу словаря Python выбрасывает исключение. Можно этого избежать, например вызывая метод
get. В данном случае метод выдаст None (по умолчанию) либо заданное значение аргумента.
>>> d = {'a':1, 'b':2}
>>> d.get('c'))
None
>>> d.get('c', 3)
3
При создании собственного типа данных на основе словарей обратите внимание на метод __missing__ для возвращения аргумента при отсутствии ключа:
class MyDict(dict):
def __missing__(self, key):
return key
...
>>> D = MyDict(a=1, b=2)
>>> D
{'a': 1, 'b': 2}
>>> D['a']
1
>>> D['c']
c2 456
Квантовые нейросети
Как вы уже наверное знаете, нейронные сети в своей работе используют нейроны. Эти нейроны являются детерминистическими в смысле того, что на выходе функция активации дает четко определенную величину.
Говоря о квантовой нейронной сети вводят понятие стохастического нейрона. Функция активации теперь рассматривается с вероятностной точки зрения.
Такой нейрон будет давать 1 с вероятностью, определенной функцией активации
P(v) и 0 с вероятностью 1 - P(v).
Так и зачем это нужно?
В одной довольно старой статье было показано, что классический однослойный (без скрытых слоев) перцептрон (нейронная сеть, состоящая всего лишь из одного нейрона) не может решить задачу исключающего ИЛИ.
А вот аналогичный квантовый однослойный перцептрон уже может решить эту задачу.
Не говоря уже о том, что ближайший "органический" аналог подобной квантовой нейросети это... наш мозг.
#NN2 456
Чат-боты – это будущее Интернета?
В 2018 году объем мирового рынка чат-ботов достиг 1,27 миллиардов долларов. В 2019 он вырос до 2 миллиардов и будет продолжать расти на 30% в год. К 2023 году рынок ботов вырастет до 33 миллиардов рублей. Цифры заманчивые, но давайте разберемся во всем по порядку.
Читать 9 минут
2 456
То чувство, когда даже не знаешь хорошо это или плохо, что не купил грамы…
https://habr.com/ru/news/t/482984/
А вы что думаете? Взлетит эта криптовалюта или нет?
2 456
Новогодний пост
Подведу итоги 2019 года.
✅ Этот год был вполне плодотворным. Мы с Адрианом создали обучающий канал @python_academy, который собираемся развивать в новом году.
Кроме того, мы создали несколько курсов по ботам и по дата саенсу, даже хотели сделать курс по Qt, но не срослось. На все это уходят время и деньги, любой запуск или подобный проект это не бесплатное мероприятие.
❌ А вот на развитие этого канала я подзабил, посты были редкими, рекламу я давно уже не брал и актив упал. Были даже мысли продать его, поскольку прибыли он практически не приносит, а вот проблемы создает.
Вообще на мой взгляд рынок IT в телеге немного сдох, остались только несколько нормальных каналов, которые переливают своих подписчиков туда и сюда, и все. Что с этим всем делать я еще не решил... Пусть это останется в качестве главной интриги 2020 года)
Увидимся уже в новом году!
С наступающим!!!
2 456
Regression vs Classification
Разница между алгоритмами регрессии и классификации в машинном обучении порой ставит в тупик большинство аналитиков, что заставляет их применять неправильные методологии в решении тех или иных проблем.
Давайте начнем наш разговор с обсуждения сходств этих двух методов.
Читать статью.
#datascience #regression #classification
2 456
Подчеркивание в Python
Знак подчеркивания _ или underscore занимает особое место в Python.
Подчеркивание имеет множество применений, как эстетических конвенций (необязательная договоренность разработчиков оформлять код с подчеркиваниями), так и функциональных, т. е. реально затрагивающих исполнение кода.
Ниже будет несколько примеров.
Змеиный регистр
Это конвенция именования переменных и функций в Python: название начинается с маленькой буквы, а слова разделяют знаком подчеркивания. Думаю все и так знают:
foo_bar = 10
def my_function_to_do_something_special(arg_1, arg_2):
...
А так писать не принято:
carSpeed = 60
Dont_Do_Like_This()
Магические имена
Имена магических методов и магических переменных начинаются и заканчиваются в двух знаком подчеркивания (__init__). Вот, например, так:
class CrazyNumber:
slots = ('n',)
def __init__(self, n):
self.n = n
def __add__(self, other):
return self.n - other
def __sub__(self, other):
return self.n + other
def __str__(self):
return str(self.n)
Конфликт с ключевым словом
Если вам очень нужно назвать переменную, функцию или аргумент также как и какое-либо ключевое слово из Python, то принято в конце ставить знак подчеркивания, дабы избежать конфликта.
Бывает актуально, если вы пишите какой-то биндинг к сторонней библиотеке, где, к несчастью, некоторые понятия имеют такое же имя как и ключевые слова:
Tkinter.Toplevel(master, class_='ClassName')
Но! Если вы пишите классовый метод, принято первый аргумент называть cls, а не class_.2 456
Без лишних слов, сразу к делу. Сейчас я покажу сразу несколько интересных примеров из математики, и их возможные реализации на Python.
Первый интересный факт: замечали ли вы, что сумма некоторого ряда нечетных чисел есть количество слагаемых суммы в квадрате?
Пример:
1 + 3 = 4 = 2^2
1 + 3 + 5 = 9 = 3^2
1 + 3 + 5 + 7 = 16 = 4^2
Попробуем реализовать это в виде двух функций, вычисления нечетных чисел и суммы:
def odds(n: int) -> int:
for item in range(n):
yield 2*item+1
def squares(n: int) -> int:
return sum(odds(n))
Кстати, если вспомнить про интересную конструкцию yield from, то первую функцию можно записать вообще в одну строчку:
def odds(n: int) -> int:
yield from [2*item+1 for item in range(n)]
>>> squares(3)
9
Работает!
Второй интересный факт: абсолютно любое число можно выразить в виде формулы, содержащей всего лишь из одной двойки и двух операций, взятия квадратного корня и логарифма по основанию 2.
Пример:
N = -log2(log2(sqrt(sqrt(sqrt(...(sqrt(2))))))
Общее число корней должно равняться числу N
3 = -log2(log2(sqrt(sqrt(sqrt(2)))))
>>> -log2(log2(sqrt(sqrt(sqrt(2)))))
2.9999999999999996
Реализовывать это в виде нормальных функций как выше, наверное, я бы не стал. Нужна рекурсивная функция, вычисляющая квадратный корень большое количество раз, что довольно затратно (хоть современные процессоры и имеют инструкции для вычисления квадратных корней напрямую).
Подобную формулу предложил английский физик Поль Дирак. Дирак является одним из создателей современной квантовой механики.
P.S. не забудьте импортировать log2 и sqrt из модуля math2 456
Да чё это такое, а?
Возникал такой вопрос, когда видел термин Data Science?
Уверен, ты слышал, что это перспективное направление и там ну очень много денег, а конкурентов очень мало.
Дело не в сложности, а в том, что информации почти нет.
Поэтому самые быстрые успеют 4 дня кайфовать с бесплатной, но полезной информации.
Вступай, пока твоё место не заняли.
2 456
Почему именно Python?
В современном обществе программировать на хотя бы базовом уровне должен уже каждому. Однако практически каждый новичок теряется при выборе языка программирования, когда сталкивается с таким разнообразием. В статье мы постарались объяснить наш выбор.
Читать 5 минут
2 456
Не забываем, что у нас есть две неплохие статьи по matplotlib.
Читать первую часть про matplotlib
Читать вторую часть про matplotlib
Рекомендую ознакомиться, потому что скоро мы планируем провести небольшой бесплатный интенсив по Data Science (нам понадобится matplotlib), где в конце будет анонс нашего нового крутого проекта.
Об этом всем я также сообщу немного позже на этой неделе.
#datascience #matplotlib
