- 博客(73)
- 收藏
- 关注
原创 连接
关系型连接1. 连接的基本概念把两张相关的表按照某一个或某一组键连接起来是一种常见操作,例如学生期末考试各个科目的成绩表按照 姓名 和 班级 连接成总的成绩表,又例如对企业员工的各类信息表按照 员工ID号 进行连接汇总。由此可以看出,在关系型连接中, 键 是十分重要的,往往用 on 参数表示。另一个重要的要素是连接的形式。在 pandas 中的关系型连接函数 merge 和 join 中提供了 how 参数来代表连接形式,分为左连接 left 、右连接 right 、内连接 inner
2020-12-29 17:57:32 154
原创 SQL综合练习
知识点回顾根据对RDBMS赋予的指令种类的不同,SQL语句可以分为以下三类DDLDDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令:1)CREATE:创建数据库和表等对象2)DROP:删除数据库和表等对象3) ALTER:修改数据库和表等对象的结构DMLDML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。DML 包含以下几种指
2020-12-28 21:28:00 382
原创 第五章 变形
# 一 长宽表变换(长表变宽表、宽表变长表)## 1 pivot / pivot_table(透视表)类似excel中的数据透视表和tableau的建表,pivot /pivot_table主要由三部分组成:行、列、值。(值得一提的是,与excel数据透视表和tableau操作完全一致,可以一同巩固)### 1.1 pivot原表:pivot:其中行索引为学生姓名,列索引为科目,值为成绩。注意:利用pivot进行变形操作需要满足唯一性的要求,即由于在新表中的行..
2020-12-27 22:43:49 196
原创 第四章 分组
import numpy as npimport pandas as pd分组模式及其对象1. 分组的一般模式df.groupby(分组依据)[数据来源].使用操作2. 分组依据的本质① 单个维度、多个维度的分组,直接在groupby中传入相应列名构成的列表即可。df.groupby(['School','Gender'])['Height'].mean()② 通过一定的复杂逻辑来分组#先写出分组条件condition = df.Weight > df.Weight.mea
2020-12-25 16:46:05 326
原创 SQL高级处理
5.1 窗口函数5.1.1 窗口函数概念及基本的使用方法窗口函数也称为OLAP函数。OLAP 是OnLine AnalyticalProcessing 的简称,意思是对数据库数据进行实时分析处理。窗口函数的通用形式为:<窗口函数> over ([partion by <列名>] order by <排序用列名>)注意:① [ ] 中的内容可以省略② partition by 是用来分组的,即选择看哪个窗口,类似于group by 子句的分
2020-12-23 15:45:04 301 2
原创 第三章 索引
一、索引器1. 表的列索引1)从DataFrame中取出相应的列,返回值为Series① df[‘column_name’]⇓⇑\Downarrow \quad \Uparrow⇓⇑② df.column_name列名中不包含空格2)取出多个列,返回值为一个DataFramedf[[‘column1’,‘column2’]]2. 序列的行索引1)以字符串为索引的Series① 取出单个索引的字母,返回一个Seriess[‘index’]② 取出多个索引的对应元素s[[‘index
2020-12-22 21:35:54 1610
原创 task 4:集合运算
4.1 表的加减法4.1.1 什么是集合运算4.1.2 表的加法—UNION4.1.2.1 UNIONUNION相当于是求并集的运算,可以对两张表,也可以对同一张表~~UNION会除去重复的记录!!!#两张表SELECT product_id, product_name FROM product UNIONSELECT product_id, product_name FROM product2;同一张表~~练习题:假设连锁店想要增加毛利率超过 50%或者售价低于 800
2020-12-22 16:31:32 2240 8
原创 SQL基础task3 复杂一点的查询
3.1 视图我们先来看一个查询语句(仅做示例,未提供相关数据)SELECT stu_name FROM view_students_info;单从表面上看起来这个语句是和正常的从数据表中查询数据是完全相同的,但其实我们操作的是一个视图。所以从SQL的角度来说操作视图与操作表看起来是完全相同的,那么为什么还会有视图的存在呢?视图到底是什么?视图与表有什么不同呢?3.1.1 什么是视图视图是一个虚拟的表,不同于直接操作数据表,视图是依据SELECT语句来创建的(会在下面具体介绍),所以操作视图时会根
2020-12-20 22:01:39 178
原创 第二章 pandas基础
import numpy as npimport pandas as pd一、文件的读取和写入1. 文件读取pandas读取csv,excel,txt时句子差不多,只要替换相应的csv,excel,txt为所需要读取的文件的格式即可df_csv = pd.read_csv('data/my_csv.csv')df_txt = pd.read_table('data/my_table.txt')df_excel = pd.read_excel('data/my_excel.xlsx')其中
2020-12-19 20:37:47 198 1
原创 task 02基础查询与排序
2.1 SELECT语句基础2.1.1 从表中选取数据SELECT <列名>, FROM <表名>;其中,SELECT子句中列举了希望从表中查询出的列的名称,而FROM子句则指定了选取出数据的表的名称。2.1.2 从表中选取符合条件的数据SELECT <列名>, FROM <表名> WHERE <条件表达式>;2.1.3 相关法则· 星号()代表全部列的意思。· SQL中可以随意使用换行符,不影响语句执行(但不可插入空行
2020-12-17 17:37:33 111
原创 第一章 预备知识
一、Python基础1. 列表推导式与条件赋值–列表推导式python可以这样生成一个数字序列L=[]def my_func(x): return 2*xfor i in range(5): L.append(my_func(i))L#[0, 2, 4, 6, 8]可以这样简化[ for i in ],第一个 * 为映射函数,其输入为后面i指代的内容,第二个 * 表示迭代的对象。[my_func(i) for i in range(5)]#[0, 2, 4, 6,
2020-12-16 22:36:47 136
原创 初识数据库
1.1 初识数据库数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)1.1.1 DBMS的种类DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下 5 种类型1)层次数据库2)关系数据库· Oracle Database:甲骨文公司的RDBMS· SQL Server:微软公司的RDBMS
2020-12-15 14:50:49 150 1
原创 金融风控学习task04
4.3 模型相关原理介绍由于相关算法原理篇幅较长,本文推荐了一些博客与教材供初学者们进行学习。4.3.1 逻辑回归模型https://blog.csdn.net/han_xiaoyang/article/details/491234194.3.2 决策树模型https://blog.csdn.net/c406495762/article/details/762624874.3.3 GBDT模型https://zhuanlan.zhihu.com/p/451458994.3.4 XGBoost
2020-09-24 22:39:52 110
原创 金融风控task3 特征工程
首先对特征工程部分做一个大体的了解,包含以下几个部分:数据预处理缺失值的填充时间格式处理对象类型特征转换到数值异常值处理基于3sigema原则基于箱型图数据分箱固定宽度分箱分位数分箱离散数值型数据分箱连续数值型数据分箱特征交互特征和特征之间组合特征和特征之间衍生其他特征衍生的尝试特征编码one-hot编码label-encode编码特征选择1 Filter2 Wrapper(RFE)3 Embedded代码示例导入包并读取数据imp
2020-09-21 21:54:41 122
原创 金融风控-task 2 数据分析
目的:1.EDA价值主要在于熟悉了解整个数据集的基本情况(缺失值,异常值),对数据集进行验证是否可以进行接下来的机器学习或者深度学习建模.2.了解变量间的相互关系、变量与预测值之间的存在关系。3.为特征工程做准备2.1 学习内容数据总体了解:读取数据集并了解数据集大小,原始特征维度;通过info熟悉数据类型;粗略查看数据集中各特征基本统计量;缺失值和唯一值:查看数据缺失值情况查看唯一值特征情况深入数据-查看数据类型类别型数据数值型数据离散数值型数据连续数值型数据数据间相关关
2020-09-16 20:16:09 257
原创 天池金融风控—task1赛题理解
天池风控新人赛–赛题理解1.1 比赛和数据比赛地址:https://tianchi.aliyun.com/competition/entrance/531830/introduction赛题以金融风控中的个人信贷为背景,要求选手根据贷款申请人的数据信息预测其是否有违约的可能,以此判断是否通过此项贷款,这是一个典型的分类问题。数据包括80w训练集和40w测试集,包含47个变量,其中15个为匿名变量。提交结果为每个测试样本是1的概率,也就是y为1的概率。评价方法为AUC评估模型效果(越大越好)。1.
2020-09-15 19:23:17 264
原创 支持向量机
思考与讨论1.什么是支持向量假设超平面(w,b)(w,b)(w,b)能将训练样本正确分类,即对于(xi,yi)∈D(x_i,y_i)\in D(xi,yi)∈D,若yi=+1y_i=+1yi=+1,则有wTxi+b>0w^Tx_i+b>0wTxi+b>0;若yi=−1y_i=-1yi=−1,则有wTxi+b<0w^Tx_i+b<0wTxi+b<0.令wTxi+b≥+1,yi=+1wT+xi+b≤−1,yi=−1w^Tx_i+b\geq +1,y_i=+
2020-08-26 22:23:49 276
原创 基于决策树的分类预测
决策树原理决策树是一种常见的分类模型。优点:具有很好地解释性,模型可以生成可以理解的规则。可以发现特征的重要程度。模型的计算复杂度较低。缺点:模型容易过拟合,需要采用减枝技术处理。不能很好利用连续型特征。预测能力有限,无法达到其他强监督模型效果。基于企鹅数据集的决策树实战思考与讨论1.为什么说Boosting既可减小方差,又可减小偏差?①因为boosting是一个迭代算法,每一次都根据上一次迭代的预测结果对样本进行加权,所以
2020-08-22 21:38:58 398
原创 python基础 文件读写
【例】打开一个文件,并返回文件对象,如果该文件无法被打开,会抛出OSError。f = open('将进酒.txt')print(f)# <_io.TextIOWrapper name='将进酒.txt' mode='r' encoding='cp936'>for each in f: print(each)# 君不见,黄河之水天上来,奔流到海不复回。# 君不见,高堂明镜悲白发,朝如青丝暮成雪。# 人生得意须尽欢,莫使金樽空对月。# 天生我材必有用,千金散尽还复来。
2020-08-08 22:27:41 157
原创 Python基础 datatime模块
datetime类如何创建一个dayetime对象import datetimedt = datetime.datetime(year=2020, month=6, day=25, hour=11, minute=23, second=59)print(dt) # 2020-06-25 11:23:59print(dt.timestamp()) # 1593055439.0dt = datetime.datetime.fromtimestamp(1593055439.0)print(
2020-08-07 22:38:53 399
原创 python基础 类与对象 魔法方法
类与对象对象=属性+方法class Turtle: # Python中的类名约定以大写字母开头 """关于类的一个简单例子""" # 属性 color = 'green' weight = 10 legs = 4 shell = True mouth = '大嘴' # 方法 def climb(self): print('我正在很努力的向前爬...') def run(self): pr
2020-08-05 22:12:15 196
原创 零基础入门NLP-Task6 基于深度学习的文本分类3
Transformer 原理我们重点关注编码部分。他们结构完全相同,但是并不共享参数,每一个编码器都可以拆解成两部分。在对输入序列做词的向量化之后,它们首先流过一个self-attention层,该层帮助编码器在它编码单词的时候能够看到输入序列中的其他单词。self-attention的输出流向一个前向网络(Feed Forward Neural Network),每个输入位置对应的前向网络是独立互不干扰的。最后将输出传入下一个编码器。这里能看到Transformer的一个关键特性,每个位置的词仅仅
2020-08-04 20:24:40 225
原创 Python基础 函数与Lambda表达式
函数定义def printme(str): print(str)printme("我要调⽤⽤户⾃定义函数!") # 我要调用用户自定义函数!printme("再次调用同一函数") # 再次调用同一函数temp = printme('hello') # helloprint(temp) # None函数参数位置参数默认参数def printinfo(name, age=8): print('Name:{0},Age:{1}'.format(name, age))printi
2020-08-02 17:56:20 131
原创 python基础--字典集合序列
字典笔记参考:https://github.com/datawhalechina/team-learning-program/blob/master/PythonLanguage/09.%20%E5%AD%97%E5%85%B8.md集合https://github.com/datawhalechina/team-learning-program/blob/master/PythonLanguage/10.%20%E9%9B%86%E5%90%88.md序列https://github.com
2020-07-31 23:21:37 109
原创 零基础入门NLP-TASK5基于深度学习的文本分类2
TextCNN#模型搭建self.filter_sizes = [2, 3, 4] # n-gram windowself.out_channel = 100self.convs = nn.ModuleList([nn.Conv2d(1, self.out_channel, (filter_size, input_size), bias=True)for filter_size in self.filter_sizes])#前向传播pooled_outputs = []for i in
2020-07-31 23:05:27 118
原创 python基础 列表元组
7 列表创建:x=[i for i in range(10)]print(x,type(x))#[0,1,2,3,4,5,6,7,8,9] <class'list'>x=[[0 for col in range(3)] for row in range(4)]print(x,type(x))#[[0,0,0],[0,0,0],[0,0,0],[0,0,0]] <class 'list'>增添元素向列表中添加元素有append(只接受一个参数)和extend两种
2020-07-28 22:44:00 83
原创 零基础入门NLP-Task4基于深度学习的文本分类1
介绍Fast TextFast Text是一种典型的深度学习词向量的表示方法,它非常简单通过Embedding层将单词映射到稠密空间,然后将句子中所有的单词在Embedding空间中进行平均,进而完成分类操作。首先进行fast text的安装方法一:电脑在本地的cmd输入pip install -i https://pypi.tuna.tsinghua.edu.cn/simple fasttext方法二:参考:https://blog.csdn.net/qq_17814041/article
2020-07-27 23:10:42 133
原创 零基础入门NLP-TASK3基于机器学习的文本分类
在处理自然语言问题时,需要将文字处理为计算机可以理解的语言,由于文本长度不定,因此需要进行词嵌入(Word Embedding)。词嵌入将不定长的文本转换到定长的空间内,是文本分类的第一步。常见词嵌入方法:one-hot这里的One-hot与数据挖掘任务中的操作是一致的,即将每一个单词使用一个离散的向量表示。具体将每个字/词编码一个索引,然后根据索引进行赋值。One-hot表示方法的例子如下:句子1:我 爱 北 京 天 安 门句子2:我 喜 欢 上 海首先对所有句子的字进行索引,即将每个字确定一
2020-07-25 22:36:21 112
原创 python基础 异常处理
练习题猜数字游戏题目描述:电脑产生一个零到100之间的随机数字,然后让用户来猜,如果用户猜的数字比这个数字大,提示太大,否则提示太小,当用户正好猜中电脑会提示,“恭喜你猜到了这个数是…”。在用户每次猜测之前程序会输出用户是第几次猜测,如果用户输入的根本不是一个数字,程序会告诉用户"输入无效"。(尝试使用try catch异常处理结构对输入情况进行处理)获取随机数采用random模块。a=random.randint(0,100)k=1print('猜测0~100的整数')while 1:
2020-07-25 22:27:56 89
原创 Python基础:条件和循环
4 条件语句4.1 if语句if expression: expr_true_suite① 只有条件表达式expression结果为真时才执行expr_true_suite代码块,否则继续执行紧跟在该代码块后面的语句。② 单个if语句中的expression条件表达式可以通过布尔操作符and,or,not实现多重条件判断。4.2 if-else语句if expression: expr_true_suiteelse: expr_false_suite如果if语句的条件表达式结果布尔
2020-07-23 22:18:22 97
原创 零基础入门NLP-Task2数据读取与数据分析
数据读取数据的每一列都是以\t为分割的字符import pandas as pddata=pd.read_csv('train_set.csv',sep='\t')data.head()数据可视化与分析新闻长度分析train_df['text_len']=train_df['text'].apply(lambda x: len(x.split(' ')))print(train_df['text_len'].describe())每条新闻平均由907个字符构成,最短的长度为2,最长
2020-07-22 22:28:09 232
原创 零基础入门NLP赛事-Task1赛事理解
赛题名称:零基础入门NLP新闻文本分类赛题数据赛题的数据为新闻文本,并按照字符级别进行匿名处理。整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐的文本数据。赛题数据由以下几个部分构成:训练集20w条样本,测试集A包括5w条样本,测试集B包括5w条样本。为了防止选手人工表注测试集的情况,官方将比赛数据的文本按照字符级别进行了匿名处理:{‘科技’: 0, ‘股票’: 1, ‘体育’: 2, ‘娱乐’: 3, ‘时政’: 4, ‘社会’: 5
2020-07-21 19:40:28 150
原创 2 变量,运算符,数据类型与位运算
2 变量、运算符与数据类型2.1 注释① == # ==作用于整行,表示单行注释② === ‘’‘ ’‘’或者“”“ ”“”===表示区间注释,三引号之间的内容被注释2.2 运算符① 算术运算符② 比较运算符③ 逻辑运算符④ 位运算符⑤ 其他运算符需要注意以下几点一、is, is not 对比的是两个变量的内存地址;=, != 对比的是两个变量的值。即 如比较的两个指向的都是地址不可变的类型,那么is, is not 和 ==, != 是完全等价的;而 如对比的两个变量
2020-07-21 16:56:45 288
原创 排序问题专题总结
总结:在我看来排序问题最基本的函数就是sort函数,如果对数组A中的元素进行排序,则应写为sort(A.begin(),A.end())其次,排序主要分为直接插入排序、希尔排序、起泡排序、快速排序、简单选择排序、堆排序、归并排序这几类,应用也都比较广泛。另外需要注意将结构体排序要先定义自己的comp,才能用sort排序。
2017-06-15 17:27:04 231
原创 中位数
1.问题描述:给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。2.思路:正如给定样例首先将整数数组进行排序,再判断它的容量n是奇数还是偶数,如果是偶数则其中位数为n/2-1,如果是奇数,它的中位数就是(n-1)/23.代码:class Solution {public: /**
2017-06-15 17:14:36 306
原创 合并区间
1.问题描述:给出若干闭合区间,合并所有重叠的部分。2.思路:正如给定样例给出的区间列表 => 合并后的区间列表:[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10], [15, 18] [15, 18]
2017-06-15 17:06:00 300
原创 整数排序Ⅱ
1.问题描述:给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。2.思路:正如给定样例给出 [3, 2, 1, 4, 5], 排序后的结果为 [1, 2, 3, 4, 5]。因此用一个sort函数就可以将这组整数按升序排列了3.代码:class Solution {public: /** *
2017-06-08 17:33:38 204
原创 两数组的交
1.问题描述:返回两个数组的交 注意事项Each element in the result must be unique.The result can be in any order.2.思路:正如样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].如上一题目类似,本题就是多了一个去重。可定
2017-06-08 17:20:23 179
原创 两数组的交Ⅱ
1.问题描述:计算两个数组的交 注意事项每个元素出现次数得和在数组里一样答案可以以任意顺序给出2.思路:正如给定样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].先把两数组的元素按顺序排列起来,再定义一个向量用来储存所要的两数组的交,如果两数组中的元素相等的话就把这个元素追加到
2017-06-08 16:55:08 368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人