python-机器学习-数据标签转化
Posted 终黑极客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-机器学习-数据标签转化相关的知识,希望对你有一定的参考价值。
目的:一般情况下,我们拿到的数据有自变量部分和因变量部分,而因变量部分有时候不是有数字形式表示,而是有字符串表示,比如身高的因变量为lowest,lower,low,high,higher,highest。
这是在进行机器学习模型训练时,需要将其转化为数字形式,共有以下两种操作可以实现。
方法1: 利用pandas的Categorical方法的codes属性
方法2:利用sklearn包的preprocessing模块的LabelEncoder类
代码实现如下:
# -*- coding:utf-8 -*-
import pandas as pd
import numpy as np
import sys, os, re
from sklearn.preprocessing import LabelEncoder
labels = ["LUSC", "LUAD", "Normal"] * 10
samples = np.random.randn(len(labels), 4)
data = pd.DataFrame(data = samples, columns = ["feature1", "feature2", "feature3", "feature4"])
data["label"] = labels
print("原始数据\\n", data.head())
y1 = pd.Categorical(data.label).codes # 方法1:
y2 = LabelEncoder().fit_transform(data.label)# 方法2:
print("pandas的Categorical方法的codes属性:\\n", y1)
print("sklearn.preprocessing的LabelEncoder类: \\n", y2)
data.label = y1 # data.label = y2
print("转换字符标签为数字标签后的数据:\\n", data.head())
Categorical
以上是关于python-机器学习-数据标签转化的主要内容,如果未能解决你的问题,请参考以下文章