zoukankan      html  css  js  c++  java
  • 机器学习入门-数值特征-进行二值化变化 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])
  • 相关阅读:
    switch多分枝语句
    自动扫描判断数组奇偶 直接在控制台输入
    if else语句
    1231作业
    字符集和字符编码
    12.28作业
    置顶广告
    图片库
    js实现隔行换色及其鼠标滑过变色
    【转载】display:inline-block兼容ie6/7的写法
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/10321147.html
Copyright © 2011-2022 走看看