首页 > 其他分享 >做特征工程

做特征工程

时间:2022-12-11 20:33:25浏览次数:27  
标签:工程 特征 yunt feature train pd np col

准确率并没提升太多。 import matplotlib.pyplot as plt import numpy as np import pandas as pd import seaborn as sns ep=1e-5 func_dict={'add':lambda x,y:x+y,'mins':lambda x,y:x-y,'div':lambda x,y:x/(y+ep),'mul':lambda x,y:x*y}
df = pd.read_csv('train.csv') df=df.drop(['ID'],axis=1) prfe=df.iloc[:,:-1] me=np.reshape(prfe.var(axis=1).to_numpy(),(-1,1)) me1=np.reshape(prfe.std(axis=1).to_numpy(),(-1,1)) df=df.to_numpy() feature=np.abs(np.fft.fft(df[:,:-1]))




df1 = pd.read_csv('test.csv') df1=df1.drop(['ID'],axis=1) df1=df1.to_numpy() yunt_feature=np.abs(np.fft.fft(df1[:,:]))


feature=pd.DataFrame(feature) yunt_feature=pd.DataFrame(yunt_feature) def auto_fea(fe,dunc_dict,col_list):     for col_i in col_list:         for col_j in col_list:             if col_i!=col_j:                 for func_name,func in dunc_dict.items():                     func_feature=func(fe[col_i],fe[col_j])                     col_name='-'.join([str(col_i),func_name,str(col_j)])                     fe[col_name]=func_feature

feature=np.concatenate((feature,np.reshape(df[:,-1],(-1,1))),axis=1) train=pd.DataFrame(feature) heat=train.corr() fe=heat.index[abs(heat[feature.shape[1]-1])>0.3] train=train.to_numpy() feature=train[:,fe] feature=feature[:,:-1] feature=pd.DataFrame(feature)
yunt_feature=yunt_feature.to_numpy() yunt_feature=yunt_feature[:,fe[:-1]] yunt_feature=pd.DataFrame(yunt_feature) auto_fea(feature,func_dict,feature.columns) auto_fea(yunt_feature,func_dict,yunt_feature.columns) yunt_feature=yunt_feature.to_numpy() feature=feature.to_numpy()
feature=np.concatenate((feature,np.reshape(df[:,-1],(-1,1))),axis=1) train=pd.DataFrame(feature) heat=train.corr() fe1=heat.index[abs(heat[feature.shape[1]-1])>0.42] print(len(fe1)) train=train.to_numpy() train=train[:,fe1] yunt_feature=yunt_feature[:,fe1[:-1]] from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn import tree from sklearn.model_selection import cross_val_score from sklearn.model_selection import KFold kf=KFold(n_splits=5,shuffle=False) for k in range(10):     sum=0     sum1=0     i=0     for train_index,test_index in kf.split(train):         i=i+1         tfeature=train[train_index,:-1]         label=train[train_index,-1]         clf=tree.DecisionTreeClassifier(criterion='gini',random_state=0,max_depth=k+1)             clf.fit(tfeature,label)         l=clf.predict(tfeature)         ttest=train[test_index,:-1]         testlabel=train[test_index,-1]         l1=clf.predict(ttest)         pr=accuracy_score(label, l)         pr1=accuracy_score(testlabel, l1)         sum=sum+pr         sum1=sum1+pr1     clf1=tree.DecisionTreeClassifier(criterion='gini',random_state=0,max_depth=k+1)     scores = cross_val_score(clf1, train[:,:-1], train[:,-1], cv=5)     print(k,sum/i,sum1/i,scores.mean())     clf1=tree.DecisionTreeClassifier(criterion='gini',random_state=0,max_depth=4+1)     clf1.fit(train[:,:-1],train[:,-1]) out=clf1.predict(yunt_feature) out=pd.DataFrame(out) out.columns = ['CLASS'] w=[] for k in range(out.shape[0]):     w.append(k+210) out['ID']=np.reshape(w,(-1,1)) out[['ID','CLASS']].to_csv('out.csv',index=False)

标签:工程,特征,yunt,feature,train,pd,np,col
From: https://www.cnblogs.com/hahaah/p/16974367.html

相关文章

  • 进程的定义、组成、组织方式、特征
    ①进程的定义​ 程序段、数据段、PCB三部分组成了进程实体(进程映像)。一般情况下,我们把进程实体就简称为进程,例如,所谓创建进程,实质上是创建进程实体中的PCB;而撤销进程,实质......
  • 系统集成项目管理工程师2022年下半年下午案例分析题及答案
    本系列文章将会对系统集成项目管理工程师考试中出现的各类案例分析题进行汇总解析,并给出分析过程,帮助考生备考复习。更多复习内容请在微信搜索小程序“系统集成项目管理......
  • 系统集成项目管理工程师2022年下半年广东卷下午案例分析题及答案
    本系列文章将会对系统集成项目管理工程师考试中出现的各类案例分析题进行汇总解析,并给出分析过程,帮助考生备考复习。更多复习内容请在微信搜索小程序“系统集成项目管理......
  • 操作系统的四个特征
    ①并发并发指的是两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的操作系统的并发性指计算机系统中同时存在着多个运行着的程......
  • 《信息安全工程技术应用》课程设计报告
    基于密码算法库的国密算法支持研究与应用小组成员:20201230张国强20201206韩进20201214罗云帆20201216徐嘉骏指导教师:娄嘉鹏提交时间:2022年12月10日一、设计方案及......
  • 软件工程第三组
    说明图标项目背景经过调研,我们发现,超市、菜场的鱼类种类较为限制,有时新鲜程度也很难保证。用户在选购时,较难选择到各种品质的鱼类,并且对于从未品尝过的鱼类,在烹饪时可......
  • Tomcat源码分析使用NIO接收HTTP请求(六)----变更工程目录
    本章的主要目标是根据Tomcat目录对上一章的工程目录进行变更,使之我们的程序与Tomcat想接近,便于后续学习。下图是上一章的工程目录图 下面这张图是本章中所使用的目录......
  • MATLAB、R用改进Fuzzy C-means模糊C均值聚类算法的微博用户特征调研数据聚类研究
    拓端数据部落公众号本文就将采用改进FuzzyC-means算法对基于用户特征的微博数据进行聚类分析。去年,我们为一位客户进行了短暂的咨询工作,他正在构建一个主要基于微博用户特......
  • 软件测试工程师需要遵循的四个原则
    软件测试很多时候是围绕着客户体验的角度为主,软件测试工程师需要对产品进行全面认真细致的检测,尽可能的去发现多的Bug,并且跟踪和分析好产品中存在的问题,并对其中不足之......
  • Android Studio工程目录结构分析(一)
    AndroidStudio工程目录我们这里以一个简单的HelloWorld工程来分析:1、.gradle和.idea     这两个目录下放置的都是AndroidStudio自动生成的一些文......