Unsupervised Machine Learning with Cryptocurrencies
Photo by Launchpresso on Unsplash
A prominent investment bank is interested in offering a new cryptocurrencies investment portfolio for its customers, however, they are lost in the immense universe of cryptocurrencies. They ask you to help them make sense of it all by generating a report of what cryptocurrencies are available on the trading market and how they can be grouped using classification. They’ve asked you to create a report that includes what cryptocurrencies are on the trading market and how they could be grouped to create a classification system for this new investment.
Prepare data for dimension reduction with PCA and clustering using K-Means. We've also reduced data dimensions using PCA and the completion of this task results in the df_crypto_scaled_pca dataframe:
Then we've clustered cryptocurrencies using K-Means; first creating an Elbow Curve to find the best value for k. Once we've determined the k value we thought best fits, we've used the k-means clustering algorithm to the predict the k clusters for the processed data. Results are:
Data: https://min-api.cryptocompare.com/data/all/coinlist Data ETL: crypto_data_download.ipynb notebook Data Preprocessing & Analysis: crypto_clustering.ipynb notebook
- A 3D-Scatter using hvPlot to plot the clusters.
- Using
hvplot.table
to create a data table with all the current tradable cryptocurrencies. - Create a scatter plot using
hvplot.scatter
, to present the clustered data about cryptocurrencies havingx="TotalCoinsMined"
andy="TotalCoinSupply"
to contrast the number of available coins versus the total number of mined coins.
Bitcoin sold out above the types of cryptocurrencies.
A helpful checklist to gauge how your README is coming on what I would like to finish:
- ETL Pipeline
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.