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第三方库


热门话题
使用applets查询的多人java游戏?   java如何基于字符串生成数组   基于java多边形的路径查找   java如何对多列ArrayList排序   java批处理更新从更新中返回了意外的行数(Spring/Hibernate)   java如何使用SeleniumWebDriver列出<tr>标记内的所有<td>   java如何使用SimpleFlatMapper将前缀为CSV的列别名到映射?   java为什么通过eclipse运行/调试TomCat时会出现ClassNotFoundException   java Android滚动视图上次视图未显示内部线性布局   替换字符串中不带空格的字符序列   调用方法时Java Swing GUI冻结   java是否允许/建议重用收集器?   在同步方法中使用java hashmap迭代器时   在java XMLDecoder XMLEncoder中写入XMLdatabase   java I无法在活动的片段中填充recyclerview   java Jitsi在调用过程中播放WAV文件如果可能,与音频混合   java JPA为什么我看到DB中每行有两个实体实例?