🥥Python数据挖掘和解析算法
Last updated
Last updated
Python | 数学 | Matplotlib | Numpy | scipy | Pandas | 数值计算 | 统计 | 决策树 | 装袋 | 随机森林 | 提升 | 分类 | K-最近邻 | 朴素贝叶斯 | 无监督学习 | 强化学习 | 可视化 | 数据重组
机器学习是计算机科学的一个分支,它利用过去的经验来学习并利用其知识来做出未来的决策。 机器学习是计算机科学、工程和统计学的交叉点。 机器学习的目标是概括一个可检测的模式或从给定的例子中创建一个未知的规则。 机器学习领域的概述如下:
监督学习:这是教机器学习其他变量和目标变量之间的关系,类似于教师向学生提供关于他们表现的反馈的方式。 监督学习的主要部分如下:
分类问题
回归问题
无监督学习:在无监督学习中,算法在没有任何监督或没有提供任何目标变量的情况下自行学习。 这是一个在给定数据中寻找隐藏模式和关系的问题。 无监督学习中的类别如下:
降维
聚类
强化学习:这允许机器或代理根据环境的反馈学习其行为。 在强化学习中,智能体在没有监督的情况下采取一系列决定性的行动,最终将获得 +1 或 -1 的奖励。 基于最终的回报/奖励,代理重新评估其路径。 强化学习问题更接近于人工智能方法,而不是常用的机器学习算法。
在某些情况下,当变量数量非常多时,我们最初执行无监督学习以减少维度,然后进行监督学习。 同样,在一些人工智能应用中,可以利用监督学习与强化学习相结合来解决问题; 一个例子是自动驾驶汽车,其中最初使用监督学习将图像转换为某种数字格式,并结合驾驶动作(向左、向前、向右和向后)。
统计本身就是一个庞大的问题上,其可以写一本书;然而,这里的尝试是将重点放在机器学习角度非常必要的关键概念上。在本节中,将介绍一些基础知识,其余的概念将在后面的章节中介绍,只要有必要了解机器学习的统计等价物。
预测分析取决于一个主要假设:历史会重演!
通过在验证关键度量后对历史数据拟合预测模型,基于对过去数据具有重要意义的相同解释变量,将使用相同的模型来预测未来事件。
统计模型实施者的先行者是银行业和制药业;在一段时间内,分析也扩展到其他行业。
统计模型是一类数学模型,通常由数学方程指定,这些方程将一个或多个变量与近似现实相关联。统计模型所包含的假设描述了一组概率分布,这将其与非统计、数学或机器学习模型区分开来
统计模型总是从一些基本假设开始,所有变量都应该保持这些假设,然后模型提供的性能在统计上是显着的。因此,了解所有构建模块中所涉及的各种点点滴滴,为成为一名成功的统计学家奠定了坚实的基础。
在下一节中,我们用相关代码描述了各种基础知识:
人口:这是在 总体、完整的观察列表或有关研究对象的所有数据点。
样品:样品 是总体的一个子集,通常是被分析总体的一小部分。
参数与统计量:在总体上计算的任何度量都是参数,而在样本上则称为统计量。
平均值:这是一个简单的算术平均值,它是通过将值的总和除以这些值的计数来计算的。 均值对数据中的异常值很敏感。 离群值是一组或一列的值,它与同一数据中的许多其他值高度偏离; 它通常具有非常高或非常低的值。
中位数:这是数据的中点,通过按升序或降序排列来计算。如果有 N 个观测值。
众数:这是数据中重复最多的数据点:
使用 numpy 数组和 stats 包计算均值、中值和众数的 Python 代码如下:
>>> import numpy as np
>>> from scipy import stats
>>> data = np.array([4,5,1,2,7,2,6,9,3])
# Calculate Mean
>>> dt_mean = np.mean(data) ; print ("Mean :",round(dt_mean,2))
# Calculate Median
>>> dt_median = np.median(data) ; print ("Median :",dt_median)
# Calculate Mode
>>> dt_mode = stats.mode(data); print ("Mode :",dt_mode[0][0])
上述代码的输出如下:
描述性统计(均值、中位数和众数)的 R 代码如下:
data <- c(4,5,1,2,7,2,6,9,3)
dt_mean = mean(data) ; print(round(dt_mean,2))
dt_median = median (data); print (dt_median)
func_mode <- function (input_dt) {
unq <- unique(input_dt) unq[which.max(tabulate(match(input_dt,unq)))]
}
dt_mode = func_mode (data); print (dt_mode)
变异的度量:离散是数据的变异,衡量数据中变量值的不一致性。离散实际上提供了关于传播而不是中心值的概念。
范围:这是值的最大值和最小值之间的差值。
方差:这是均值的平方偏差的均值(xi = 数据点,μ = 数据的均值,N = 数据点的数量)。 方差的维度是实际值的平方。 对样本使用分母 N-1 而不是总体中的 N 的原因是自由度。 计算方差时样本中丢失的 1 个自由度是由于样本替换的提取:
标准差:这是方差的平方根。通过对方差应用平方根,我们测量相对于原始变量而不是维度平方的离差:
分位数:这些只是相同的片段的数据。分位数涵盖百分位数、十分位数、四分位数等。这些度量是在按升序排列数据后计算的:
百分位:这没什么但百分比的数据点低于原始整个数据的值。中位数是第 50个百分位数,因为低于中位数的数据点数量约占数据的 50%。
十分位数:这是第 10 个百分位数,这意味着十分位数以下的数据点数 是整个数据的 10%。
四分位数:这是数据的四分之一,也是第 25个百分位数。第一个四分位数是数据的 25%,第二个四分位数是数据的 50%,第三个四分位数是数据的 75%。第二个四分位数也称为中位数或第50个百分位数或第5个十分位数。
四分位距:这就是区别第三四分位数和第一四分位数之间。它可以有效地识别数据中的异常值。该四分位 范围描述了中间 50% 的数据点。
population variance =N1∑i=1N(xi−μ)2 sample variance =N−11∑i=1N(xi−μ)2
population standard deviation (σ)=N1∑i=1N(xi−μ)2
sample standard deviation (s)=N−11∑i=1N(xi−μ)2