• 机器学习入门-数值特征-进行二值化变化 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])
  • 相关阅读:
    纪念我用word发布的第一篇文章
    第一个SpringMVCHelloWorld
    JSTL学习笔记
    bonecp的使用
    hdu 1556 树状数组
    hdu 1561 树形DP
    MYSQL使用笔记
    Android中简单实现Spinner的数据绑定
    Android中利用Application实现多个Activity间共享数据
    技术到底重要不重要?
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/10321147.html
Copyright © 2020-2023  润新知