
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
This is a Python module to perform variable clustering (varclus) with a hierarchical structure. Varclus is a nice dimension reduction algorithm. Here is a short description:
import pandas as pd
from varclushi import VarClusHi
Create a VarClusHi object and pass the dataframe (df) to be analyzed as a parameter, you can also specify
Then call method varclus(), which performs hierachical variable clustering algorithm
demo1_df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv', sep=';')
demo1_df.drop('quality',axis=1,inplace=True)
demo1_vc = VarClusHi(demo1_df,maxeigval2=1,maxclus=None)
demo1_vc.varclus()
<varclushi.varclushi.VarClusHi at 0x15f96e35e10>
Call info, you can get the number of clusters, number of variables in each cluster (N_vars), variance explained by each cluster (Eigval1), etc.
demo1_vc.info
Cluster N_Vars Eigval1 Eigval2 VarProp
0 0 3 2.141357 0.658413 0.713786
1 1 3 1.766885 0.900991 0.588962
2 2 2 1.371260 0.628740 0.685630
3 3 2 1.552496 0.447504 0.776248
4 4 1 1.000000 0.000000 1.000000
Call rsquare, you can get the (1 - rsquare) ratio of each variable
demo1_vc.rsquare
Cluster Variable RS_Own RS_NC RS_Ratio
0 0 fixed acidity 0.882210 0.277256 0.162976
1 0 density 0.622070 0.246194 0.501362
2 0 pH 0.637076 0.194359 0.450478
3 1 free sulfur dioxide 0.777796 0.010358 0.224530
4 1 total sulfur dioxide 0.786660 0.042294 0.222761
5 1 residual sugar 0.202428 0.045424 0.835525
6 2 sulphates 0.685630 0.106022 0.351653
7 2 chlorides 0.685630 0.048903 0.330534
8 3 citric acid 0.776248 0.398208 0.371810
9 3 volatile acidity 0.776248 0.040920 0.233299
10 4 alcohol 1.000000 0.082055 0.000000
Requirements: Python 3.4+
Install by pip:
pip install varclushi
The parameters controlling this algorithm only include second eigenvalues and max number of clusters. I do not develop other functions because it is enough for my use. If you have a need for more flexibility, you can reach out to me via xuanjing@hotmail.com.
Comments for source code will be added once I have time.
Thank my former manager ***, I first heard of this method from him. Thank my current manager Mr. Mingsong Li, who gave me enough encouragement and support to complete this project.
FAQs
A package for variable clustering
We found that varclushi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.