今日锦囊
特征锦囊:如何使用sklearn的多项式来衍生更多的变量?
关于这种衍生变量的方式,理论其实大家应该很早也都听说过了,但是如何在Python里实现,也就是今天在这里分享给大家,其实也很简单,就是调用sklearn
的PolynomialFeatures
方法,具体大家可以看看下面的demo。
这里使用一个人体加速度数据集,也就是记录一个人在做不同动作时候,在不同方向上的加速度,分别有3个方向,命名为x、y、z。
# 人体胸部加速度数据集,标签activity的数值为1-7
'''
1-在电脑前工作
2-站立、走路和上下楼梯
3-站立
4-走路
5-上下楼梯
6-与人边走边聊
7-站立着说话
'''
import pandas as pd
df = pd.read_csv('./data/activity_recognizer/1.csv', header=None)
df.columns = ['index','x','y','z','activity']
df.head()
那么我们可以直接调用刚刚说的办法,然后对于数值型变量多项式的变量扩展,代码如下:
# 扩展数值特征
from sklearn.preprocessing import PolynomialFeatures
x = df[['x','y','z']]
y = df['activity']
poly = PolynomialFeatures(degree=2, include_bias=False, interaction_only=False)
x_poly = poly.fit_transform(x)
pd.DataFrame(x_poly, columns=poly.get_feature_names()).head()
就这样子简单的去调用,就可以生成了很多的新变量了。大家有什么疑问吗?可以留言咨询哈~
往 期 锦 囊
特征锦囊:特征无量纲化的常见操作方法
特征锦囊:怎么进行多项式or对数的数据变换?
特征锦囊:常用的统计图在Python里怎么画?
特征锦囊:怎么去除DataFrame里的缺失值?
特征锦囊:怎么把被错误填充的缺失值还原?
特征锦囊:怎么定义一个方法去填充分类变量的空值?
特征锦囊:怎么定义一个方法去填充数值变量的空值?
特征锦囊:怎么把几个图表一起在同一张图上显示?
特征锦囊:怎么把画出堆积图来看占比关系?
特征锦囊:怎么对满足某种条件的变量修改其变量值?
特征锦囊:怎么通过正则提取字符串里的指定内容?
特征锦囊:如何利用字典批量修改变量值?
特征锦囊:如何对类别变量进行独热编码?
特征锦囊:如何把“年龄”字段按照我们的阈值分段?
原创不易,如果觉得这种学习方式有用,希望可以帮忙随手转发or点下“在看”,这是对我的极大鼓励!阿里嘎多!????