![](https://img-blog.csdnimg.cn/20190220232527200.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
机器学习
机器学习入门及部分进阶知识
简单随风
这个作者很懒,什么都没留下…
展开
-
证券知识检索系统的实现(全栈)
大概实现思路如下:通过Tushare等第三方渠道或Scrapy爬取所需要的股票信息,存在数据库中。通过kafka-canal监控mysql的log,实时更新neo4j内的数据。使用Django rest Framework生成微服务,提供api。使用Vue搭建简单的前端,调取api以获得信息。下面来看下具体的实现细节:1.数据初次采集通过Tushare等第三方渠道获取信息(部分...原创 2019-03-23 17:38:50 · 783 阅读 · 4 评论 -
凸集合与凸函数 以及案例实现
1.凸集合(Convex Set)定义:假设对于任意x,y ∈ C and 任意参数 α ∈ [0,1],我们有αx + (1-α)y ∈ C ,集合C为凸集合。例子:所有的R^n所有的正数集合范数 ||x|| <= 1affine set:线性方程的所有解 Ax = bhalfspace: 不等式的所有解 a^T x <= b定理:两个凸集的交集也是凸集(int...原创 2019-02-25 18:58:43 · 4759 阅读 · 0 评论 -
Good-Turning Smoothing介绍及推理
在介绍Good-Turning Smoothing之前,我们可以先看一个有趣的例子:假设你在钓鱼,已经抓到了18只鱼:10条鲤鱼,3条黑鱼,2条刀鱼,1条鲨鱼,1条草鱼,1条鳗鱼…Q1:下一个钓到的鱼是鲨鱼的概率是多少?Q2:下一条鱼是新鱼种(之前没有出现过)的概率是多少?Q3:既然如此,重新想一下,下一条抓到鱼为鲨鱼的概率是多少?我们在看到Q1时,可以很简单的算出Q1结果为 1/18...原创 2019-02-23 16:13:13 · 4357 阅读 · 4 评论 -
N-Gram模型介绍
1.N-Gram的原理N-Gram是基于一个假设:第n个词出现与前n-1个词相关,而与其他任何词不相关。(这也是隐马尔可夫当中的假设。)整个句子出现的概率就等于各个词出现的概率乘积。各个词的概率可以通过语料中统计计算得到。假设句子T是有词序列w1,w2,w3…wn组成,用公式表示N-Gram语言模型如下:P(T)=P(w1)*p(w2)*p(w3)***p(wn)=p(w1)*p(w2|w1)...原创 2019-02-23 01:37:27 · 4215 阅读 · 0 评论 -
数据结构常见的八大排序算法(详细整理)
前言八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。常见的八大排序算法,他们之间关系如下:他们的性能比较:下面,利用Python分别将他们进行实现。直接插入排序算法思想:直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。因此,...转载 2019-02-13 19:00:08 · 375 阅读 · 0 评论 -
python实现cyk算法
class my_CYK(object): def __init__(self, non_ternimal, terminal, rules_prob, start_prob): self.non_terminal = non_ternimal self.terminal = terminal self.rules_prob = rules_...原创 2019-02-10 11:16:01 · 3969 阅读 · 3 评论 -
搭建一个简单的问答系统(v2.0)
之前刚接触机器学习的时候,写过一篇《基于sklearn库,搭建一个简单的问答系统》。此篇文章是在上篇的逻辑上,对一些函数进行了优化,并对检索方式进行了一些优化,再各个环节上时间复杂度都提高了很多。下面讲解一下具体的代码:第一部分: 读取文件,并把内容分别写到两个list里(一个list对应问题集,另一个list对应答案集)import jsondef read_corpus(): ...原创 2019-01-30 10:43:33 · 6375 阅读 · 17 评论 -
使用深度神经网络识别卫星数据
给定的数据在 “point_data.csv”文件里,这个数据总共包含了5个类别(由Class_ID来区分), 并包括10个特征。在这里,我们需要搭建多层的神经网络,并利用这个网络来识别分类。首先是导入所有所需的library# 导入libraryimport numpy as npimport matplotlib.pyplot as pltimport pandas as pd#...原创 2018-12-27 15:57:40 · 873 阅读 · 0 评论 -
计算文本间距的实现
我们可以使用动态规划的方式来计算文本间距,通过建立DP数组将对比文本的问题分成多个子问题:文本间的间距通常包含以下三种情况:insert: abc -> abdcremove: abc -> abupdate: abc -> adc我们只需要计算不同情况下最短间距就可以了,具体实现方式如下:def text_distance(str1, ...原创 2018-12-25 11:31:05 · 694 阅读 · 0 评论 -
文本预处理常用技术介绍
自然语言处理简介自然语言处理,顾名思义,就是使用计算机对语言文字进行处理的相关技术以及应用。Natural language processing (NLP) is a field of computer science, artificial intelligence and computational linguistics concerned with the interactions...原创 2018-12-24 23:18:58 · 16719 阅读 · 1 评论 -
分词工具的实现
通常,我们在做分词的时候,需要用到jieba(中文分词),或直接以空格进行分词(英文分词)等,下面会介绍一下一个简单的中文分词工具的实现方式。首先是准备词库我们可以利用清华大学开源词库或其他人分享的词库等创建分词词库,本篇是拿一个本地文件举例创建的词库。import pandas as pddf = pd.read_excel('data/dic.xlsx',header=0)# ...原创 2018-12-24 14:09:13 · 1997 阅读 · 0 评论 -
使用递归神经网络识别垃圾短信
1.测试数据准备首先导入本地准备的spam文件import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing im...原创 2018-11-26 15:21:48 · 1402 阅读 · 1 评论 -
基于知识图谱+机器学习,搭建风控模型的项目落地
本项目主要实现逻辑如下:1.将测试数据分表格存入mysql数据库。2.设计知识图谱关系图,按照设计思路将node与对应的relationship存入neo4j数据库。3.设计一套有效的特征,提取特征用于机器学习模型进行训练,用以风控判断。4.将提取特征的cypher语句存入mysql,使用SpringBoot搭建微服务,用以读取api获取每个进件的特征矩阵。5.使用逻辑回归、GBDT,神...原创 2018-11-26 00:42:58 · 8104 阅读 · 13 评论 -
利用卷积神经网络识别手写数字
1.测试数据准备1.我们使用的测试数据,可以直接从keras.datasets.mnist导入import numpy as npimport seaborn as snsimport matplotlib.pyplot as pltplt.rcParams['figure.figsize']=(7,7)from keras.datasets import mnistfrom ke...原创 2018-11-23 17:29:51 · 3437 阅读 · 1 评论 -
使用深度神经网络完成对鸢尾花的分类
1.首先导入鸢尾花的数据import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdataset = pd.read_csv('Iris.csv')2.使用seaborn对数据进行观察import seaborn as snssns.pairplot(dataset.iloc[:, 1:6], hue=...原创 2018-11-22 15:48:12 · 10648 阅读 · 1 评论 -
常用cypher语句
1.查询简单查询查询10个Person节点match (n:Person) return n limit 10 查询Person节点与Phone节点中有HAS_PHONE关系match (n:Person)-[:HAS_PHONE]->(p:Phone) return n,p查询10条关系:Person节点与Phone节点中有HAS_PHONE关系,且Person节点...原创 2018-10-30 15:29:40 · 6269 阅读 · 2 评论 -
搭建一个小型的证券知识图谱
本项目主要实现逻辑如下:数据获取数据处理导入neo4j本项目需要用到两种数据源:一种是公司董事的信息,另一种是股票的行业以及概念信息。董事信息通过scrapy进行爬取,具体包含各个上市公司董事会成员姓名、职位、性别、年龄。股票的行业及概念信息通过Tushare信息进行获取。1.董事信息获取我们通过访问’http://pycs.greedyai.com/’ 来获取上市公司的董事信息...原创 2018-10-29 16:14:27 · 5943 阅读 · 14 评论 -
情感分析系统(预测用户评论积极或消极的概率)
1.数据预处理本部分将要完成数据的预处理过程,包括数据的读取,数据清洗,分词,以及把文本转换成tf-idf向量。在接下来的任务中,正面的情感我们标记为1, 负面的情感我们标记成0。import reimport jiebaimport numpy as npdef process_line(line): new_line = re.sub('([a-zA-Z0-9])',...原创 2018-10-25 17:49:39 · 7423 阅读 · 1 评论 -
scrapy抓取github用户邮箱功能的实现
实现的流程大概是这样:1.访问github每日精选项目 https://github.com/trending?since=daily2.使用selenium或requests完成登录操作3.查看每个项目Star的用户列表4.遍历所有用户,访问用户详情页5.如果有邮箱则保存邮箱,没有邮箱则不保存任何信息具体代码如下:spiders# -*- coding: utf-8 -*-...原创 2018-10-08 17:54:19 · 2002 阅读 · 0 评论 -
机器学习中,逻辑回归函数的简单使用
比如,现在要解决这样一个问题。现在有5组数据,已知有一个20岁年收入3W的人不会买车,有一个23岁年收入7W的人会买车,有一个31岁年收入10W的人会买车,有一个50岁年收入7W的人不会买车,有一个60岁年收入5W的人不会买车,试求一个28岁年收入8W的人,买车的概率是多少?我们用sklearn库中的linear_model可以很容易的得到答案代码实现过程如下:from sklearn im...原创 2018-10-04 23:18:27 · 439 阅读 · 0 评论 -
基于sklearn库,搭建一个简单的问答系统
第一部分: 在这部分里,首先需要去读取给定的文件,并把文件里的内容读取到list里面。这部分的任务主要需要文件IO操作方面的基本知识。# 读取文件def read_corpus(file): with open(file) as f: list = [] lines = f.readlines() for i in lines: ...原创 2018-09-30 14:58:21 · 2335 阅读 · 1 评论 -
scrapy 爬取淘宝商品评论信息
爬虫最后要达到的效果,是将某分类下,第一页的所有商品的评论保存至mysql中。具体会保存评论日期、评论id、评论内容、商品链接和商品id。爬虫部分代码# -*- coding: utf-8 -*-import scrapyimport reimport requestsimport mathimport jsonfrom scrapy.loader import ItemLoa...原创 2018-09-29 17:02:59 · 3048 阅读 · 8 评论 -
K近邻分类算法
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。下面以比较著名的鸾尾花(Iris)数据集举例,讲解K近邻算法首先我们先导入数据from sklearn.datasets import lo...原创 2018-09-19 15:59:25 · 4007 阅读 · 3 评论 -
pandas学习笔记
1.Series 系列series可以理解为一个一维的数据结构 常用的方法如下:import pandas as pds = pd.Series(list('AbCdE'))print(s)print(s.str.lower()) # 全部转成小写print(s.str.upper()) # 全部转成大写print(s.str.len()) #打印list长度...原创 2018-09-14 14:22:33 · 270 阅读 · 0 评论