zoukankan      html  css  js  c++  java
  • 机器学习入门-数据过采样(上采样)1. SMOTE

    from imblearn.over_sampling import SMOTE  # 导入

    overstamp = SMOTE(random_state=0)

    # 对训练集的数据进行上采样,测试集的数据不需要
    SMOTE_train_x, SMOTE_train_y = overstamp.fit_sample(train_x, train_y)

    由于数据分布的不均衡,因此对数据进行上采样,上采样的数据指的是将少数的样本扩增到与多数样本相同的样本数

    使用的方法:

                取少数样本中的一个数据,求出该样本与其他样本的距离,根据欧式距离进行排序,取出前5个数据

               新数据的位置   X_new = X + rand(0, 1) * distance     X表示当前数据的位置, distance表示与另外一个数据的欧式距离,乘上了一个随机值

    # 进行数据过采样操作
    from imblearn.over_sampling import SMOTE
    from sklearn.cross_validation import train_test_split
    
    X = data.loc[:, data.columns != 'Class']
    y = data.loc[:, data.columns == 'Class']
    
    train_x, test_x, train_y, test_y = train_test_split(X, y, test_size=0.3, random_state=0)
    overstamp = SMOTE(random_state=0)
    
    SMOTE_train_x, SMOTE_train_y = overstamp.fit_sample(train_x, train_y)
    # 统计数据的标签0,1个数
    print(pd.value_counts(SMOTE_train_y, sort=True).sort_index())
  • 相关阅读:
    node
    前端工程师的思考
    前端工程师需要具备的条件
    产品经理必须掌握的名词
    金融人必须掌握的词汇
    央企降两金、降杠杆的 “兵器谱”
    抽屉协议
    清分、清算、结算的关系
    如何有效规避风险
    浅谈在项目管理过程中风险管理
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/10271295.html
Copyright © 2011-2022 走看看