- 博客(52)
- 资源 (2)
- 收藏
- 关注
原创 将numpy矩阵中的NAN值用对应列上的平均值替换
import pandas as pdimport numpy as npa = np.array([[1,0,np.NAN],[2,np.NAN,3],[np.NAN,7,8]])#第一步,获取每列平均值col_mean = np.nanmean(a,axis=0)#第二步,获取NAN值所在索引inds = np.where(np.isnan(a)) #如果报错,可以考虑替换...
2019-07-09 10:10:48
2626
原创 python json.loads问题
json.loads()传入的是字符串,同时,字符串中的引号必须是双引号,否则会报错。如:['S', ['PP', ['ADP', 'In'], ['NP', ['DET', 'the'], ['NP', ['ADJ', '_RARE_'], ['NOUN', '_RARE_']]]], ['S', ['NP', ['ADJ', 'British'], ['NOUN', '_RARE_'...
2019-05-10 11:16:08
397
转载 Mac 干净卸载Pycharm
参考这篇博客:https://blog.youkuaiyun.com/weixin_42288822/article/details/84575451
2019-04-26 08:29:34
10019
原创 Micheal Collins nlp课程笔记(二)Tagging Problems and Hidden Markov Models
一、The Tagging Problem典型的标签问题有两种:POS(Part Of Speech)和NER(Named Entity Recognition),两者基本一致,POS是给句子的单词打上词性的标签,NER是给句子的单词打上类别的标签(实体或者非实体?实体的话是什么实体等等)二、生成模型在Tagging Problem中,我们目标是给定一个句子,能够得到相应的标签序列。因...
2019-04-24 14:22:16
349
原创 Michael collins nlp课程笔记(一)Language Modeling
这篇博客总结的很好:https://blog.youkuaiyun.com/qq_33355980/article/details/84929538里面有两个地方补充下:1、衡量language Model的手段是使用Perplexity,这个量反映了模型在测试数据上的表现情况;2、线性插值中,lambda的值除了取定值外还可以取变值...
2019-04-23 22:02:44
466
原创 《统计学习方法》读书笔记——第2章 感知机
总结:感知机是一个二分类线性分类模型,旨在用一个超平面将数据线性划分。一、模型感知机使用的函数是:f(X)=sign(w*X+b),sign是符号函数,sign(x)表示如果x>0则为1,x<0则取-1。几何意义就是一个超平面S,将空间分为两部分,一部分为正、一部分为负(感知机只适合线性可分的数据集)二、策略误分类点到超平面S的距离和作为损失函数(为了方便计算,...
2019-04-15 09:43:43
186
原创 《统计学习方法》读书笔记——第一章统计学习方法概论
总结:本章主要是介绍一些基本的概念,起到统揽全书的作业。1.1 统计学习统计学习是基于数据构建概率模型并运用模型对数据进行预测分析的学科。统计学习由监督学习、非监督学习、半监督学习、强化学习等组成。这本书主要讨论监督学习。1.2 监督学习输入空间:所有可能的输入值输出空间:所有可能的输出值假设空间:简单说就是可能的模型的集合联合概率分布:P(x,y)表示。举个例子,...
2019-04-15 09:10:51
268
原创 利用pandas和数据集ml-100k计算男女生对电影的看法
初学Python两三天,代码写的很乱~import pandas as pdimport numpy as npunames = ['userid','age','gender','occupation','zip code']users = pd.read_table('/Users/yuanwei/Downloads/ml-100k/u.user',sep = '\|',name...
2019-04-14 09:41:31
2013
1
原创 用sklearn简单实现KNN和KMeans
数据集:使用sklearn自带的iris数据集,该数据集包含某种花类的观察数据,包括四个特征,花有三类。①导入要用到的包:from sklearn import datasetsfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn.cluster import KMeans②导入数据集:iris = d...
2019-04-13 21:39:42
1272
原创 Pandas中Series或者DataFrame判断某个元素是否在存在
首先来看一道题:from pandas import Series,DataFramedata = {'language':['Java','PHP','Python'],'year':[1995,1995,1991]}frame = DataFrame(data)frame['IDE'] = Series(['Intellij','Notepad','IPython'])'IPyt...
2019-04-13 12:09:40
74382
9
原创 Jupyter Notebook在Mac上的安装
前提:正确安装了Python3第一步:pip3 install --upgrade pip第二步:pip3 install jupyter此时如果运行命令:jupyter notebook,可能会出现command not found解决办法:which jupyter 查看jupyter路径将其放到/usr/local/bin/ 目录下ln -s /Library/Fra...
2019-03-27 08:53:14
4168
1
原创 关于TreeSet
TreeSet能够保证集合中无重复元素,且按序排列!所按顺序是元素的自然顺序。因此,如果插入的是数字,譬如1,3,4,8,5,2,那么顺序遍历就会输出123458。如果插入的是字符串,譬如:A,B,Allow,F,Buy,Follow,那么输出就会是:A、Allow、B、Buy、F、Follow基于这个性质,假如有一道题:给定一个数字n,生成n以下所有数且按字典序排列。譬...
2019-03-11 09:04:57
162
原创 在JAVA中使用ambiversenlu
一、什么是ambiversenlu?Demo:https://ambiversenlu.mpi-inf.mpg.de简而言之,它能够帮助我们进行实体识别、足够方便的进行实体连接操作。二、如何使用ambiversenlu?在上面的demo链接页面使用ambiversenlu十分方便,只需要将句子复制到输入框,点击analysis就能够轻松得到结果。但是如何在程序中使用ambivers...
2019-03-05 14:50:48
496
原创 Java向下转型和向上转型
class Base{ public void print() { System.out.println("Run Base's Print()"); }}class Son1 extends Base{ public void print() { System.out.println("Run Son1's Print()"); }}class Son2 extends...
2019-03-03 12:01:54
189
原创 字母异位词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"]
2019-02-13 12:28:59
149
原创 如何原地旋转矩阵
给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。思路:经过观察发现,旋转矩阵有两种方法:一种是将矩阵分层,逐层向内进行旋转;一种是将矩阵转置后对称翻转即可。方法一:public void rotate(int[][] matrix) { ...
2019-02-12 11:41:51
2492
1
原创 java全排列
给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]我的思路:这是一道递归求解的题。因为一个序列的全排列是这样组成的:“这个序列的每个元素做头元素,剩下的元素全排列”。根据引号中的这句话,把它...
2019-02-12 10:50:41
478
原创 缺失的第一个正数
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。要求算法时间复杂度O(n),空间复杂度常数级别。示例1:输入:[1,2,0]输出:3示例2:输入:[3,4,-1,1]输出:2示例3:输入:[7,8,9,10]输出:1我的思路:①遍历一遍数组,如果元素值在1~length之间,则将其放到该值-1的位置(譬如1放到a[0],3放到a[2])。如果元素值...
2019-02-11 09:46:15
175
原创 接雨水问题
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入:[0,1,0,2,1,0,1,3,2,1,2,1]输出:6我的思路:两层循环,第一层确定左柱,...
2019-02-11 09:44:36
489
原创 组合总和②
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 譬如:输入candidates = [10,1,2,7,6,1,5] ,target = 8,所求解集为:[...
2019-02-10 11:33:07
178
原创 组合总和(combinationSum)以及List的add()方法的问题
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。 解集不能包含重复的组合。思路:用回溯法,把candidates中的数先加一下,如果不行则回溯。设计递归函数combinati...
2019-02-09 11:02:48
296
原创 区间列表的交集计算
给定两个由一些闭区间组成的列表,每个区间列表都是成对不相交的,并且已经排序。返回这两个区间列表的交集。(形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合,而 a <= x <= b。两个闭区间的交集是一组实数,要么为空集,要么为闭区间。例如,[1, 3] 和 [2, 4] 的交集为 [2, 3]。)示例:输入:A = [[0,2],[5,10...
2019-02-03 12:19:27
1133
原创 查询后的偶数和
给出一个整数数组 A 和一个查询数组 queries。对于第 i 次查询,有 val = queries[i][0], index = queries[i][1],我们会把 val 加到 A[index] 上。然后,第 i 次查询的答案是 A 中偶数值的和。(此处给定的 index = queries[i][1] 是从 0 开始的索引,每次查询都会永久修改数组 A。)返回所有查询的答案...
2019-02-03 12:09:05
258
1
原创 在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例:输入:nums = [5,7,7,8,8,10],target = 8输出:[3,4]输入:nums = [5,7,7,8,8,10],target= 6...
2019-02-02 10:08:55
231
原创 最长有效括号
给定一个只包含'('和')'的字符串,找出最长的包含有效括号的子串的长度。如:输入“(()”,输出2;输入")()())",输出4.思路:两个for循环扫描字符串,用栈检测是否有合格串。我的代码:public class LongestValidParentheses { public int longestValidParentheses(String s) { in...
2019-02-02 08:11:41
292
原创 求下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。例子:(左侧为输入,右侧为输出结果)1,2,3->1,3,23,2,1->1,2,31,1,5->1,5,14,2,0,2,3,2,0->4,2,0,3,...
2019-02-01 10:16:23
447
原创 k个一组翻转链表
给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例:输入1->2->3->4->5,k = 2。返回2->1->4->3->5 输入1->2->3->4->5,k = 3...
2019-01-31 09:01:21
571
原创 两两交换两个相邻节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。如:给定1->2->3->4,返回2->1->4->3。说明:你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 方法一:交换两个节点里的值而节点不动。(该题禁止这样做)方法二:老老实实的交换就好了我的代码:public Li...
2019-01-30 09:53:55
792
原创 合并K个有序链表
合并 k 个排序链表,返回合并后的排序链表。public class MergeKSortedLists { public ListNode mergeKLists(ListNode[] lists) { if(lists.length == 0)return null; if(lists.length == 1)return lists[0]; int i = 1; ...
2019-01-30 08:58:51
451
原创 生成括号
这道题有点意思。给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[((())), (()()), (())(), ()(()), ()()()]。 我的思路:要保证括号正确,就要保证生成串过程中左括号数一定是>=右括号数的,在此基础上,列出所有可能的结果。最容易想到的思路当然就是递归了。①如...
2019-01-30 08:31:00
130
原创 关于List值传递还是引用传递的问题
首先可以确定的是,JAVA的List是引用传递,也就是说在作为参数传递进去list和原来的list指向同一空间,互相影响。但仍有些地方需要注意。通过代码解释:代码一:public void test() { List<String> list = new ArrayList<>(); list.add("1"); modify(list); ...
2019-01-30 08:12:12
7589
1
原创 一趟遍历删除链表倒数第N个节点
给定一个链表,删除链表倒数第N个节点,并返回链表头结点。如:给定链表1->2->3->4->5 以及n = 2,返回链表1->2->3->5。思路:两个指针,相距n,当后一个指针到尾部时,p所指向的下个节点就是要删除的节点。代码:public class RemoveNthNodeFromEndOfList { public ListN...
2019-01-29 10:22:26
439
原创 电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射关系如下:示例:输入:“23”输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]注:输出字符串顺序任意我的代码:public class LetterCombinati
2019-01-29 09:53:54
110
原创 三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。例如给定nums = [-1,0,1,-1,2,-4],满足条件的三元组为[[-1,0,1],[-1,-1,2]]我的思路:思路一:刚开始,我是想着直接用三个指针i,j,k进行遍历,三数之和等于0,且不在lists中则假如...
2019-01-28 10:05:26
99
原创 二叉树层次遍历
层次遍历二叉树,每一次储存在list中,结果按从叶子层到根,从左到右的顺序存储 代码一:class Solution { public List<List<Integer>> levelOrderBottom(TreeNode root) { List<List<Integer>> lists =...
2019-01-21 12:08:01
134
原创 对称二叉树
判断一棵二叉树是否为对称二叉树。形如:是一棵对称二叉树。这不是一棵对称二叉树。思路:递归;分左右儿子,如果左儿子的左儿子和右儿子的右儿子相等且左儿子的右儿子和右儿子的左儿子相等,则为真。代码:public boolean isSymmetric(TreeNode root) { if(root == null)return true; return isMirror(ro...
2019-01-20 11:15:27
128
原创 利用折半查找在排序数组中查找值的下标,如果没有则返回插入下标
public class SearchInsertPosition { public int searchInsert(int[] nums, int target) { int low = 0,high = nums.length-1; while (low<=high) { int mid = (low+high)/2; if(nums[mid] == tar...
2019-01-17 16:12:41
1009
原创 移除数组中某个值的元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。思路:这是一道很简单的题,一个很简单的思路是设置一个变量x记录要删除的元素个数,遍历数组,如果遇到要删除的值则x加1,如果不是要...
2019-01-17 13:49:16
1506
1
原创 删除排序数组中重复数字
给定一个排序数组,删除数组中重复的数字,要求在O(1)的空间完成,在原数组上进行操作,返回删除后数组的长度。思路:很简单的题,可以借鉴插入排序的思路,如果相等就不插入。代码:public class RemoveDuplicatesFromSortedArray { public int removeDuplicates(int[] nums) { if(nums.length...
2019-01-17 13:37:00
210
原创 判断括号是否合法
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。譬如:"()[]{}"为合法,"(]"、"([)]"均为非法。思路:栈,遇到左括号入栈,非左括号出栈并检查是否匹配,如果不匹配则非法。如果整个字符串遍历完了且栈也为空,则...
2019-01-17 09:35:57
1911
1
ambiversenlu所有依赖jar包
2019-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人