机器学习入门-数值特征-进行二值化变化 1.Binarizer(进行数据的二值化操作)
函数说明:
1. Binarizer(threshold=0.9) 将数据进行二值化,threshold表示大于0.9的数据为1,小于0.9的数据为0
对于一些数值型的特征:存在0还有其他的一些数
二值化指的是:将大于0的特征使用1表示,将等于0的特征还是用0表示
对于二值化操作:使用两种方法
第一种方法:
求出大于等于1的索引值,令这些索引值对应的数值等于1,然后重新构建列
第二种方法:
使用Binarizer(threshold=0.9) 表示大于0.9的数据使用1表示
这里传入的参数需要是二维的,因此需要做维度转换
代码:
数据说明:使用的是歌曲的数据:对歌曲听过的次数做二值化操作,听过大于等于1的次数的设置为1,否者设置为0
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import pandas as pd plt.style.reload_library()
plt.style.use('classic')
# 设置颜色
mpl.rcParams['figure.facecolor'] = (1, 1, 1, 0)
# 设置图形大小
mpl.rcParams['figure.figsize'] = (6.0, 4.0)
# 设置图形的分辨率
mpl.rcParams['figure.dpi'] = 100 popsong_df = pd.read_csv('datasets/song_views.csv', encoding='utf-8')
# 我们对listen_count听歌的次数进行二值化操作, 听过的次数大于等于1的为1,次数为0的为0
# 第一种方法
# listened = popsong_df['listen_count'].copy()
# listened[listened >= 1] = 1
# popsong_df['listened'] = listened
# print(popsong_df[['listen_count', 'listened']]) # 第二种方法:使用 Binarizer
from sklearn.preprocessing import# threshold表示阈值,大于0.9的为1
bin = Binarizer(threshold=0.9)
popsong_df['listened'] = bin.transform(popsong_df['listen_count'].values.reshape(-1, 1))
print(popsong_df[['listen_count', 'listened']].iloc[:10])
机器学习入门-数值特征-进行二值化变化 1.Binarizer(进行数据的二值化操作)的更多相关文章
- 机器学习入门-数值特征-数字映射和one-hot编码 1.LabelEncoder(进行数据自编码) 2.map(进行字典的数字编码映射) 3.OnehotEncoder(进行one-hot编码) 4.pd.get_dummies(直接对特征进行one-hot编码)
1.LabelEncoder() # 用于构建数字编码 2 .map(dict_map) 根据dict_map字典进行数字编码的映射 3.OnehotEncoder() # 进行one-hot编码 ...
- 机器学习入门-数值特征-对数据进行log变化
对于一些标签和特征来说,分布不一定符合正态分布,而在实际的运算过程中则需要数据能够符合正态分布 因此我们需要对特征进行log变化,使得数据在一定程度上可以符合正态分布 进行log变化,就是对数据使用n ...
- 机器学习入门-数值特征-数据四分位特征 1.quantile(用于求给定分数位的数值) 2.plt.axvline(用于画出竖线) 3.pd.pcut(对特征进行分位数切分,生成新的特征)
函数说明: 1. .quantile(cut_list) 对DataFrame类型直接使用,用于求出给定列表中分数的数值,这里用来求出4分位出的数值 2. plt.axvline() # 用于画 ...
- 机器学习入门-数值特征-连续数据离散化(进行分段标记处理) 1.hist(Dataframe格式直接画直方图)
函数说明: 1. .hist 对于Dataframe格式的数据,我们可以使用.hist直接画出直方图 对于一些像年龄和工资一样的连续数据,我们可以对其进行分段标记处理,使得这些连续的数据变成离散化 就 ...
- 机器学习入门-数值特征-进行多项式变化(将特征投影到高维度上) 1.PolynomialFeatures(将数据变化为多项式特征)
函数说明: 1. PolynomialFeatures(degree=2, interaction_only=False, include_bias=False) 参数说明:degree=2,表示多项 ...
- 深度学习实践-物体检测-faster-RCNN(原理和部分代码说明) 1.tf.image.resize_and_crop(根据比例取出特征层,进行维度变化) 2.tf.slice(数据切片) 3.x.argsort()(对数据进行排列,返回索引值) 4.np.empty(生成空矩阵) 5.np.meshgrid(生成二维数据) 6.np.where(符合条件的索引) 7.tf.gather取值
1. tf.image.resize_and_crop(net, bbox, 256, [14, 14], name) # 根据bbox的y1,x1,y2,x2获得net中的位置,将其转换为14*1 ...
- 机器学习入门09 - 特征组合 (Feature Crosses)
原文链接:https://developers.google.com/machine-learning/crash-course/feature-crosses/ 特征组合是指两个或多个特征相乘形成的 ...
- 机器学习入门-文本特征-word2vec词向量模型 1.word2vec(进行word2vec映射编码)2.model.wv['sky']输出这个词的向量映射 3.model.wv.index2vec(输出经过映射的词名称)
函数说明: 1. from gensim.model import word2vec 构建模型 word2vec(corpus_token, size=feature_size, min_count ...
- 机器学习入门-文本特征-使用LDA主题模型构造标签 1.LatentDirichletAllocation(LDA用于构建主题模型) 2.LDA.components(输出各个词向量的权重值)
函数说明 1.LDA(n_topics, max_iters, random_state) 用于构建LDA主题模型,将文本分成不同的主题 参数说明:n_topics 表示分为多少个主题, max_i ...
随机推荐
- P1164小A点菜
传送 这是一个典型的背包方案问题,设f[j]为当前价值为j的方案数,则f[j]=f[j]+f[j-a[i]],即当前方案数为选这个的方案数和不选这个东西的方案数,代码如下 #include<io ...
- 学习笔记之Data Science
Data science - Wikipedia https://en.wikipedia.org/wiki/Data_science Data science, also known as data ...
- opengl 入门浅学(一)
因为要做图形学的实验,又是要以OPENGL为基础,所以就稍微在网上查了一些资料. 我是带着目的去学习的,所以就没有打基础之类的学很深,浅尝. 今天试着搭简单框架,画出一个图形.大神请出门左转. #in ...
- docker构建tomcat镜像
下载centos镜像 # docker pull daocloud.io/centos:7 [root@localhost ~]# docker pull daocloud.io/centos: : ...
- MySQL MHA 搭建&测试(环境:CentOS7 + MySQL5.7.23)
MySQL MHA架构介绍: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Face ...
- .NET 里delegate和event的区别
最近一朋友找工作面试遇到这么个题目,正好我也对此有点模糊,遂进行了一番资料查询,找到了这个文章: http://www.cnblogs.com/chengxingliang/archive/2013/ ...
- 把Excel选手名单信息导入到评委计分软件Access数据库的步骤
第一步:用Excel制作选手名单 根据比赛要求,制作选手Excel名单信息,前4列要符合要求 A列:比赛顺序,整数数值类型.所以A列数值选中后,右击设置单元格格式 数字/数值/小数位数为0(见下图). ...
- 使用FPM打包工具打rpm包
使用FPM打包工具打rpm包 一:安装ruby环境和gem命令 fpm 是 ruby写的,因此系统环境需要ruby且版本必须大于1.8.5 # yum -y install ruby rubygems ...
- flask基础知识
关于flask框架的基础知识 相关基础知识:定义路由,定义参数,获取参数,重定向 简单易懂 ---hello.py # -*- coding: utf-8 -*- # Flask hello worl ...
- CCProxy
我在之前的博客里提到了用Teamviewer + CCProxy做内网穿透,当时只是简单提了一下,因为发现这种方式网速比较慢.今天又用到了它,虽然慢点,但是总比没的用好,哈哈哈.不得不感叹CCProx ...