数据挖掘初次接触!学习代码

import pandas as pd
import numpy as np
from time import timedata=pd.read_csv("dankuan.csv",sep=';',index_col=0) #打开表
data.head() #查看前几行的数据,默认前5行
data.describe() #数据的快速统计汇总
data.g4_term_type.value_counts()
data2=data.fillna(value={'star_class':1300,'main_offer_level':0,'mon_flow_last2':0,'mon_flow_last1':0,'thrmon_flow_trend':0}).fillna(6) #缺值处理
data2.g4_term_type.value_counts(dropna=False)#计数
data2.isnull().any()#查看字段是否有空值#pd.get_dummiesfrom sklearn import preprocessingenc = preprocessing.OneHotEncoder()
a1 = data2[['g4_term_type','thrmon_flow_trend']]
enc.fit(a1)data2_onehot=pd.DataFrame(enc.transform(a1).toarray().astype(np.bool))
# train_onehot.columns  = ['edu_class0','edu_class1','edu_class2','edu_class3','curPlan1','curPlan2','curPlan3','curPlan4']
# train2=pd.concat([train,train_onehot.set_index(train.index)],axis=1)
# test_onehot=pd.DataFrame(enc.transform(test[['edu_class', 'curPlan']]).toarray().astype(np.bool))
# test_onehot.columns  = ['edu_class0','edu_class1','edu_class2','edu_class3','curPlan1','curPlan2','curPlan3','curPlan4']
# test2=pd.concat([test,test_onehot.set_index(test.index)],axis=1)print(enc.n_values_,enc.feature_indices_,data2_onehot.shape)data2_onehot.columns=['data2_onehot1','data2_onehot2','data2_onehot3','data2_onehot4','data2_onehot5','data2_onehot6','data2_onehot7','data2_onehot8']#区总类别数
data3=pd.concat([data2,data2_onehot.set_index(data2.index)],axis=1)data3.head()names=data3.columns
names=names.drop(['is_zf_flag'])#去除无用值
data3[names].head()
namesX=data3[names]
y=data3.is_zf_flagfrom sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)#拆分训练数据与测试数据
from sklearn.ensemble import RandomForestClassifier #算法1:自动调优算法
from sklearn.model_selection import train_test_split,GridSearchCV
rf = RandomForestClassifier(n_estimators=200,max_features=0.7,)
model = GridSearchCV(rf, param_grid={'max_depth':[1,5,10], 'min_samples_leaf':[2,5,10,20,50,100]}, cv=3)
model.fit(X_train,y_train)
y_pred = model.predict(X_test)from sklearn.ensemble import RandomForestClassifier#算法2:随机深林算法clf = RandomForestClassifier(n_jobs = 1)#分类型决策树;
#n_jobs:用几个处理器
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)#判定结果
y_pred.shapeprint(list(zip(names,np.round(clf.feature_importances_*100,2))))#各feature的重要性
print(names[clf.feature_importances_.argmax()],np.round(clf.feature_importances_*100,2).max())from sklearn.metrics import accuracy_score,recall_score,precision_score,f1_score
#分类准确率,提取出的正确信息条数 /样本中的信息条数,正确被检索/实际被检索,正确被检索/应该检索到print(accuracy_score(y_test,y_pred),recall_score(y_test,y_pred))
print(precision_score(y_test,y_pred),f1_score(y_test,y_pred))from sklearn.model_selection import cross_val_score
re_yc = cross_val_score(model, X_train, y_train, cv=10) #交叉验证用于防止模型过于复杂而引起的过拟合from sklearn.model_selection import cross_val_score
re = cross_val_score(clf, X_train, y_train, cv=15) #交叉验证用于防止模型过于复杂而引起的过拟合re_yc.max()re_yc.min()re_yc.max()-re_yc.min()data_yc = pd.read_csv("dankuan_yc.csv",sep=';',index_col=0) #打开表
data_yc2=data_yc.fillna(value={'star_class':1300,'main_offer_level':0,'mon_flow_last2':0,'mon_flow_last1':0,'thrmon_flow_trend':0}).fillna(6) #缺值处理
a2 = data_yc2[['g4_term_type','thrmon_flow_trend']]
enc.fit(a2)
data_yc_onehot=pd.DataFrame(enc.transform(a2).toarray().astype(np.bool))
data2_onehot.columns=['data2_onehot1','data2_onehot2','data2_onehot3','data2_onehot4','data2_onehot5','data2_onehot6','data2_onehot7','data2_onehot8']#区总类别数
data3_yc=pd.concat([data_yc2,data_yc_onehot.set_index(data_yc2.index)],axis=1)
names_yc=data3_yc.columns
xxx=data3_yc[names_yc]ans=model.predict(xxx)
pd.DataFrame(ans).set_index(xxx.index).to_csv("dkjg.csv",header=False) ans=clf.predict(xxx)
pd.DataFrame(ans).set_index(xxx.index).to_csv("dkjg.csv",header=False) 

  

转载于:https://www.cnblogs.com/CQ-LQJ/p/7834476.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

心率过100怎么处理_心跳每分钟超过100次,为何血压很正常?心跳太快该怎么办?...

在人们的心中一个人要是心跳速度很快,那么就意味着血压升高了。大家也知道正常情况下,每分钟心跳在55下到100下之间,都是正常情况。不过,现在有很多人心跳虽然很快,每分钟都超过100次了,但是一检查血压还是…

python卷子_Python试卷

3、写一个函数&#xff0c;计算一个给定的日期是该年的第几天。def getday(self,yNone,mNone,dNone):date datetime(y,m,d)days date.strftime(%j)return days4、写一个函数&#xff0c;给定N&#xff0c;返回斐波那契数列第N项。def getn_vlaue(self,n):if n<2:return 1e…

JS日期选择器

<html><head><title>JS日期选择器</title><script type"text/JavaScript">function HS_DateAdd(interval, number, date) {number parseInt(number);if (typeof (date) "string") {var date new Date(date.split("-…

微运行库2015_vc++2015运行库下载_vc++2015运行库64位官方下载「vc2015」-太平洋下载中心...

常见问答&#xff1a;(1)win10安装vc2015提示错误0x80070666如何解决&#xff1f;步骤&#xff1a;前提需要通过程序和功能 将旧版的vc 卸载1、首先下载"VC6.0垃圾文件清理工具"&#xff1b;2、将下载的到压缩包解压出来&#xff1b;3、打开文件夹&#xff0c;在Copy…

python爬silverlight_Python创建Silverlight控件编写过程经验分享

Python编程语言可以帮助我们实现哪些功能呢&#xff1f;它的主要应用范围都包括哪些呢&#xff1f;我们今天先来了解一下有关Python创建Silverlight控件的相关实现方法&#xff0c;以此来初步熟悉一下这一语言的应用方式以及功能特点。其实关注Silverlight很久了&#xff0c;只…

RGB转LAB色彩空间

https://www.cnblogs.com/hrlnw/p/4126017.html 1.原理 RGB无法直接转换成LAB&#xff0c;需要先转换成XYZ再转换成LAB&#xff0c;即&#xff1a;RGB——XYZ——LAB 因此转换公式分两部分&#xff1a; &#xff08;1&#xff09;RGB转XYZ 假设r,g,b为像素三个通道&#xff0c;…

fileitem方法_FileItem的常用方法

下面介绍FileItem类中的几个常用的方法&#xff1a;1. isFormField方法isFormField方法用于判断FileItem类对象封装的数据是否属于一个普通表单字段&#xff0c;还是属于一个文件表单字段&#xff0c;如果是普通表单字段则返回true&#xff0c;否则返回false。该方法的完整语法…

python hack库_常用的Python库

Tkinter———— Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块&#xff0c;Tkinter库提供了对Tk API的接口&#xff0c;它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言&#xff0c;用于简化shell下复…

Java异常介绍及Spring Boot统一异常处理

1. 异常介绍 Java异常处理是Java编程语言中用于处理程序运行时出现的异常情况的一种机制。异常情况指的是程序运行过程中出现的非正常情况&#xff0c;比如除以零、数组越界、空指针访问等。Java异常处理机制可以帮助程序员更好地管理这些异常情况&#xff0c;保证程序的稳定性…

React- jsx的使用可以渲染html标签 或React组件

React 的 JSX 使用大、小写的约定来区分本地组件的类和 HTML 标签。既渲染html标签需要使用小写字母开头的标签名而渲染本地React组件需要使用大写字母开头的标签名 注意: 由于 JSX 就是 JavaScript&#xff0c;一些标识符像 class 和 for 不建议作为 XML 属性名。作为替代&…

bigdecimal保留4位小数_四年级数学小数的加减乘法知识点汇总,带练习!

张老师 - 4年级(多品小学教育)顺城中心小学郭老师和环县虎洞中心小学谭老师需要的这份学习资料现在分享。本资料已制作电子版下载码是&#xff1a;76qa32vd《小数的加减乘法》知识点一、小数加、减法的计算法则(1)小数点要对齐&#xff0c;也就是相同数位要对齐&#xff1b;相同…

python 字符串 4位一组_Python基础4- 字符串

Python字符串是由数字、字母、下划线组成的一串字符,我们可以使用引号来创建字符串。如:str Helloworld在Python中没有char类型,单个字符也作为string使用;Python的字符串列表有2种取值顺序&#xff1a;A.自左向右,默认索引从0开始,索引长度最长为字符串长度-1B.自右向左,默认…

学python编脚本_python 学习写脚本

学习python中&#xff0c;练手&#xff01;模拟注册登录的例子写的一个简单的脚本#!/usr/bin/env python#--coding: utf-8 --#如果需要开启输入密码不可见&#xff0c;请去掉所有含getpass的代码行的注释&#xff0c;并注释相关的行。此行为注释说明#import getpass#确认python…

毕业设计后续工作目标

周数 工作内容 10周 周一 1.需求调研模块&#xff1a;人员&#xff0c;设备&#xff0c;资金&#xff0c;日程的设置及进程管理 周二 1.需求分析和调研模块&#xff1a;完成用例图&#xff0c;交互图和用例文档的上传、查看及保存 周三 1.生成软件需求规格说明书&#…

vs未指定启动文件_高效开发利器之自定义模板文件

简介越来越多的设计模式, 最佳实践, 优化了软件开发方式, 提高了软件质量, 但是也带来了大量的类似的文件. 比如说: 现在都使用三层模式来开发Web程序, 都会有服务层(Service), DI的流行, 每个服务类都会自动注入一些固定的对象, 日志对象, 缓存对象等等. 实体类(Entity)到DTO对…

react-router 4.0 学习笔记

1、安装react-router-dom 2、页面上要使用的时候要引入  import {BrowserRouter as Router,Route,Link } from react-router-dom 3、使用的时候要在外层包一个<Router> 4、param 在路径上如果带有/:id类似这种的&#xff0c;要取值的时候&#xff0c;match.params.id取…

分数优先遵循志愿php源码_2021年南昌中考志愿填报指导,这七大要点你都了解吗?...

中考是孩子即将面对人生的第一个十字路口&#xff0c;家长们也因此开始为孩子的未来紧张。都说选择大于努力&#xff0c;给孩子选一个适合的学校也很重要&#xff0c;为了大家可以更好的填报志愿&#xff0c;小编为大家汇总了这份指南&#xff0c;快来一起看看吧~1、认清自己&a…

gin ip 和 本地访问的结果不一样_golang web开发——gin实战之整合swagger

背景如果我们之前搞过java web开发&#xff0c;我们应该都知道swagger这个API文档自动生成利器&#xff0c;有了swagger可以方便我们与客户端的联调&#xff0c;基本上是一目了然&#xff0c;swagger支持java&#xff0c;自然它也能支持golang的gin框架&#xff0c;本小节&…

常用运算符和表达式

运算符在程序中应用广泛&#xff0c;尤其在计算功能中&#xff0c;常常需要大量的运算符。运算符结合操作数&#xff0c;便形成了表达式&#xff0c;并返回运算结果。 一. 运算符 1.算术运算符 算术运算符用于对数值数据进行计算。 在C#语言中&#xff0c;根据两个操作数的类型…

python爬取淘宝数据魔方_淘宝数据魔方技术架构解析

淘宝网拥有国内最具商业价值的海量数据。截至当前&#xff0c;每天有超过30亿的店铺、商品浏览记录&#xff0c;10亿在线商品数&#xff0c;上千万的成交、收藏和评价数据。如何从这些数据中挖掘出真正的商业价值&#xff0c;进而帮助淘宝、商家进行企业的数据化运营&#xff0…