<｜begin▁of▁sentence｜>### Instruction:
Given a 100x50 random matrix, how would you plot the distribution of its singular values using a scree plot to help determine the number of principal components to keep for dimensionality reduction?
### Response:
import numpy as np
from graspologic.plot import screeplot
import matplotlib.pyplot as plt

# Generating a random matrix
X = np.random.rand(100, 50)

# Plotting the scree plot for the eigenvalues of the matrix
fig, ax = plt.subplots(figsize=(10, 6))
screeplot(X, title='Scree Plot', context='notebook', font_scale=1.2, figsize=(10, 6), ax=ax, cumulative=False, show_first=10, show_elbow=True)
plt.show()
<|EOT|>
