特征处理常用工具

一、对数据正态化以便观测
np.log(y)
二、获取除某行的数据pands->data
data.drop(‘charge’)
三、空值不多时填充空值
填0
data.fillna(0,replace=True)
填中位数
data[‘a’].fillna(data[‘a’].median(),inplace = True)

四、应用自定义函数pands->data
data.apply(function,axis=1,args())
对dataframe的数据的每一列只用自定义函数function(),将元 祖args中的参数传给function
五、空值太多就删除,不多就填充
六、傅里叶变换
from scipy import fft
from scipy.io import wavefile
(sample_rate,x)=wavfile.read(文件路径)
ftt_feature = fft(x,sample_rate)
七、特征分析:
1、查看空值数:
data.apply(lambda x:sum(x.isnull()))

2、查看特征数据分布:
	var=[]特征名称的列表
	for v in var:
			print(data[v].value_counnts())
3、研究某个特征所有取值对于label的分布情况
import seaborn as sns
sns.kdeplot(data.loc[data.sex=='male','charges'],
					shade=True,label='male')
横轴是label取值
纵轴是样本数目
4、看数据的种类
	len(data['city'].unique())
5、出生日期变成年龄
data['age']= data['DOB'].apply(lambda x: 119 - int(x[-2]))
6、用盒图看离群值
data.boxplot(column=[],return_type='axes')
7、数据的分布描述(均值,方差,中位数,极值)
	data[].describe()

八、数值编码(数值化):
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
var_to_encode = [‘离散值列表’]
for col in var_to_encode:
data[col] = le.fit_transform(data[col])
九、one-hot 编码
data = pd.get_dummies(data,columns=var_to_encode)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值