RDKit | 删除方差低的描述符

背景

基于由RDKit和mordred等描述符计算生成的特征进行化合物的机器学习时,由于特征数量大且存在过拟合的可能,因此有必要进行特征选择。尝试了scikit-learn的VarianceTheshold,一种基本的特征选择算法。

 

什么是方差阈值

可删除不满足给定方差的样本特征。默认情况下,将删除0方差,即所有样本具有相同值的要素。作为另一个示例,描述了一个示例,其中相对于布尔值0和1的特征,80%或更多的样本删除了0或1的特征。在这种情况下,如果样本假定值0和1遵循伯努利随机变量,则方差为0.8 *(1-0.8),因此可以将其作为参数给出。


导入库

import pandas as pd
import numpy as np
import matplotlib.pylab as plt
from rdkit import Chem
from rdkit.Chem import Descriptors
from rdkit.ML.Descriptors import MoleculeDescriptors

%matplotlib inline

载入数据

数集包含1513种化合物

df = pd.read_csv("data.csv")

你可能感兴趣的:(RDKit,化学信息学与AI)