Categorical Embedder是一个python包,允许您通过神经网络将分类变量转换为数字

categorical-embedder的Python项目详细描述


范畴嵌入

Categorical Embedder是一个python包,它允许您通过神经网络将分类变量转换为数值

安装

pip install categorical_embedder

示例

importcategorical_embedderascefromsklearn.model_selectionimporttrain_test_splitdf=pd.read_csv('HR_Attrition_Data.csv')X=df.drop(['employee_id','is_promoted'],axis=1)y=df['is_promoted']embedding_info=ce.get_embedding_info(X)X_encoded,encoders=ce.get_label_encoded_data(X)X_train,X_test,y_train,y_test=train_test_split(X_encoded,y)embeddings=ce.get_embeddings(X_train,y_train,categorical_embedding_info=embedding_info,is_classification=True,epochs=100,batch_size=256)

更详细的Jupyter Notebook可以在这里找到

What's inside Categorical Embedder ?

  • ce.get_embedding_info(data,categorical_variables=None):此函数标识数据中的所有分类变量,确定其嵌入大小。分类变量的嵌入大小由其唯一值个数的至少50个或一半来确定,即列的嵌入大小=Min(该列中的唯一值为50个) 可以在categorical_variables参数中传递明确的分类变量列表。如果None,此函数将自动获取数据类型为object的所有变量
  • ce.get_label_encoded_data(data, categorical_variables=None):此函数标签使用sklearn.preprocessing.LabelEncoder并返回用于训练的标签编码数据帧。深度学习lib库或任何其他深度学习库都希望数据是这种格式的。在
  • ce.get_embeddings(X_train, y_train, categorical_embedding_info=embedding_info, is_classification=True, epochs=100,batch_size=256):这个函数训练一个浅层神经网络并返回类别变量的嵌入。在引擎盖下,它是一个2层的神经网络结构,有1000个和500个具有“ReLU”激活的神经元。它需要4个必需的输入-X_trainy_traincategorical_embedding_info:get_embedding_info函数的输出,is_classificationTrue用于分类任务;False用于回归任务。在

对于分类:loss = 'binary_crossentropy'; metrics = 'accuracy'和回归:loss = 'mean_squared_error'; metrics = 'r2'

依赖关系

^{pr2}$

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

推荐PyPI第三方库


热门话题
具有泛型的对象的oop Java数组   爪哇丑陋的数字找到第1500名UVA在线评委   SpringJava。lang.IllegalStateException:自动连线批注至少需要一个参数   java为什么我的系统找不到我的属性文件?   java有没有办法让Maven同时构建1.5和1.6字节码JAR?   java通过Sailfin中的header进行操作   使用向量、距离和图形   如果提供的登录信息是错误的,为什么java控件不进入else部分和Toast?   java如何为电子商务安卓应用程序存储产品列表   java保存声音首选项Libgdx Android   java无法在测试单元中调用JpaRepository   java使用批处理更新Cassandra表中的选定列,而不将其他列值设为null   java如何在log4j2中的手动代码配置中向appender添加级别?   从ImageIO返回的java Null。读取(新的ByteArrayInputStream(bs));   java不确定如何防止此Arraylist处于可编辑状态   netbeans中的java更改清单(TrustedLibrary=true属性)   java无法使用RestTemplate和Spring数据REST发布具有关系的新实体