数据预处理 01处理

该博客介绍了在进行朴素贝叶斯分类前,如何使用pandas对数据进行预处理,包括将连续值转换为01离散值。主要步骤包括读取数据、转换标签、01处理飞行时间和游戏时间,然后查看并保存处理后的数据到CSV文件。
摘要由CSDN通过智能技术生成
前面机器学习 K-近邻算法(一)博客中值为连续值。我们要进行朴素贝叶斯分类时需要对数据进行离散处理,简单的是进行01处理。


1 首先,惯例pandas读取数据变成DataFrame,查看数据及数据描述。(如需数据请留言,博客没办法上传附件请见谅)


import time
import numpy as np 
import pandas as pd 

group =  pd.read_table('bayes.txt',header=None,usecols = (0,1,3))
print('原始数据\n',group)
print(group.describe())

注:这里header设为None,否则会默认把第一行数据当成列标签。usecols=(0,1,3)表示只取bayes.txt数据的第0,1,3行数据。

运行结果:



2 对3行标签行进行转换,didntLike转化为值0,smallDoses转化为值1,largeDoses转化为值2.

#标签进行01处理
group = group.replace('didntLike',0)
group = group.replace('smallDoses',1)
group = group.replace('largeDoses',2)


3 对0行飞行时间行进行01处理,低于等于样本数据平均飞行时间的转为0,否则为1

# Fly进行01处理
Fly_s = group[0]
Fly_mean = Fly_s.mean()
Fly_s[Fly_s<=Fly_mean] = 0
Fly_s[Fly_s>Fly_mean] = 1

4 对1行玩游戏时间行进行处理,也是低于平均值为0,否则为1

# Game进行01处理
Game_s = group[1]
Game_mean = Game_s.mean()
Game_s[Game_s<=Game_mean] = 0
Game_s[Game_s>Game_mean] = 1

5 查看处理后的数据

print('01处理后数据\n',group)
print(group.describe())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值