Numpy - это библиотека Python, используемая для работы с массивами.
Деревья решений просты и легко объяснимы. Они могут быть легко отображены графически и следовательно, допускают гораздо более простую интерпретацию. Они также являются довольно популярным и успешным оружием, когда речь идет о соревнованиях по машинному обучению (например Kaggle).
Однако простота на первый взгляд не означает, что алгоритм и лежащие в его основе механизмы скучны или даже тривиальны.
В следующих разделах мы собираемся поэтапно реализовать дерево решений для классификации, используя только Python и NumPy. Мы также узнаем о концепциях энтропии и получения информации, которые дают нам средства для оценки возможных расщеплений, что позволяет нам разумно вырастить дерево решений.
Но прежде чем погрузиться непосредственно в детали реализации, давайте установим некоторые базовые интуитивные представления о деревьях решений в целом.
Диаграммы разброса довольно просты и их легко создать - по крайней мере, я так думал. Недавно мне пришлось визуализировать набор данных с сотнями миллионов точек данных. Если вы разработчик Python, вы сразу же импортируете matplotlib
и приступите к работе. Но оказывается, что есть более эффективные, быстрые и интуитивно понятные способы создания диаграмм рассеивания.
В чем проблема matplotlib
? Что ж, matplotlib
это отличная библиотека Python, и она определенно обязательна для изучения данных. Но matplotlib
это также огромный универсал и может работать неоптимально в некоторых сценариях. Это один из тех.
Функция np.linalg.qr()
вычисляет qr-факторизацию матрицы. Разложите матрицу на множители как qr, где q - ортонормировано, а r - верхнетреугольное.
Python numpy.linalg.cholesky()
используется для получения значения разложения Холецкого. Давайте разберемся, что такое разложение Холецкого. Если у нас есть L * LH квадратной матрицы, где L - нижний треугольник .H - сопряженный оператор транспонирования (который является обычным значением транспонирования), должен быть эрмитовым (симметричным, если действительное значение) и четко определенным. Возвращается только L.
Метод numpy.kron()
используется для получения произведения Кронекера двух заданных списков. Но подождите, что такое произведение Кронекера? Предположим, у нас есть два списка: A [a0, a1, a2] и B [b0, b1, b2]. Если мы хотим вычислить произведение Кронекера этих двух списков, ответ будет следующим:
[a0 * b1, a1 * b0, a2 * b0, a0 * b1, a1 * b1, a2 * b1, a0 * b2, a1 * b2, a2 * b2]
Numpy linalg.matrix_rank() используется для вычисления степени n квадратной матрицы. Что это означает, что если у нас есть квадратная матрица M и целое число n, и эта функция используется для вычисления Mn?
Numpy outer()
используется для вычисления внешнего произведения двух заданных векторов. Теперь вопрос в том, что такое внешний вектор? Предположим, у нас есть два вектора A [a, a1, a2, .. an] и B [b0, b1, b2,… bn], внешнее произведение этих двух векторов будет:
[[a0 * b0 a0 * b1 a0 * b2… a0 * bn]
[a1 * b0 a0 * b1 a1 * b2… a1 * bn]
[……………………………….] ]
Присоединяйся в тусовку
Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.
В этом месте могла бы быть ваша реклама
Разместить рекламу