算法
乒乒乓乓丫
转行咯
展开
-
常见的机器学习算法(十一)PCA
直接调用sklearn的API:from sklearn.decomposition import PCA #PCA特征降维#train_reduced = PCA.fit_transform(train)test_reduced = PCA.transform(test)完整代码:from sklearn.datasets import load_digitsfrom sklearn.decomposition import PCAimport matpl原创 2020-05-26 17:24:06 · 641 阅读 · 0 评论 -
常见的机器学习算法(十)决策树、随机森林、极限树
直接调用sklearn的API:from sklearn import tree #决策树分类器#module = tree.DecisionTreeClassifier(criterion='gini')module.fit(x, y)module.score(x, y)module.predict(test)from sklearn.datasets import load_irisfrom sklearn.tree .原创 2020-05-26 15:19:51 · 1552 阅读 · 0 评论 -
常见的机器学习算法(九)朴素贝叶斯分类器
直接调用sklear的API:from sklearn.naive_bayes import MultinomialNB #朴素贝叶斯分类器#module = MultinomialNB()module.fit(x, y)predicted = module.predict(test)原创 2020-05-26 08:55:02 · 811 阅读 · 0 评论 -
常见的机器学习算法(八) SVM支持向量机算法
import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasets, linear_model, svm, model_selection#数据集:鸢尾花数据集'''数据数 150数据类别 3 (setosa, versicolor, virginica)每个数据包含4个属性:sepal萼片长度、萼片宽度、petal花瓣长度、花瓣宽度'''def load_data_classification().原创 2020-05-25 23:43:34 · 903 阅读 · 0 评论 -
常见的机器学习算法(七) Softmax回归算法
Softmax 回归算法,又称为多项式或多类别的 Logistic 回归算法。Softmax 回归模型有以下几个特点: 对于每个类别,都存在一个独立的、实值加权向量 这个权重向量通常作为权重矩阵中的行。 对于每个类别,都存在一个独立的、实值偏置量b 它使用 softmax 函数作为其激活函数 它使用交叉熵( cross-entropy )作为损失函数 用 softmax 函数作为激活函数,将得分值转化为概率值形式。属于类别 k 的输入向量的概率值为:.原创 2020-05-25 13:47:22 · 1848 阅读 · 0 评论 -
常见的机器学习算法(六) 简单的神经网络
实现一个简单的神经网络架构,将 2 维的输入向量映射成二进制输出值。我们的神经网络有 2 个输入神经元,含 6 个隐藏神经元隐藏层及 1 个输出神经元。我们将通过层之间的权重矩阵来表示神经网络结构。在下面的例子中,输入层和隐藏层之间的权重矩阵将被表示为,隐藏层和输出层之间的权重矩阵为。除了连接神经元的权重向量外,每个隐藏和输出的神经元都会有一个大小为 1 的偏置量。我们的训练集由 m = 750 个样本组成。因此,我们的矩阵维度如下: 训练集维度: X = (750,2) 目标维度:原创 2020-05-25 09:34:56 · 1025 阅读 · 0 评论 -
常见的机器学习算法(五) K均值聚类算法
原理:1. 初始化聚类中心,或者在输入数据范围内随机选择,或者使用一些现有的训练样本(推荐)2. 直到收敛将每个数据点分配到最近的聚类。点与聚类中心之间的距离是通过欧几里德距离测量得到的。 通过将聚类中心的当前估计值设置为属于该聚类的所有实例的平均值,来更新它们的当前估计值。目标函数:聚类算法的目标函数试图找到聚类中心,以便数据将划分到相应的聚类中,并使得数据与其最接近的聚类中心间的距离尽可能小。给定一组数据X1,...,Xn和一个正数k,找到k个聚类中心C1,...,Ck并最小化目原创 2020-05-24 22:42:58 · 1182 阅读 · 0 评论 -
常见的机器学习算法(四) K最邻近类别
import numpy as npfrom sklearn.model_selection import train_test_splitimport matplotlib.pyplot as pltfrom sklearn.datasets import load_digits#数字数据集np.random.seed(123)digits = load_digits()x, y = digits.data, digits.targetx_train, x_test, y_train, .原创 2020-05-24 21:22:59 · 530 阅读 · 0 评论 -
常见的机器学习算法(三)感知器
感知器是一种二元的线性分类器,其使用 d- 维超平面来将一组训练样本( d- 维输入向量)映射成二进制输出值(0、1)。使用感知器的学习规则来计算权重向量和偏置量的更新值:更新权重向量和偏置量:import numpy as npfrom sklearn.model_selection import train_test_splitimport matplotlib.pyplot as pltfrom sklearn.datasets import make_blobsnp.原创 2020-05-24 14:56:22 · 547 阅读 · 0 评论 -
常见的机器学习算法(二)逻辑回归
与线性回归不同,Logistic 回归没有封闭解。但由于损失函数是凸函数,因此我们可以使用梯度下降法来训练模型。我们希望模型得到的目标值概率落在 0 到 1 之间。因此在训练期间,我们希望调整参数,使得模型较大的输出值对应正标签(真实标签为 1),较小的输出值对应负标签(真实标签为 0 )。这在损失函数中表现为如下形式:对权重向量和偏置量,计算其对损失函数的梯度。更新权重和偏置值:import numpy as npfrom sklearn.model_selection .原创 2020-05-24 14:26:43 · 588 阅读 · 0 评论 -
常见的机器学习算法(一)线性回归
线性回归模型可以使用两种方法进行训练:① 梯度下降法;② 正态方程(封闭形式解):其中 X 是一个矩阵,其形式为,包含所有训练样本的维度信息。而正态方程需要计算的转置。这个操作的计算复杂度介于)和之间,而这取决于所选择的实现方法。因此,如果训练集中数据的特征数量很大,那么使用正态方程训练的过程将变得非常缓慢。(一)梯度下降法1.用0 (或小的随机值)来初始化权重向量和偏置量2.计算输入的特征与权重值的线性组合,这可以通过矢量化和矢量传播来对所有训练样本进行处理:其中 X 是所有训原创 2020-05-24 09:49:06 · 772 阅读 · 0 评论 -
统计学习(第二章)李航 感知机
二分类模型原创 2020-05-22 21:08:24 · 223 阅读 · 0 评论 -
统计学习(第一章)李航 最小二乘拟合正弦函数,正则化
"用目标函数y=sin2πx, 加上一个正态分布的噪音干扰,用多项式去拟合"import numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import leastsq#最小二乘def real_f(x):#目标函数 return np.sin(2*np.pi*x)def fit_f(p, x):#多项式 f = np.poly1d(p)#多项式函数 return f(x)def residua.原创 2020-05-22 18:26:43 · 2012 阅读 · 0 评论 -
能被2、3、4、5、6、7、8、9等数整除的数的特征
性质1:如果数a、b都能被c整除,那么它们的和(a+b)或差(a-b)也能被c整除。性质2:几个数相乘,如果其中有一个因数能被某一个数整除,那么它们的积也能被这个数整除。能被2整除的数,个位上的数能被2整除(偶数都能被2整除),那么这个数能被2整除能被3整除的数,各个数位上的数字和能被3整除,那么这个数能被3整除能被4整除的数,个位和十位所组成的两位数能被4整除,那么这个数能被4整...转载 2019-07-17 23:24:57 · 2600 阅读 · 0 评论