Machine_Learning
文章平均质量分 54
gaoyishu91
有坚忍不拔之志
展开
-
《人工智能工程师》树模型初步与进阶笔记
1.决策树模型决策树模型基于‘树的结构’进行决策。每个内部节点对应某个属性的‘测试’。每个分支对应于某个测试的一种可能结果(即该属性上的某个取值)。每个‘叶节点’对应于一个‘预测结果’。学习过程:通过对训练样本的分析来确定‘划分属性’。(内部节点的属性)预测过程:将测试事例从根节点开始,沿着划分属性所构成的‘判定测试序列’下行,直到叶节点。2.算法流程和最佳属性选择决策树的基本流程:总体流程:分而...原创 2018-03-07 21:31:29 · 294 阅读 · 0 评论 -
机器学习之特征工程
什么是特征工程特征:从数据中抽取出来对结果预测有用的信息。那么,现在有很多的数据,并不是每一个数据都有用,需要抽取。特征工程:使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好作用的过程。数据采集采集那些对预测结果有帮助的信息。能影响结果的,和结果有关联的,有表面的也有内部的,需要去辨别。数据清洗去掉脏数据。这个过程很花时间,但是能帮助你对业务的理解变得透彻...原创 2018-04-25 11:10:28 · 351 阅读 · 0 评论 -
numpy基本操作
#点乘import numpy as npa = np.arange(12).reshape(3,4) #0-11,#一共12个数,分成了三行四列的二维矩阵b = np.arange(10,14,1).reshape(4,1) #10-13,以1为间隔分成4行一列的二维矩阵print(a.dot(b)) #点乘,就是数学中的矩阵乘法,前行乘以后列print(np.exp(a))...原创 2018-05-03 11:59:48 · 182 阅读 · 0 评论 -
Kaggle(一):Titanic
虽然理论知识学了很多,但是实际操作还没有积累,现在每天积累一题。---------------------------不积跬步无以至千里---------------------------------------Titanic的数据分为test.csv和train.csv,每一行row代表一个乘客的详细信息,每一列column代表一个feature,最后一列是存活信息,1代表存活,0代表没存活。...原创 2018-04-25 23:39:16 · 213 阅读 · 0 评论 -
《机器学习工程师》朴素贝叶斯
贝叶斯公式 P(a|b) = P(a) * P(b|a) / P(b)P(a)是先验概率;你提前知道一个袋里有5个球,3红2白;那么,白球概率是0.4,红球概率是0.6.这是已知分布情况下的概率;P(b|a)是a情况下,b发生的概率;P(b)是发生b的总概率,注意这个不等于一,等于发生b的总数,不是发生a的。朴素贝叶斯wiki的例子:如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定...原创 2018-05-04 12:08:56 · 133 阅读 · 0 评论 -
kaggle(二):最大利润问题
这是一个监督学习求解最大利润的题目。给很多人去放款贷款,目的是预测这些贷款的人会不会还款;如果还,标签为1,说明银行预测正确,可以得到利润;如果不还,标签为0,银行不可以得到利润。模型预测之后,和真实的标签去对比,评估模型的好坏。这道题牵扯到了比kaggle(一)更多的属性特征和样本数,(二)更多的数据清洗操作;(三)模型评估指标的应用。# coding: utf-8import pandas ...原创 2018-05-05 00:08:58 · 642 阅读 · 0 评论 -
《人工智能工程师》逻辑回归 LogisticRegression
在逻辑回归里,不去拟合样本分布,而是确定决策边界。sigmoid函数sig = 1.0/(1 + np.exp(-x))为什么需要这个函数?这个函数有个特点,当x<0时,0<y<0.5;x=0时,y=0.5;x>0时,1>y>0.5。那么,假设我想对数据做二分类,首先从数据讲起。1.数据是m行n列的数据(xij, i=1..m, j=1..n),那么,样本1是向...原创 2018-04-28 00:25:26 · 147 阅读 · 0 评论 -
《机器学习工程师》无监督算法3_关联规则挖掘
0000原创 2018-05-20 01:14:30 · 453 阅读 · 0 评论 -
机器学习工程师--隐马尔科夫链应用和主题模型
词性标注词性标注应用:给一个句子标注词性。为什么:预处理句子,使得划分句子简单。猜词简单。马尔科夫链在句子词性中的作用:对于英文句子而言,遵循一定的语法。比如,副词后面接形容词或者副词或者动词,那么,对于这个句子来说,副词i后面接的是adj或者v的概率是不同的,如果后面是adj,那adj后面是名词还是and或者or的概率也是不同的,那么,每个词前后之间形成的关系形成了一个马尔科夫链,这个马尔科夫链...原创 2018-06-09 20:06:29 · 482 阅读 · 0 评论 -
lightGBM的简单用法
import lightgbm as lgbfrom sklearn import datasetsimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import mean_squared_error file ...原创 2018-07-11 09:58:56 · 2394 阅读 · 0 评论 -
《机器学习工程师》无监督学习
聚类 clustering是什么?1.无监督学习(不需要标签,就是1和0)2.按照相似性和结构性来对数据进行组织。数据压缩,图像分割,数据层次化组织,数据预分类。分类?2类分割型聚类或者平铺型聚类;层次型聚类。应用1.数据压缩 2.图像分割 3.数据层次化组织 K-means/K-medoids...原创 2018-05-02 17:53:24 · 175 阅读 · 0 评论 -
特征工程和数据预处理常用工具和方法
import pandas as pdtrain_data = pd.read_csv("train.csv")train_data.shape #应该是给了property(891, 12)train_data.describe()train_data["Age"].fillna(value=train_data["Age"].mean())terfrom sklea...原创 2018-04-20 00:50:35 · 2385 阅读 · 0 评论 -
《人工智能工程师》决策树模型:剪枝与过拟合
分支过多造成过拟合剪枝:主动去掉分支降低过拟合的风险,增强泛化能力。基本策略:预剪枝和后剪枝。一个提前终止生长,一个树形成之后再剪。用留出法进行评估。预剪枝:先确定根节点,在验证集上确定哪个属性是最佳的。先不划分,就是通过标签去算精度看看得分多少;若划分,就看划分后的精度,如果精度上升就可以。然后形成划分后的叶节点和包含的子集,再依据子集的属性进行下面的划分。后剪枝:先考虑最后一个分支,方便,容易...原创 2018-03-08 17:40:50 · 657 阅读 · 0 评论 -
《人工智能工程师》回归树模型
回归树模型初步当数据不是离散型变量而是数值或者连续值时,可以用回归树模型进行划分。回归树模型的本质是对样本空间的划分。划分的区域不相交的子区域。回归树模型的构建方法注意:区域Rj中的样本的结果是所有的样本点取平均得到的结果。RSS的偏差,这个是指预估结果和真实结果的差异。yi是真实值,yRj是指预估值(最小二分法)。为什么计算量大?空间划分有n种,那n种划分方式都要这么做就很难了。那么,要找到一个...原创 2018-03-11 14:23:30 · 553 阅读 · 0 评论 -
《人工智能》工程师:最大熵和EM算法
最大熵信息:i(x) = -log(p(x)) 概率p是对确定性的度量,那么信息就是对不确定性的度量。熵:是对随机事件平均不确定性的度量。H(X) = -1*np.sum(p(x)*np.log(p(x))平均互信息:信息增益I(X;Y) = np.sum(P(x,y)*(np.log(P(x,y)/P(x)P(y)))最大熵模型熵最大的事物,最可能接近它的真实状态。熵最大的模型就是最好的模型。最...原创 2018-03-19 11:09:19 · 495 阅读 · 0 评论 -
机器学习实战-kNN章节
这是第一章的内容我基本会每天不断的学习和更新,希望大家能够和我讨论,指出我的不足和问题。本章内容主要是说用kNN去做判断。kNN是计算训练样本和测试样本相同属性之间的值的欧几里得距离的远近,从而判断应给该测试样本什么标签。代码中涉及基本的读入数据,转换数据成numpy格式,算法判断。都是很基本的。from numpy import *import operatordef createData...原创 2018-04-07 16:29:47 · 115 阅读 · 0 评论 -
第四课 kaggle自然语言处理
NLTK自然语言处理库,自带语料库,词性分类库。要记得安装语料库。import nltknltk.download()Tokenize 拆句子,拆小英文分词import nltksentence = 'hello world'tokens = nltk.word_tokenize(sentence)tokens社交语言的分词 表情符号需要用正则表达式去匹配中文分词 启发式Heuristic...原创 2018-04-14 17:30:48 · 1377 阅读 · 0 评论 -
《人工智能》工程师:支持向量机
支持向量机是一个有监督的二分类线性模型。核心方法:最大间隔分类器。与逻辑回归的对比:区别:逻辑回归输出的是一个概率模型,比如大于0.5分类为正,小于分类为负。支持向量机是确定的结果,输出是1或者-1。sgn(Wt) = -1 if Wt < 0;sgn(Wt) = 1 if Wt >= 0。损失函数的区别:L( Wt) = - y * logp(y=1|x) - (1-y)log(1-...原创 2018-03-27 17:56:27 · 385 阅读 · 0 评论 -
kaggle金融的数据处理方式
kaggle金融数据的解决如何设置x和y拿股票来说,对于股票的众多属性都可以变成一个向量的形式。这个向量x = ( x1, x2, x3....xn) 注意,x1也是一个向量,这个向量是纵向的,有m个数值代表m个样本。x每一个数据里面不同的值,里面的值就是取值,可以来自于不同时间,或者不同公司。y代表各种触发状态。例如: X: [ Open, Prev Close, Big, Ask, Beta....原创 2018-03-28 17:46:23 · 1316 阅读 · 0 评论 -
特征工程初步学习
基本数据处理1.缺失值的填充df_train['Age'].fillna(value = df_train['Age'].mean()) #df_train数据包含关键字age的column,中间的缺失值用该列平均值填充。用sklearn的包from sklearn.preprocessing import Imputerhelp(Imputer)Imputation transformer ...原创 2018-04-17 00:55:23 · 139 阅读 · 0 评论 -
python面向对象编程
用面向对象的方法进行数据的处理昨天学习了面向对象的基础,尝试去用该思想去预处理机器学习的数据。基本思路是往函数中输入数据文件名称和分配的比例ratio,输出测试集,测试标签,训练集,训练标签。from numpy import * from sklearn import svm #库不能写在函数中。class FunSVm(): #没参数 def __init__(self...原创 2018-04-11 20:45:28 · 184 阅读 · 0 评论 -
从sql数据库中提取table并转换成numpy格式数据输出
import MySQLdbimport numpy as np#get data from sql databasesclass database(): def __init__(self): self.conn = MySQLdb.connect( host='127.0.0.1', user='root', ...原创 2018-07-11 11:32:19 · 1374 阅读 · 0 评论