- 博客(35)
- 收藏
- 关注
原创 xgb-练习
以下代码未验证,仅用作练习#!/usr/bin/env python3# -*- coding: utf-8 -*-import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsfrom sklearn.model_selection import train_test_split, cross_val_score, GridSearchCV, StratifiedKFold
2024-08-27 17:18:50 275 1
原创 类别型变量-处理方式
缺点:对于高基数(high cardinality)的类别型变量,One-Hot编码会显著增加特征维度,可能导致数据稀疏性问题。方法:将类别型变量转换为与目标变量相关的统计量(如均值、概率等)。方法:将类别型变量转换为其在数据集中出现的频率。适用于类别数量较多但频率分布有意义的情况。优点:简单直接,把类别型变量转换为数值型变量,每个类别转换为一个独立的二进制特征。缺点:可能会引入某些偏差,特别是在类别分布不均匀时。优点:利用目标变量的信息,可以提高模型性能。优点:保留了类别频率的信息,维度不会增加。
2024-08-27 14:17:40 193
原创 neo4j-官网学习
直接点击就可以安装,安装完之后重启一下,Cypher查询中使用CALL apoc.help(‘apoc’)来检查APOC插件是否已经正确安装。如果这个查询返回了一个列表,那么说明APOC插件已经成功安装。2、APOC函数包安装(desktop)1、cypher 代码学习文档。
2024-06-13 14:21:03 226
原创 Neo4j_基础操作
#建立节点和关系CREATE (john:Person {name:'John'}), (joe:Person {name:'Joe'})CREATE (john:Person {name:'John'})CREATE (john)-[:FRIEND]-> (john)-[:FRIEND]->(joe)# 筛选MATCH (john{NAME:'john'}) -[:FRIEND]-> ()-[:FRIEND]->(FOF)RETURN john.name,fof.
2021-12-10 17:27:34 247
原创 PYTHON_数据切分(pd.cut,pd.qcut)
本文仅为个人学习记录,如有不准确的地方,欢迎指正,谢谢!1.等宽:data['col_new']=pd.cut(data['col'],10)2.等频:data['col_new']=pd.qcut(data['col'],10)相同操作:1.返回切分点,retbins=Truedata['col_new'],cut_bins=pd.qcut(data['col'],10,retbins=True)2.在新的数据源上,使用之前的切分点data_new['col_new2']=pd.cut
2021-10-27 17:01:17 2655
原创 特征重要性的判断维度与计算过程
#以下内容为个人学习记录,有不准确的地方,欢迎指正,感谢!一、判断特征重要性(feature_importances_)的维度(importance_type):权重(weight):在所有树中一个特征被用来分裂数据的次数。覆盖(cover):在所有树中一个特征被用来分裂数据的次数,并且有多少数据点通过这个分裂点。增益(gain):使用特征分裂时平均训练损失的减少量二、计算过程:假设根节点A,二级节点B(B有3级节点 B1 和B2)和 C(C没有下一层的节点)A的importances_=(A
2021-10-22 16:27:06 1243
原创 spyder-更新
更新spyder版本:conda install spyder=5.0.0安装第三方库,出现timeout error:pip --default-timeout=100 install pandas(100不够改1000)
2021-06-01 15:29:22 8756 2
原创 PYTHON_内置文档
选中要查询的包,Windows用户按住键盘上的Ctrl键,点击鼠标左键,Mac用户按住键盘上的Command键,点击鼠标左键
2020-12-25 15:31:48 146
原创 PYTHON_函数应用
# 函数应用data['test']=np.where((data['col']>1) & (data['col1']==3),1,0)data['test']=data.apply(lambda x :1 if x['col']>1 else 0,axis=1)data['test']=list(map(lambda x,y : 1 if x >1 and y==3 else 0,data['col'],data['col2'] ) #这种比较快...
2020-12-11 16:04:27 96
原创 PYTHON_多行合并
#对数据按照A,B两列分组后,其他列,多行拼成一个字符串data=data,groupby(['col1','col2']).agg(lambda x:','.join(x.astype('str'))).reset_index(drop=False)data=data,groupby(['col1','col2']).agg(lambda x:','.join(x.astype('str'))).reset_index(drop=False)#以下是对数字求和df.groupby(['col1
2020-12-03 17:40:30 1092
原创 PYTHON_拆表(行列转置)
|apply_no| key |value|111|a1|5|111|a2|6|111|a3|7|222|a1|3|222|a2|4|222| a3| 9#假设数据如上data=data.pivot(index='app_no',columns='key',values='value')#转置后的数据如下|apply_no| a1 |a2|a3|111 |5 |6 |7|222 |3 |4 |9#如果要恢复之前的数据data=
2020-12-02 16:50:15 719
原创 PYTHON_两列字符串对应匹配
#假设A列和B列都是用逗号分隔的字符串,C列为包含日期的一个字符串,#以下函数对B列做筛选后,找到匹配的A列的最大值,用A列的最大值与C列的日期取月份差def ColumnMapping(x,y,z): list1=list(x.split(',')) list2=list(y.split(',')) list_merge=list(zip(list1,list2)) max_month=max([j[0] for j in list_merge if j[1] in [1,2]])#对y列的值
2020-12-02 14:37:14 1726
原创 PYTHON_排序
#1.按列名排序data=df.sort_index(axis=1,na_position='last') #默认升序,缺失值默认排在最后#2.按一列的值排序data=df.sort_values(by=['col1','col2'],ascending=[True,False]) #按第一列升序,第二列降序排序
2020-11-11 16:17:38 89
原创 PYTHON_sqlite
import pandas as pdimport sqlite3cx=sqlite3.connect(path+'database.db')cur=cx.cursor()#1.查询建表语句cur.execute("select sql from sqlite_master where tbl_name='table1' and type='table' ")print(cur.fetchall())#2.查看有哪些表cur.execute('select name from sqlite_
2020-10-27 17:05:23 86
原创 PYTHON_字符串
data['col2']=data[['col1']].apply(lambda x :x.str[0:8],axis=1)data['col2']=data['col1'].apply(lambda x:x[0:8])
2020-10-27 15:58:44 226
原创 PYTHON_数据替换
#1.多对1data.replace(['a','b'],'c')#2. 1对1data.replace({'a':'not a ','b':'not b'})data.replace('a':'not a ')
2020-10-27 15:54:52 1373
原创 PYTHON_缺失填充
#1.绝对值填充data['col1'].fillna('-999')#2.均值填充data['col1'].fillna(data['col1'].mean())
2020-10-27 15:42:08 121
原创 PYTHON_格式转换
#1.查看数据类型data.info()data.dtypesdata['col1'].dtypes #查看一列数据类型#2.转换数据格式data['col1'].astype("str")#3.转日期import pandas as pddata_dt=pd.to_datetime(df['col1'],formate='%Y/%m/%d')data_dt.dt.year #提取年 month,day,weekday,hour,minute,second#4.转字符from d
2020-10-27 15:39:11 539
原创 PYTHON_分组(groupby,value_counts)
#1.全部数据集data.groupby('col1').count() #单列分组data.groupby(['col1','col2']).mean() #多列分组#筛选部分列data.groupby('col1')['col2','col3'].count()data[['col1','col2','col3']].groupby(by=['col3']).count()data['col1'].groupby(data['col2']).size()#3.多种聚合data.gro
2020-10-27 15:16:47 1624
原创 PYTHON_设置索引
#1.设置索引data=data.set_index(['col1'],inplace=TRUE,drop=FALSE) #inplace=TRUE,drop=FALSE保留这一列,默认不保留#2.重置索引data.reset_index(inplace=True,drop=False)#drop=true 直接丢弃之前的索引,否则生成一个列名为‘INDEX’的列,如果这个索引本身有名字的话,则生成一个有名字的列#3.更改索引列的名字data.index.name='index2'...
2020-10-26 18:30:39 5113
原创 PYTHON_数据去重
#1.数据集按列去重data.drop_duplicate(subset=['col1','col2'],keep='first',inplace=TRUE) #keep 默认first,inplace 是否在本数据集修改#2.数据集按索引去重data[~data.index.duplicated(keep='last')] #keep=last,则最后last为FALSE,前面重复的全部返回true# 3.单列去重data['col1'].drop_duplicate()...
2020-10-26 11:09:58 341
原创 PYTHON_数据筛选
#1.筛选行data[(data['col1']>5) & (data['col1']<10)]data[data['col1']==1]data[data['col1'].isin([3,4])]data[~data['col1'].isin([3,4])] #反向筛选data.loc['index1'] #按索引筛选行data.iloc[0:5] #筛选前5行#2.筛选列data[['col1','col2']]data.iloc[:,0:2] #筛选前两列da
2020-10-23 16:17:52 551
原创 PYTHON_数据拼接
#1.mergeimport pandas as pddata=pd.merge(AA,BB,how='left',left_on="aa",right_on="bb")data=pd.merge(AA,BB,how='left',left_index=TRUE,right_index=FALSE)#2.CONCATdata=pd.concat([AA,BB],join='inner',axis=0,ignore_index=TRUE)#axis=0 表示上下合并,axis=1表示左右合并,默认
2020-10-23 11:43:36 1027
原创 PYTHON_读取数据源
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片
2020-10-22 16:22:31 401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人