- 博客(26)
- 资源 (6)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 随机森林之信贷风险模型特征工程
信贷风险模型 今天在复习随机森林的时候,突然有了一些思考:信贷风险模型在我的理解,就是为了评估某个客户(企业,个体)在贷款等相关业务中,是否能够有效的将其贷款回收。通过自己的一些了解与猜想,信用评估模型中的主要评价来源是客户的数据。那么,数据可能会存在各种各样的数据,例如其历史借贷信息等。同时,收集的数据肯定会有很多的噪声。所以,如何根据这些特征信息来分析客户的借贷情况就显得尤为重要。...
2018-03-08 10:46:20
3053
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 TP,TN,FP,FN,Precision,Recall,sensitivity,specificity,FPR,TPR,F1值,ROC曲线,PR曲线的解释
参数定义在机器学习里面,通过会用到一些评价指标提到ROC曲线,F1-score等问题,这篇文章主要讲述了各参数是如何定义的,以及相互之间的关系。首先,看一张表格:预测\实际正 负正TP FP负FNTN接下来,解释着四个参数的具体含义TP:实际是正例,预测为正例 FP:实际为负例,预测为正例 TN:实际为负例,预测为负例 FN:实际为正例,预测为负例公式推导Recall=sensitivi...
2018-03-07 15:53:26
12402
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 机器学习、深度学习中过拟合的理解及解决方法
过拟合的定义 指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。具体表现就是训练集上效果好,在测试集上效果差。模型泛化能力弱。解决过拟合的方法发生过拟合主要有两方面的原因,下面就从数据和模型复杂度来考虑。数据获取更多的数据:从数据源头获取;根据当前数据集估计数据分布参数,使用分布产生;数据增强,通过一定规则获取数...
2018-02-27 19:11:58
1487
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Xgboost如何处理缺失值
XgboostXgboost简介Xgboost[1]是由陈天奇提出的一种集成学习方法,要想了解Xgboost,这里建议先了解决策树,再了解GBDT(Gradient boosting descent tree)即梯度提升树,再学习理解Xgboost。推荐学习方式,阅读[1]这篇论文,你将对Xgboost如何处理缺失值,以及模型复杂度控制有更加深刻的理解(注:对论文中正则化方式有疑问,可留言讨论)。...
2018-02-27 08:47:06
14555
3
原创 数组全排列
#include<iostream>#include<vector>using namespace std;void permu(vector<int>&a, int l, int h, vector<vector<int>>&res) { if (l == h) { res.push_back(a); ...
2018-08-05 17:45:39
939
原创 买卖股票问题
#include<iostream>#include<vector>#include<cmath>using namespace std;int maxres(vector<int>a){ int buy=-pow(2,31); int sell=0; int buy1=-pow(2,31); int se...
2018-07-09 11:06:35
805
转载 Isotonic Regression 校准
转载自: vividfree的博客 使用 Isotonic Regression 校准分类器 1. 引言对有监督机器学习问题,通常的训练流程包括这样几步:先建立起模型,然后在训练集上训练模型,如果有超参数,还需要在验证集上应用交叉验证以确定超参数,总之最终会得到一个模型。在这样的流程下,不断优化模型,如果在测试集上取得了较高的准确率、召回率、F-score或者AUC后,...
2018-06-21 10:51:48
5316
原创 给定一个乱序数组a,找到所有两个和为target的数组下标index1,index2
给定一个乱序数组a,找到所有两个和为target的数组下标index1,index2使用hash_map,时间复杂度为o(n),空间复杂度为o(n).Exp:a{ 2, 3, 1, 4, 5, 6, 7 },target=6;输出:0 3 2 4#include <iostream>#include <vector>#include <...
2018-04-20 23:55:34
1094
原创 统计位数
统计位数统计n以内的正整数一共有多少位数字,不统计前导0.Exp: n=13,输出17,即1 2 3 4 5 6 7 8 9 10 11 12 13#include <iostream>#include <string>#include <iomanip>#include <algorithm>#include <vector>...
2018-04-20 21:38:07
410
原创 一个数组,求任一元素减去该元素右边任一元素的差值的最大值
求差值一个数组,求任一元素减去该元素右边任一元素的差值的最大值,暴力解法时间复杂度是o(n^2),下面通过动态规划的解法,时间复杂度为o(n)。#include<iostream>#include<vector>#include<string>using namespace std;int Maxchazhi(vector<int>a){...
2018-04-20 10:56:11
1103
原创 递归打印1到n位数
递归打印1到n位数Exp:#include<iostream>#include<string>using namespace std;void printNumber(string number){ bool isbegin0 = true; for (int i = 0; i < number.size(); i++){ if (isbegin0&a...
2018-04-19 17:05:11
529
转载 Xgboost原理、与Boosted Tree关系
转自:《 XGBoost 与 Boosted Tree | 我爱计算机 》 作者:陈天奇,毕业于上海交通大学ACM班,现就读于华盛顿大学,从事大规模机器学习研究。注解:truth4sex 编者按:本文是对开源xgboost库理论层面的介绍,在陈天奇原文《梯度提升法和Boosted Tree》的基础上,做了如下注解:1)章节划分;2)注解和参考链接(以蓝色和红色...
2018-04-11 11:08:01
1224
原创 链表的回文结构,时间复杂度O(n),空间复杂度O(1)
链表的回文结构链表的回文结构,时间复杂度O(n),空间复杂度O(1)bool chkPalindrome(ListNode* head) { if (!head || !head->next) return true; ListNode *slow = head, *fast = head; while (fast->next &...
2018-04-10 15:29:33
1153
原创 将十进制数M转换为N进制数
将十进制数M转换为N进制数题目描述:给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数。Exp:输入:输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开,如7,2。输出:为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等),如111.#include<iostream>#includ...
2018-04-09 16:14:57
2428
原创 拆分数最大乘积
拆分数最大乘积题目描述,一个数拆分成n个整数相加,n1+n2+n3+......+nn,使得n1*n2*n3*......nn最大。Exp:输入:12输出:81#include<iostream>using namespace std;int main(){ int n,res,t; cin >> n; if (n == 1){ cout << ...
2018-04-08 16:25:06
1674
原创 合法括号对问题
合法括号对问题题目描述:输入一个正整数n,输出合法的括号对,此题目为LeetCode原题22题。(笔试题)Exp:输入:4输出: #include<iostream>#include<string>#include<vector>using namespace std;void Generate(int left, int right, ...
2018-04-08 16:21:43
426
原创 判断字符串是否可由子串拼接而成
判断字符串是否可由子串拼接而成题目描述:输出最长子串,该子串首尾相连可以形成原字符串(笔试题)。Exp:输入:abcabcabc输出:abc否则输出 false#include<iostream>#include<string>using namespace std;int main(){ string s; cin >> s; int length...
2018-04-08 16:16:51
2249
5
原创 冒泡&&选择&&插入&&希尔&&堆排序&&归并&&快排
#include <iostream>#include <vector>using namespace std;//BulleSortvoid BubbleSort(vector<int>&Array){ bool flag = true; //a flag to record whether the swap does; for (in...
2018-04-07 10:59:56
401
2
原创 被3整除
被3 整除 这是一道牛客网上面的笔试题。 题目描述:小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。并且小Q对于能否被3整除这个性质很感兴趣。小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。 输入:包括两个整数l和r(1 <= l <= r <...
2018-03-28 14:58:02
528
1
原创 BinaryTree,Preordertraversal,Inordertraversal,and Postordertraversal的三种非递归实现方式
二叉树遍历的三种非递归实现方式 二叉树的前序遍历,中序遍历,后续遍历是三种十分基础的便利方式,大多数人对其三种递归方式的遍历比较熟悉。这篇文章主要针对LeetCode上面的题目,分别对该三种遍历的非递归遍历方式进行了仿真,主要用到的数据结构是栈。 初学者对三种序列的顺序容易搞混淆,这里首先提供一种简单的记忆方式。一颗二叉树简单分为根节点,左节点,右节点。按照根节点在遍历中的...
2018-03-20 10:43:17
524
原创 机器学习、深度学习中欠拟合的解决方法总结
欠拟合在机器学习、深度学习领域,经常会涉及到的一个问题就是欠拟合。欠拟合通俗的讲是因为模型太简单。解决方法从数据层面上考虑可以增加新特征,例如,组合、泛化、相关性、高次特征,来增大假设空间等;从模型层面上考虑增加模型的复杂度,例如SVM的核函数,决策树不进行剪枝、DNN等更复杂的模型,去掉正则化项或者减小正则化参数,加深训练轮数等。...
2018-03-07 20:44:10
4001
1
原创 3 sum 问题
给定一个数组,找出3个数相加为0的所有组合。例如:给出0,1,-1,4,5,3,-7组合为0,-1, 1;3, 4,-7解题思路:这里要求a+b+c=0,只需要满足a+b=-c即可。首先将数组按递增排序,通过遍历,当前数若大于0即可跳出循环。需要注意的是,如果当前数与上一个数相等,且当前数大于0,那么不用再继续判断,只需要直接跳到下一个数即可。 vector<vector<int...
2018-03-02 11:16:21
754
1
原创 C++ 面向对象编程----类&对象
C++ 类&对象C++在C语言的基础上增加了面向对象编程,故理解类十分重要。类是C++的核心思想。C++类的定义:定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号...
2018-03-02 09:46:26
211
原创 Longest Increasing Subsequence
最长上升子序列 题目要求时间复杂度为O(n2),采用动态规划的思想,用一个数组d记录当前index时,以Array[index]结尾的最长上升子序列。这样,通过一次遍历,内部嵌套一个0:index处的比较,就能更新完d数组,最长上升子序列的长度即是max(d[i]).代码如下int lengthOfLIS(vector<int>& nums) { i...
2018-03-01 10:24:59
147
1
原创 Median of Two Sorted Arrays
找两个有序数组的中位数,是一道LeetCode上面的面试题。要解这道题,首先要弄清楚规则,具体可以参考https://leetcode.com/problems/median-of-two-sorted-arrays/solution/上面的分析。这里,先保证第一个数组的长度小于第二个数组的长度,然后按照规则保证左半部分最大的数小于右半部分最小的数。 在找到了合适的inde...
2018-03-01 09:24:28
143
1
原创 机器学习中,有监督与无监督训练的区别与联系
简单来说,是否有监督,就看输入是否有标签(label)。监督学习即通过已有的训练样本来训练,从而得到一个最优模型,再利用这个模型将数据样本映射为相应的结果。例如:分类,回归各种算法,SVM, KNN, RF, GBDT等等。 无监督学习如聚类,包括K-Means,模糊c均值等。 ...
2018-02-27 19:06:06
4675
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人