缺失值表的插补
datawig的Python项目详细描述
datawig-表格的插补
datawig学习机器学习模型来计算表中缺失的值。
请参阅我们的用户指南和扩展文档here。
安装
CPU
pip3 install datawig
gpu
如果要在gpu上运行datawig,需要确保apache mxnet孵化版本包含gpu绑定。 根据您的CUDA版本,您可以通过运行以下命令来执行此操作:
wget https://raw.githubusercontent.com/awslabs/datawig/master/requirements/requirements.gpu-cu${CUDA_VERSION}.txt pip install datawig --no-deps -r requirements.gpu-cu${CUDA_VERSION}.txt rm requirements.gpu-cu${CUDA_VERSION}.txt
其中${CUDA_VERSION}
可以是75
(7.5)、80
(8.0)、90
(9.0)或91
(9.1)。
运行datawig
datawig api期望您的数据是pandas DataFrame。以下是数据帧的外观示例:
Product Type | Description | Size | Color |
---|---|---|---|
Shoe | Ideal for Running | 12UK | Black |
SDCards | Best SDCard ever ... | 8GB | Blue |
Dress | This yellow dress | M | ? |
对于大多数用例,SimpleImputer
类是最好的起点。datawig希望您提供要为其输入值的列的列名(下面称为output_column
),以及包含您认为对输入有用的值的某些列名(下面称为input_columns
)。
分类列的归责
importdatawigdf=datawig.utils.generate_df_string(num_samples=200,data_column_name='sentences',label_column_name='label')df_train,df_test=datawig.utils.random_split(df)#Initialize a SimpleImputer modelimputer=datawig.SimpleImputer(input_columns=['sentences'],# column(s) containing information about the column we want to imputeoutput_column='label',# the column we'd like to impute values foroutput_path='imputer_model'# stores model data and metrics)#Fit an imputer model on the train dataimputer.fit(train_df=df_train)#Impute missing values and return original dataframe with predictionsimputed=imputer.predict(df_test)
数字列的插补
importdatawigdf=datawig.utils.generate_df_numeric(num_samples=200,data_column_name='x',label_column_name='y')df_train,df_test=datawig.utils.random_split(df)#Initialize a SimpleImputer modelimputer=datawig.SimpleImputer(input_columns=['x'],# column(s) containing information about the column we want to imputeoutput_column='y',# the column we'd like to impute values foroutput_path='imputer_model'# stores model data and metrics)#Fit an imputer model on the train dataimputer.fit(train_df=df_train,num_epochs=50)#Impute missing values and return original dataframe with predictionsimputed=imputer.predict(df_test)
为了更好地控制模型和预处理的类型,Imputer
类允许直接指定所有相关的模型特性和参数。
有关用法的详细信息,请参阅提供的examples。
致谢
感谢David Greenberg提供包名。
建筑文档
git clone git@github.com:awslabs/datawig.git
cd datawig/docs
make html
open _build/html/index.html
执行测试
从git克隆存储库并在包的根目录中设置virtualenv:
python3 -m venv venv
从本地源安装软件包:
./venv/bin/pip install -e .
运行测试:
./venv/bin/pip install -r requirements/requirements.dev.txt
./venv/bin/python -m pytest