﻿ Python Machine learning Scikit-learn: Create a 2-D array with ones on the diagonal and zeros elsewhere - w3resource

# Python Scikit learn: Create a 2-D array with ones on the diagonal and zeros elsewhere

## Python Machine learning Iris Basic: Exercise-4 with Solution

Write a Python program to create a 2-D array with ones on the diagonal and zeros elsewhere. Now convert the NumPy array to a SciPy sparse matrix in CSR format.

From wikipedia :
In numerical analysis and scientific computing, a sparse matrix or sparse array is a matrix in which most of the elements are zero. By contrast, if most of the elements are nonzero, then the matrix is considered dense. The number of zero-valued elements divided by the total number of elements (e.g., m × n for an m × n matrix) is called the sparsity of the matrix (which is equal to 1 minus the density of the matrix). Using those definitions, a matrix will be sparse when its sparsity is greater than 0.5.

Sample Solution:

Python Code:

import numpy as np
from scipy import sparse
eye = np.eye(4)
print("NumPy array:\n", eye)
sparse_matrix = sparse.csr_matrix(eye)
print("\nSciPy sparse CSR matrix:\n", sparse_matrix)

Sample Output:

NumPy array:
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]

SciPy sparse CSR matrix:
(0, 0)	1.0
(1, 1)	1.0
(2, 2)	1.0
(3, 3)	1.0

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

﻿