机器学习
凌晨两点半还不回家
归云一去无踪迹,何处是前期。
展开
-
科学计算库Numpy
NumpyNumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!Numpy简单创建数组import numpy as np# 创建简单的列表a = [1, 2, 3, 4]# 将列表转换为数组b = ...转载 2018-08-03 21:37:12 · 283 阅读 · 0 评论 -
机器学习之决策树
"""决策树"""import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsfrom sklearn.tree import DecisionTreeClassifieriris=datasets.load_iris()X=iris.data[:,2:]y=iris.target...原创 2018-08-13 16:30:26 · 1983 阅读 · 1 评论 -
机器学习之集成学习和随机森林
"""集成学习"""import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRe...原创 2018-08-13 20:10:28 · 991 阅读 · 0 评论 -
机器学习之朴素贝叶斯
1. 概率论知识1.1 先验概率与后验概率假设有两个事件A和B: P(A) 为A的先验概率,它不考虑任何B事件的因素; P(B) 也为B的先验概率,它不考虑任何A事件的影响; P(A/B) 是B事件发生后,A事件发生的概率,此时A受到B的影响,故称为A的后验概率; P(B/A) 是A事件发生后,B事件发生的概率,同理,称为B的后验概率。1.2 条件概率要想求得p(A/B),...转载 2018-08-31 14:51:22 · 272 阅读 · 0 评论 -
机器学习之回归实践
三个数据集:8.Advertising.csv,TV,Radio,Newspaper,Sales1,230.1,37.8,69.2,22.12,44.5,39.3,45.1,10.43,17.2,45.9,69.3,9.34,151.5,41.3,58.5,18.55,180.8,10.8,58.4,12.96,8.7,48.9,75,7.27,57.5,32.8,23.5...原创 2018-09-01 23:17:57 · 332 阅读 · 0 评论 -
机器学习之主题模型
1. 共轭先验分布1.1 β分布在进入正题之前,先来了解一下beta分布。Γ函数 Γ函数是阶乘在实数上的推广。β分布 Beta分布的概率密度函数为:f(x) = 其中系数B为: Γ函数可以堪称是阶乘的实数域推广。 Beta分布的期望可以定义为: 1.2 共轭先验分布回顾贝叶斯分类算法,通过先验概率和条件概率去计算求得后验概率。如下公式,如果目的是去找...转载 2018-09-04 21:59:52 · 1097 阅读 · 0 评论 -
机器学习之EM算法
EM算法的英文全称是Expectation Maximization Algorithm,也就是求期望最大化,也就是我们常说的目标函数求最大值的算法。EM算法,直观的说,就是有一堆未知的数据(比如一些特征值),这些数据可能来自于不同的类别,而你想知道的是每一个数据都来自于哪个类别,并且知道来自于这个类别的概率是多少。而在EM算法看来,每一个类别中的数据必然服从了某个固有的分布(如二项分布,正态分布...转载 2018-08-30 13:27:49 · 1273 阅读 · 0 评论 -
决策树
决策树可以用于解决分类问题,也可以用于解决连续型的回归预测问题,是业界常说的机器学习的十大算法之一。决策树也属于监督学习的一种。在教科书里必须会出现的,常用的决策树大概有3种,分别是C4.5,ID3,CART算法。本章中都会一一详细讲述。1. 决策树的结构决策树是由节点和有向边组成。节点分两种类型:内部节点与叶子节点。 内部节点:表示的是一个特征 叶子节点:表示的是一个类。 也就...转载 2018-09-02 13:06:15 · 468 阅读 · 0 评论 -
决策树实践
数据集:8.iris.data5.1,3.5,1.4,0.2,Iris-setosa4.9,3.0,1.4,0.2,Iris-setosa4.7,3.2,1.3,0.2,Iris-setosa4.6,3.1,1.5,0.2,Iris-setosa5.0,3.6,1.4,0.2,Iris-setosa5.4,3.9,1.7,0.4,Iris-setosa4.6,3.4,1.4,...原创 2018-09-02 19:54:31 · 1155 阅读 · 0 评论 -
机器学习之主成分分析PCA
主成分分析:主成分分析 ( Principal Component Analysis , PCA )是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主成分的目的是将高纬数据投影到较低维空间。给定 n 个变量的 m个观察值,形成一个 n *m 的数据矩阵,n通常比较大。对于一个由多个变量描述的复杂事物,认识难度会很大,于是我们可以抓住事...原创 2018-08-07 19:30:52 · 340 阅读 · 0 评论 -
机器学习基础
1. 数据数据整体叫数据集(data set).每一行数据称为一个样本(sample)除最后一列,每一列表达样本的一个特征(feature)最后一列,称为标记(label)2.分类2.1.二分类如:判断邮件是垃圾邮件;不是垃圾邮件 判断发送给客户信用卡有风险;没有风险 判断病患良性肿瘤;恶性肿瘤 2.2 多分类如:数字识别...原创 2018-08-02 20:53:54 · 213 阅读 · 0 评论 -
matplotlib数据可视化
首先导入matplotlib:import matplotlib as mplimport matplotlib.pyplot as plt三角函数图:x=np.linspace(0,10,100)siny=np.sin(x)cosy=np.cos(x)plt.plot(x,siny,label='sin(x)')plt.plot(x,cosy,color='red',...原创 2018-08-04 12:50:22 · 165 阅读 · 0 评论 -
最基础的分类算法-KNN
1.K近邻算法基础import numpy as npimport matplotlib.pyplot as pltfrom math import sqrtfrom collections import Counter"""输入原始数据"""raw_data_X=[[3.39,2.33], [3.11,1.78], ...原创 2018-08-05 14:46:58 · 471 阅读 · 0 评论 -
机器学习之多项式回归与模型泛化
1.什么是多项式回归多项式回归(Polynomial Regression)是研究一个因变量与一个或多个自变量间多项式的回归分析方法。如果自变量只有一个时,称为一元多项式回归;如果自变量有多个时,称为多元多项式回归。 在一元回归分析中,如果依变量y与自变量x的关系为非线性的,但是又找不到适当的函数曲线来拟合,则可以采用一元多项式回归。 多项式回归的最大优点就是可以通过增加x的高次项对实测点...原创 2018-08-09 17:48:09 · 607 阅读 · 0 评论 -
机器学习之线性回归算法(Linear Regression)
1.线性回归算法 2.简单线性回归算法 3.最小二乘法 4.简单线性回归算法的实现import numpy as npimport matplotlib.pyplot as pltx=np.array([1.,2.,3.,4.,5.])y=np.array([1.,3.,2.,3.,5.])x_mean=np.me...原创 2018-08-05 21:14:56 · 1600 阅读 · 0 评论 -
机器学习之逻辑回归(Logistic Regression)
"""逻辑回归中的Sigmoid函数"""import numpy as npimport matplotlib.pyplot as pltdef sigmoid(t): return 1/(1+np.exp(-t))x=np.linspace(-10,10,500)y=sigmoid(x)plt.plot(x,y)plt.show() 结果:...原创 2018-08-09 20:59:06 · 1013 阅读 · 1 评论 -
机器学习之梯度下降法(Gradient Descent)
1.梯度下降法首先梯度下降法不是一个机器学习算法,而是一种基于搜索的最优化方法。它的作用是最小化一个损失函数。梯度上升法则是最大化一个效用函数。导数可以代表J 增大的方向,如上图一点导数为负值,说明J增大的方向是沿着X轴负方向。代表移动的步长,一直移动到导数为0. 模拟梯度下降法:"""模拟梯度下降法"""import numpy as npim...原创 2018-08-07 15:02:37 · 7011 阅读 · 0 评论 -
分类算法的评价
"""实现混淆矩阵,精准率和召回率"""import numpy as npfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegressiondigits=datase...原创 2018-08-11 20:39:17 · 521 阅读 · 0 评论 -
机器学习之支撑向量机SVM
1.SVM的原理与目标1.1 分割超平面来看上图,假设C和D是两个不想交的凸集,则存在一个超平面P,这个P可以将C和D分离。这两个集合的距离,定义为两个集合间元素的最短距离。做集合C和集合D最短线段的垂直平分线。这条垂直平分线就是分割超平面。在两个集合之间,可以有无数条分割超平面,使其将两个集合分离,但是如何定义与找出两个集合的“最优”分割超平面呢?可以这样做: ...原创 2018-08-12 16:35:53 · 1950 阅读 · 1 评论 -
机器学习EM实践
EM.py# !/usr/bin/python# -*- coding:utf-8 -*-import numpy as npfrom scipy.stats import multivariate_normalfrom sklearn.mixture import GaussianMixturefrom mpl_toolkits.mplot3d import Axes3Dim...原创 2018-09-15 10:58:10 · 334 阅读 · 0 评论