One-hot 编码是一种常用的特征编码方法,可以将离散型特征转换为二进制向量表示。该编码方法的基本思想是将每个特征的取值转换为一个新的特征,新特征的取值为 0 或 1,表示原特征的某个取值是否存在。\n\n假设有一个特征 F,它的取值可以是 A、B、C 三种,那么对于每个样本,可以将 F 编码为三个新特征 F_A、F_B、F_C。如果样本的特征 F 取值为 A,则 F_A=1,F_B=0,F_C=0;如果特征 F 取值为 B,则 F_A=0,F_B=1,F_C=0;如果特征 F 取值为 C,则 F_A=0,F_B=0,F_C=1。\n\n使用 Python 的 sklearn 库可以很方便地进行 One-hot 编码。下面是一个使用 sklearn 进行 One-hot 编码的例子:\n\npython\nfrom sklearn.preprocessing import OneHotEncoder\n\n# 假设有一个特征 X,它的取值可以是 A、B、C 三种\nX = [["A"], ["B"], ["C"]]\n\n# 创建 OneHotEncoder 对象\nencoder = OneHotEncoder()\n\n# 对特征 X 进行 One-hot 编码\nX_encoded = encoder.fit_transform(X)\n\n# 输出编码结果\nprint(X_encoded.toarray())\n\n\n运行上述代码,可以得到如下输出:\n\n\n[[1. 0. 0.]\n [0. 1. 0.]\n [0. 0. 1.]]\n\n\n可以看到,原特征 X 的三个取值 A、B、C 被编码为了三个新特征,每个新特征都是一个二进制向量,取值为 0 或 1。

One-Hot 编码:将离散特征转换为二进制向量表示 - Python sklearn 实现

原文地址: https://www.cveoy.top/t/topic/qx1x 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录