Coo_matrix и другие примеры матриц - PullRequest
0 голосов
/ 27 сентября 2018

Я понимаю, что это может быть очень широкая тема, но я хотел бы больше узнать об этом.Мой вопрос о coo_matrix от sklearn.

Я прочитал из документации и понимаю, что она представляет собой матрицу координат для разреженной матрицы.Есть ли здесь какое-то значение для слова «координата»?

Например,

coo_matrix ((1, 2)) даст мне

array([[0, 0]])

Так что жекоордината вообще означает в этом примере?Или у нас есть другой пример, чтобы отличить его от другой матрицы?Например, csr_matrix, bsr_matrix или т. Д.

Опять же, если я задал неправильный вопрос или этот вопрос можно найти где-либо, пожалуйста, дайте мне знать или предоставьте мне ссылки, если это возможно.

** Для «дайте мне знать», просто скажите мне, что «Вы задаете слишком простой вопрос» или «Ваш вопрос может быть найден в другом месте, проведите некоторое исследование» должно быть хорошо, и тогда я будуудалите этот пост, так как он не имеет отношения к делу.

Для "ссылки для обмена", пожалуйста, дайте мне знать, где я мог бы изучить и узнать больше об этом.Заранее спасибо.**

Подсказка: этот пост, по мнению некоторых экспертов, считается повторяющимся постом, и я получил некоторые предложения, которые я могу оставить здесь, если ответ, опубликованный другими, может быть актуален для будущих читателей.Таким образом, я оставляю это.

1 Ответ

0 голосов
/ 27 сентября 2018

Похоже, что все, что вам нужно для матрицы матрицы, это список строк, список столбцов и список значений (данных) (каждый список имеет одинаковый размер).Важно, чтобы они были одинакового размера, так как вы будете проходить через каждый элемент, чтобы получить тройку (индекс строки, индекс столбца, значение).Это говорит функции помещать значение в (индекс строки, индекс col) матрицы, которую вы создаете.Я почти уверен, что это называется форматом координат, потому что вы передаете координаты (со строками и столбцами) с соответствующими значениями.Давайте сделаем простой пример.

row  = np.array([1,3])
col  = np.array([2,0])
data = np.array([5,11])
print(coo_matrix((data, (row, col)), shape=(4, 4)).toarray())

Глядя на первый элемент каждого списка:

row[0] = 1 и col[0] = 2, таким образом, мы рассмотрим элемент (1,2)в матрице (помните, в Python индексация начинается с 0).value[0] = 5, поэтому функция помещает 5 в качестве элемента (1,2) в матрице.

Просмотр второго элемента каждого списка:

row[1] = 3 и col[1] = 0,таким образом, мы будем смотреть на элемент (3,0) в матрице.value[1] = 11, поэтому функция помещает 11 как элемент (3,0) в матрице.

Остальные элементы (кроме индексированных (1,2) и (3,0)) равны 0:

Выход:

[[ 0  0  0  0]
 [ 0  0  5  0]
 [ 0  0  0  0]
 [11  0  0  0]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...