缺失值表的插补

datawig的Python项目详细描述


datawig-表格的插补

PyPI versionGitHub licenseGitHub issuesBuild Status

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 TypeDescriptionSizeColor
ShoeIdeal for Running12UKBlack
SDCardsBest SDCard ever ...8GBBlue
DressThis yellow dressM?

对于大多数用例,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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
杰克森·爪哇。lang.NoSuchFieldError:使用注释   java为什么setFont要花这么多时间?   java为什么无法在文本文件中\n记录消息?   继承Java:使用具有多态性的getter和setter   java元素。findElement()不适用于使用Appium的任何定位器策略的本机iOS应用程序   java如何处理spring引导中从DefaultOAuth2ExceptionRender引发的InvalidMediaType异常?   json使用正确的数据值自动创建新的Java对象   java xmlbeans NoClassDefFoundError   java中有很多JSP/Servlet应用程序示例,为什么是。使用inc扩展代替。包含的jsp?   IntelliJ Idea无法执行java程序   java当堆栈弹出时内存会发生什么变化?   大写java控件2个字符串中的大写和小写   java是否可以从findGrade()返回两个值?   java在JToolBar中添加垂直分隔符   swing Java容器移除方法工作不正常   无@Nonnull注释的java Lombok生成构造函数   java发现了组织的问题。莫基托。例外情况。滥用。不允许例外   安卓 java。lang.RuntimeException:无法实例化活动(无法打开DEX文件)