ITPub博客

首页 > IT职业 > IT生活 > 简单代码:将回归特征转换为分类特征

简单代码:将回归特征转换为分类特征

IT生活 作者:youou 时间:2021-09-09 10:31:05 0 删除 编辑
import os
import pandas as pd 
import numpy  as np 
import math 

def train_data_reads(path):
    data_directory  = path + "/data"
    #获取数据路径
    data_name_list  = os.listdir(data_directory)
    file_name       = data_name_list[0]
    #数据的路径:data_path
    data_path       = data_directory + "/" + file_name
    name,extension  = file_name.split(".")
    if extension == "csv":
        try:
            data = pd.read_csv(data_path,encoding = "gbk")
        except:
            data = pd.read_csv(data_path,encoding = "utf-8")
    elif extension == "txt":
        try:
            data = pd.read_csv(data_path,encoding = "gbk",sep = "t")
        except:
            data = pd.read_csv(data_path,encoding = "utf-8",sep = "t")
    else:
        data = pd.read_excel(data_path)
    return data 
def feature_label_split(data):
    #获取dataFrame的列名
    name_list = data.columns.values.tolist()
    label_name = name_list[len(name_list) - 1]
    #将数据中label为空的数据删除
    data = data[np.isnan(data[label_name]) == False]
    #拆分特征与标签
    x = data.drop([label_name],axis = 1)
    y = data[label_name]
    y = list(map(lambda x: 0 if x >= 7 else 1,y))
    y = pd.DataFrame(y,index = data.index)
    new_data = pd.concat([x,y],axis = 1)
    return new_data
     
def main():
    path = "E:/AnaLinReg/Data_upload_cls"	
    data = train_data_reads(path)	
    data = feature_label_split(data)	
    data.to_csv('D1.csv',encoding = 'utf-8')
    print ('Done')
 
if __name__ == "__main__":
    main()
    
#回归特征:最后一列是1~10的数字
#分类特征: 最后一列只有0和1
#回归特征的0~6,对应分类特征的1
#回归特征的7~10,对应分类特征的0


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4729/viewspace-2822999/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-17

  • 博文量
    294
  • 访问量
    13383