文章目录

  • 算法类别
    • 回归算法-线性回归分析
    • 线性回归
    • 损失函数(误差大小)
    • 最小二乘法之正规方程
    • 损失函数直观图(单变量举例)
    • 最小二乘法之梯度下降
    • 正规方程与梯度下降的对比
    • LinearRegression、SGDRegressor
    • 线性回归实例
    • 波士顿房价数据案例分析流程
    • 回归性能评估
    • sklearn回归评估API
    • mean_squared_error
    • 1、LinearRegression与SGDRegressor评估
    • 问题:训练数据训练的很好啊,误差也不大,为什么在测试集上 面有问题呢?
    • 过拟合与欠拟合
    • 欠拟合原因以及解决办法
    • 过拟合原因以及解决办法
    • L2正则化
    • 带有正则化的线性回归-Ridge
    • Ridge
    • 线性回归 LinearRegression与Ridge对比
    • 模型保存
    • 分类算法-逻辑回归
    • sigmoid函数
    • 逻辑回归公式
    • 逻辑回归的损失函数、优化
    • 均方误差和逻辑回归比较
    • sklearn逻辑回归API
    • LogisticRegression
    • LogisticRegression回归案例
    • 良/恶性乳腺癌肿数据
    • pandas使用
    • 良/恶性乳腺癌肿分类流程
    • LogisticRegression总结
    • 同样是分类问题,朴素贝叶斯可以对文本进行分类,两者的异同
    • 多分类问题
    • 非监督学习的特点?
    • 非监督学习(unsupervised learning)
    • k-means步骤
    • k-means API
    • Kmeans
    • k-means对Instacart Market用户聚类
    • Kmeans性能评估指标
    • Kmeans性能评估指标API
    • silhouette_score
    • Kmeans总结

算法类别

1、回归算法-线性回归分析

2、线性回归实例

3、回归性能评估

4、分类算法-逻辑回归

5、逻辑回归实例

6、聚类算法-kmeans

7、k-means实例

回归算法-线性回归分析

期末成绩:0.7×考试成绩+0.3×平时成绩

西瓜好坏:0.2×色泽+0.5×根蒂+0.3×敲声
试图学得一个通过属性的线性组合来进行预测的函数:
f(x)=w_1x_1+w_2x_2+…+w_dx_d+b

w为权重,b称为偏置项,可以理解为:w0×1,可以理解为最初的权重
对于一些简单的数据可以轻易的通过分布图看出结果

import matplotlib.pyplot as plt
plt.figure(figsize=(10,10))
plt.scatter([60,72,75,80,83],[126,151.2,157.5,168,174.3])
plt.show()


那如果是多特征,就需要其他方法了

线性回归

定义:线性回归通过一个或者多个自变量与因变量之间之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合

一元线性回归:涉及到的变量只有一个
多元线性回归:涉及到的变量两个或两个以上,即多个特征作用的结果

预测结果与真实值是有一定的误差

特征与权重的计算
在这里要避免与列表的计算混淆
列表

a=[[1,2,3,5],[1,2,3,4]]
b=[2,2,2,2]
np.multiply(a,b)


列表

b=[[2]]
#数组运算并非所希望的结果
np.multiply(a,b)


矩阵

b=[[2],[2],[2],[2]]
np.dot(a,b)

损失函数(误差大小)

目的是希望真实值和预测值之间的误差最小,那么就需要一个可以评价误差的函数
求每个样本距离方差和,来评价

如何去求模型当中的W,使得损失最小?
(目的是找到最小损失对应的W值)

最小二乘法之正规方程

注:X,y代表着什么?

X为特征值矩阵,y为目标值矩阵
x为每个样本的特征值
y为他们的结果

为什么会有-1?
这代表了这个矩阵的逆
原矩阵x逆=单位矩阵

缺点:当特征过于复杂,求解速度太慢
对于复杂的算法,不能使用正规方程求解(逻辑回归等)

损失函数直观图(单变量举例)

往往大数据情况下,多特征,多数据不会如此平滑,正轨方程几乎不会得到结果
想要一次求出权重很难

最小二乘法之梯度下降

我们以单变量中的w0,w1为例子:

理解:沿着这个函数下降的方向找,最后就能找到山谷的最低点,然后更新W值

使用:面对训练数据规模十分庞大的任务

正规方程与梯度下降的对比

sklearn线性回归正规方程、梯度下降API
sklearn.linear_model.LinearRegression
正规方程

sklearn.linear_model.SGDRegressor
梯度下降

LinearRegression、SGDRegressor

sklearn.linear_model.LinearRegression()
普通最小二乘线性回归
coef_:回归系数
sklearn.linear_model.SGDRegressor( )
通过使用SGD最小化线性模型
coef_:回归系数

线性回归实例

1、sklearn线性回归正规方程、梯度下降API
2、波士顿房价数据集分析流程

波士顿房价数据案例分析流程

伪代码
1、波士顿地区房价数据获取
lb=load_boston()
2、波士顿地区房价数据分割
x_train,x_test,y_train,y_test=train_test_split(lb.data,lb.target,test_size=0.25)
print(lb.feature_names)
print(x_test)
查看特征矩阵的值
数值并不规则,需要进行标准化才能吸纳所有特征

3、训练与测试数据标准化处理
训练集标准化是为了使用有效的特征,为什么目标值也需要标准化?
这和分类模型不同,分类的类别是固定的,这里的结果是连续值,预测的结果肯定和真实值有差异,直接相等是行不通的,应该计算的是预测值和真实值之间的均方方差来判断差距
因为目标值的差异也很大,目的是为了求出权重模型
std_x=StandardScaler()
std_y=StandardScaler()
x_train=std_x.fit_transform(x_train)
x_test=std_x.fit_transform(x_test)

1.9最新版本对标准化api有规定,需要输入的数据是二维的,可以使用y_train.reshap(-1,1 )对其进行转化
前面是样本数,后面是目标值的数,-1代表对于特征值未知,1代表只有一个目标值
总结标准化转换器如下。传入数据
0.18 ⼆维,1维都可以
0.19 转换器,estimator 要求数据必须是⼆维

y_train=std_y.fit_transform(y_train)
y_test=std_y.fit_transform(y_test)

4、使用最简单的线性回归模型LinearRegression和梯度下降估计SGDRegressor对房价进行预测
线性回归模型预测
lr=LinearRegression()
lr.fit(x_train,y_train)
print(lr.coef_)
权重参数

预测结果
y_lr_predict=lr.predict(x_test)
得到的值都是非常小的,因为被标准化了
y_lr_predict=std_y.inverse_transform(y_lr_predict)
想要得到标准化之前的数据就翻转一下

计算正规方程的均方误差
print(mean_squared_error(y_lr_predict,y_test))
0.4155910316305712

梯度下降算法进行预测
需要指定学习率,可以默认
sgd=SGDRegressor()
sgd.fit(x_train,y_train)
print(sgd.coef_)
回归系数

预测结果
y_sgd_predict=std_y.inverse_transform(sgd.predict(x_test))
print(y_sgd_predict)

求均方误差
print(mean_squared_error(y_sgd_predict,y_test))
0.4464573108886242
5. 得到预测结果后还需要计算他们的均方误差是多少来判断差距
为什么不使用准确率?
这不是分类,预测和结果肯定有差异,只能使用方差来判定差距
从结果来看,sgd比正规方程也好不到哪里,实际上如果特征少,数据少,要根据实际结果选择算法模型
完整代码

def mylinear():"""线性回归直接预测房子价格:return: None"""# 获取数据lb = load_boston()# 分割数据集到训练集和测试集x_train, x_test, y_train, y_test = train_test_split(lb.data, lb.target, test_size=0.25)print(y_train, y_test)# 进行标准化处理(?) 目标值处理?# 特征值和目标值是都必须进行标准化处理, 实例化两个标准化APIstd_x = StandardScaler()x_train = std_x.fit_transform(x_train)x_test = std_x.transform(x_test)# 目标值std_y = StandardScaler()y_train = std_y.fit_transform(y_train)y_test = std_y.transform(y_test)# 预测房价结果model = joblib.load("./tmp/test.pkl")y_predict = std_y.inverse_transform(model.predict(x_test))print("保存的模型预测的结果:", y_predict)# estimator预测# 正规方程求解方式预测结果# lr = LinearRegression()## lr.fit(x_train, y_train)## print(lr.coef_)# 保存训练好的模型# joblib.dump(lr, "./tmp/test.pkl")# # 预测测试集的房子价格# y_lr_predict = std_y.inverse_transform(lr.predict(x_test))## print("正规方程测试集里面每个房子的预测价格:", y_lr_predict)## print("正规方程的均方误差:", mean_squared_error(std_y.inverse_transform(y_test), y_lr_predict))## # 梯度下降去进行房价预测# sgd = SGDRegressor()## sgd.fit(x_train, y_train)## print(sgd.coef_)## # 预测测试集的房子价格# y_sgd_predict = std_y.inverse_transform(sgd.predict(x_test))## print("梯度下降测试集里面每个房子的预测价格:", y_sgd_predict)## print("梯度下降的均方误差:", mean_squared_error(std_y.inverse_transform(y_test), y_sgd_predict))## # 岭回归去进行房价预测# rd = Ridge(alpha=1.0)## rd.fit(x_train, y_train)## print(rd.coef_)## # 预测测试集的房子价格# y_rd_predict = std_y.inverse_transform(rd.predict(x_test))## print("梯度下降测试集里面每个房子的预测价格:", y_rd_predict)## print("梯度下降的均方误差:", mean_squared_error(std_y.inverse_transform(y_test), y_rd_predict))return None

回归性能评估

(均方误差(Mean Squared Error)MSE) 评价机制:
类似方差,只不过减的不是平均值

sklearn回归评估API

sklearn.metrics.mean_squared_error

mean_squared_error

mean_squared_error(y_true, y_pred)
均方误差回归损失
y_true:真实值
y_pred:预测值
return:浮点数结果

注:真实值,预测值为标准化之前的值

1、LinearRegression与SGDRegressor评估

2、特点:线性回归器是最为简单、易用的回归模型。
从某种程度上限制了使用,尽管如此,在不知道特征之间关系的前提下,我们仍然使用线性回归器作为大多数
系统的首要选择。
小规模数据:LinearRegression(不能解决拟合问题)以及其它
大规模数据:SGDRegressor

问题:训练数据训练的很好啊,误差也不大,为什么在测试集上 面有问题呢?

过拟合与欠拟合

过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在训练数据外的数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)

欠拟合:一个假设在训练数据上不能获得更好的拟合, 但是在训练数据外的数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)

欠拟合原因以及解决办法

原因:
学习到数据的特征过少
解决办法:
增加数据的特征数量

过拟合原因以及解决办法

原因:
原始特征过多,存在一些嘈杂特征,
模型过于复杂是因为模型尝试去兼顾
各个测试数据点
解决办法:
进行特征选择,消除关联性大的特征(很难做)
交叉验证(让所有数据都有过训练)
正则化(了解)
对线性模型训练会变成复杂模型
模型复杂的原因:数据的特征和⽬标值之间的关系不仅仅是线性关系

这里降低影响是降低权重,至于x^4是本身的数据,是不能改的

怎么发现出现了拟合误差?
从交叉验证中看出来,观察法,

交叉验证:训练集结果:表现不⾏| 结果99%,2.0误差
测试集:表现不⾏ | 结果89%,10.0误差
⽋拟合 | 过拟合

L2正则化

不断的调整权重逼近最合适的参数
作用:可以使得W的每个元素都很小,都接近于0
优点:越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象
l2和决策树都有特征选择的过程
特征选择:过滤式:低⽅差特征
嵌⼊式:正则化,决策树,神经⽹络

回归:解决过拟合的⽅式
线性回归:LInearRegression 容易出现过拟合,为了把训练集数据表现更好
L2正则化:Ridge:岭回归 带有正则化的线性回归 解决过拟合

带有正则化的线性回归-Ridge

sklearn.linear_model.Ridge

Ridge

sklearn.linear_model.Ridge(alpha=1.0)
具有l2正则化的线性最小二乘法

alpha:正则化力度,超参数
coef_:回归系数
观察正则化程度的变化,对结果的影响?
随着正则化力度的不断加强,权重越来越 倾向于0

线性回归 LinearRegression与Ridge对比

岭回归:回归得到的回归系数更符合实际,更可靠。另外,能让估计参数的波动范围变小,变的更稳定。在存在病态数据偏多的研究中有较大的实用价值。

模型保存

对于模型,训练好后可以保留下来,下次可以直接使用
因为需要的仅仅是模型的参数而已

分类算法-逻辑回归

逻辑回归是解决二分类问题的利器
比如广告投放后预测用户是否会点击,可以得到概率,以此来提高广告点击率

sigmoid函数

特点是可以将任何大小的数都变成【0,1】之间的数据,这样就可以理解为概率值,方便解析

逻辑回归公式


输出:[0,1]区间的概率值,默认0.5作为阀值
注:g(z)为sigmoid函数
e=2.71

逻辑回归的损失函数、优化

与线性回归原理相同,但由于是分类问题,损失函数不一样,只能通过梯度下降求解
对数似然损失函数:

完整的损失函数:

如何理解这个完整的损失函数呢?
像不像信息熵?x*log(概率)
结果越小标明越接近最终结果
举个例子
有四个样本,分为两类,
阈值设定为0.5,然后逻辑回归预测每个样本属于哪一类的类别得到预测为每个分类的概率

最后根据损失函数求出预测的损失值
损失值当然是越小越好,这代表信息熵对于目标更加的笃定,机器学习的过程就是将损失函数值不断企图降低的过程

均方误差和逻辑回归比较

损失函数:均⽅误差 (不存在多个局部最低点) 只有⼀个最⼩值 可以直接求解
对数似然损失: 多个局部最⼩值,这就是机器学习面临的问题
机器学习可能会陷入局部最优解中,从而让学习达不到效果

现在的办法只能缓解这种情况,而不能彻底解决
1、多次随机初始化,多次⽐较最⼩值结果, 用数量战胜质量
2、求解过程当中,调整学习率, 希望学习的快一点,绕过那些小的坑坑洼洼

cost损失的值越小,那么预测的类别准确度更高
判断时只判断一个目标类别的概率,那么另一个也自然可以得到

sklearn逻辑回归API

sklearn.linear_model.LogisticRegression

LogisticRegression

sklearn.linear_model.LogisticRegression(penalty=‘l2’, C = 1.0)
正则化,超参数
Logistic回归分类器
coef_:回归系数

LogisticRegression回归案例

良/恶性乳腺癌肿瘤预测
只能解决二分类问题

正例和反例的情况
一般以案例比较少的作为正例,因为数量多的作为正例未必能反应真实情况

哪⼀个类别少,判定概率值是值得这个类别
恶性 正例
良性 反例
如果恶性样本比例更高,则良性为反例,如此

良/恶性乳腺癌肿数据

https://archive.ics.uci.edu/ml/index.php

原始数据的下载地址:
https://archive.ics.uci.edu/ml/machine-learning-databases/

数据描述
(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤
相关的医学特征,最后一列表示肿瘤类型的数值。
(2)包含16个缺失值,用”?”标出。

pandas使用

pd.read_csv(’’,names=column_names)
column_names:指定类别名字,[‘Sample code number’,‘Clump Thickness’, ‘Uniformity of Cell Size’,‘Uniformity of Cell Shape’,‘Marginal Adhesion’, ‘Single Epithelial Cell Size’,‘Bare Nuclei’,‘Bland Chromatin’,‘Normal Nucleoli’,‘Mitoses’,‘Class’]
return:数据

replace(to_replace=’’,value=):返回数据
dropna():返回数据

良/恶性乳腺癌肿分类流程

1、网上获取数据(工具pandas)

2、数据缺失值处理、标准化

3、LogisticRegression估计器流程
完整代码

def logistic():"""逻辑回归做二分类进行癌症预测(根据细胞的属性特征):return: NOne"""# 构造列标签名字column = ['Sample code number','Clump Thickness', 'Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion', 'Single Epithelial Cell Size','Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class']# 读取数据data = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data", names=column)print(data)# 缺失值进行处理data = data.replace(to_replace='?', value=np.nan)data = data.dropna()# 进行数据的分割x_train, x_test, y_train, y_test = train_test_split(data[column[1:10]], data[column[10]], test_size=0.25)# 进行标准化处理std = StandardScaler()x_train = std.fit_transform(x_train)x_test = std.transform(x_test)# 逻辑回归预测lg = LogisticRegression(C=1.0)lg.fit(x_train, y_train)print(lg.coef_)y_predict = lg.predict(x_test)print("准确率:", lg.score(x_test, y_test))print("召回率:", classification_report(y_test, y_predict, labels=[2, 4], target_names=["良性", "恶性"]))return None

LogisticRegression总结

应用:广告点击率预测、电商购物搭配推荐
优点:适合需要得到一个分类概率的场景
缺点:当特征空间很大时,逻辑回归的性能不是很好
(看硬件能力)

同样是分类问题,朴素贝叶斯可以对文本进行分类,两者的异同


典型代表:k-近邻,决策树,随机森林,神经⽹络都是判别模型
隐马尔可夫模型是生成模型

多分类问题

softmax可以解决多分类问题,一般图像识别上使用
逻辑回归解决办法:1V1,1Vall

softmax方法-逻辑回归在多分类问题上的推广
将在后面的神经网络算法中介绍

非监督学习的特点?

“物以类聚,人以群分”
没有目标值,而是总结他们的特点

非监督学习(unsupervised learning)

主要方法:k-means

k-means步骤

1、随机设置K个特征空间内的点作为初始的聚类中心

2、对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类
中心点作为标记类别

3、接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平
均值)

4、如果计算得出的新中心点与原中心点一样,那么结束,否则重新进行
第二步过程

总结下来就是
每个点,计算出到设置的中心点的距离,那个最近,就把自己认为是哪一类,形成以这个点为中心的组群,这样一轮过后,所有点的都在各自的族群里

然后就划分好的组群再寻找新的中心点,
超参数是k,决定好划分几类

k-means API

sklearn.cluster.KMeans

Kmeans

sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’)
k-means聚类
n_clusters:开始的聚类中心数量
init:初始化方法,默认为’k-means ++’

labels_:默认标记的类型,可以和真实值比较(不是值比较)

k-means对Instacart Market用户聚类

1、降维之后的数据

2、k-means聚类
数据集有27个特征,根据这些数据为用户分类
3、聚类结果显示
可以使用散点图表示,将聚类得到的结果,用0 1 2 3表示,为每个类别的标上不同的颜色

至于散点图的xy坐标,抽出特征里的两个特征表示即可


完整代码

import pandas as pd
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
from sklearn.metrics import silhouette_score
# 读取四张表的数据
prior = pd.read_csv("./data/instacart/order_products__prior.csv")
products = pd.read_csv("./data/instacart/products.csv")
orders = pd.read_csv("./data/instacart/orders.csv")
aisles = pd.read_csv("./data/instacart/aisles.csv")
# 合并四张表到一张表  (用户-物品类别)
_mg = pd.merge(prior, products, on=['product_id', 'product_id'])
_mg = pd.merge(_mg, orders, on=['order_id', 'order_id'])
mt = pd.merge(_mg, aisles, on=['aisle_id', 'aisle_id'])
mt.head(10)
# 交叉表(特殊的分组工具)
cross = pd.crosstab(mt['user_id'], mt['aisle'])
cross.head(10)
# 进行主成分分析
pca = PCA(n_components=0.9)
data = pca.fit_transform(cross)
# 把样本数量减少
x = data[:500]
x.shape
# 假设用户一共分为四个类别
km = KMeans(n_clusters=4)
km.fit(x)
predict = km.predict(x)
predict
# 显示聚类的结果
plt.figure(figsize=(10,10))
# 建立四个颜色的列表
colored = ['orange', 'green', 'blue', 'purple']
colr = [colored[i] for i in predict]
plt.scatter(x[:, 1], x[:, 20], color=colr)
plt.xlabel("1")
plt.ylabel("20")
plt.show()
# 评判聚类效果,轮廓系数
silhouette_score(x, predict)

Kmeans性能评估指标

轮廓系数:

注:对于每个点i 为已聚类数据中的样本 ,b_i 为i 到其它族群的所有样本的平均距离,a_i 为i 到本身簇的距离平均值

聚类的效果如图

肯定是外部距离最大化,内部距离最小化为好
评价好坏,计算轮廓系数
1、计算蓝1到⾃身类别的点距离的平均值a_i
2、计算蓝1分别到红⾊类别,绿⾊类别所有的点的距离,求出平均值 b1, b2,取其中最⼩的值当做b_i
最好的情况是x-0/x=1
最差的情况是0=x/x=-1
因此轮廓系数 [-1, 1]
极端:
b_i>>a_i: 1 完美
a_i>> b_i: -1 最差

最终计算出所有的样本点的轮廓系数平均值

Kmeans性能评估指标API

sklearn.metrics.silhouette_score

silhouette_score

sklearn.metrics.silhouette_score(X, labels)
计算所有样本的平均轮廓系数
X:特征值
labels:被聚类标记的目标值

Kmeans总结

特点分析:
采用迭代式算法,直观易懂并且非常实用
缺点:容易收敛到局部最优解(多次聚类)
需要预先设定簇的数量(k-means++解决)

机器学习——算法介绍-4相关推荐

  1. 深度学习算法和机器学习算法_63种机器学习算法介绍

    深度学习算法和机器学习算法 Data Science and analytics are transforming businesses. It has penetrated into all dep ...

  2. 简单易懂的机器学习算法介绍

    决策树 - - -决策树的基本原理 决策树(Decision Tree)是⼀种分⽽治之的决策过程.⼀个困难的预测问题,通过树的分⽀节点,被划分成两个或多个较为简单的⼦集,从结构上划分为不同的⼦问题.将 ...

  3. 多元回归求解 机器学习_金融领域里的机器学习算法介绍:人工神经网络

    人工智能的发展在很大程度上是由神经网络.深度学习和强化学习推动的.这些复杂的算法可以解决高度复杂的机器学习任务,如图像分类.人脸识别.语音识别和自然语言处理等.这些复杂任务一般是非线性的,同时包含着大 ...

  4. svm机器学习算法_SVM机器学习算法介绍

    svm机器学习算法 According to OpenCV's "Introduction to Support Vector Machines", a Support Vecto ...

  5. AI-常见机器学习算法介绍

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 机器学习算法分类 1. 监督式学习 工作机制:这个算 ...

  6. 【机器学习算法介绍】朴素贝叶斯

    文章目录 1 概述 2 原理 2.1 贝叶斯定理 2.2 属性条件独立假设 2.3 高斯朴素贝叶斯 2.3.1 计算方法 2.3.2 API调用 2.4 Multinomial Naive Bayes ...

  7. 基于实时计算Flink的机器学习算法平台及场景介绍

    作者:高旸(吾与),阿里巴巴高级技术专家 1. 前言 随着互联网"人口红利"的"消耗殆尽",基于"T+1"或者离线计算的机器学习平台及推荐系 ...

  8. Py之scikit-learn:机器学习sklearn库的简介、六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类)、安装、使用方法(实际问题中如何选择最合适的机器学习算法)之详细攻略

    Py之scikit-learn:机器学习sklearn库的简介(组件/版本迭代).六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类).安装.使用方法(实际问题中如何选择最合适的机器学 ...

  9. 机器学习算法——决策树算法详细介绍,并使用sklearn实现案例预测,可视化决策树

    目录 一.决策树算法简介 二.决策树分类原理 1.熵 1.1 概念 1.2 案例 2.决策树的划分依据一:信息增益 2.1 概念 2.2 案例: 3.决策树的划分依据二:信息增益率 3.1 概念 3. ...

  10. 机器学习之Javascript篇: 近邻(k-nearest-neighbor) 算法介绍

    翻译:王维强 我的目的是使用一门通用语言来教授机器学习,内容涵盖基础概念与高级应用.Javascript是一个非常好的选择,最明显的优点就是对运行环境没有特殊要求.另外,因为该语言缺乏与机器学习相关的 ...

最新文章

  1. CloudStack Ctrix官网版本
  2. vue 计算屏幕的高度_学习Vue可以参考的10个开源项目——OpenSource
  3. 核心组件:IRule
  4. jsp中获取当前项目名称
  5. TS字面量进行类型声明
  6. 信捷触摸屏c语言脚本_信捷触摸屏TG系列产品型号说明及功能介绍
  7. 【转】【Linux】sed命令详解
  8. 服务器客户端通信协议,Redis服务端-客户端通信协议
  9. Project Euler 3 Largest prime factor
  10. 有趣的视频 国外计算机课程
  11. redis集群的远程管理与监控
  12. Vue监听浏览器刷新
  13. wampserver下载以及安装教程
  14. 北京新世纪计算机学校地,石家庄新世纪电脑学校
  15. 2021国产数据库领域最具商业合作价值企业盘点
  16. 【嵌入式Linux开发一路清障-连载03】Ubuntu22.04使用Mount加载硬盘或NAS等硬盘
  17. java计算机毕业设计红色景点自驾游网站管理系统MyBatis+系统+LW文档+源码+调试部署
  18. 汉诺塔系列问题: 汉诺塔II、汉诺塔III、汉诺塔IV、汉诺塔V、汉诺塔VI、汉诺塔VII
  19. springboot的精髓
  20. js习题(求两个数的和的四种方法)

热门文章

  1. Android文件或文件夹压缩成.zip格式的压缩包
  2. 上万条流行经典语录大全ACCESS数据库
  3. 基于java的毕业设计选题题目推荐
  4. 2020浙江省赛打铁记
  5. 百度地图android版v6.7,百度CarLife
  6. 论文那些事—Admix: Enhancing the Transferability of Adversarial Attacks
  7. PB powerbuilder 电子邮件发送
  8. 最短路默写1最短路默写2
  9. [Irving]字符串相似度-字符编辑距离算法(c#实现)
  10. Java实现 LeetCode 717 1比特与2比特字符(暴力)