机器学习算法基础之使用python代码

介绍
谷歌的自动驾驶汽车和机器人受到了很多媒体的关注,但该公司真正的未来是在机器学习领域,这种技术能使计算机变得更聪明,更个性化。-Eric Schmidt(Google董事长)

我们可能生活在人类历史上最具决定性的时期。从大型的电脑主机到个人电脑再到云计算的时代。但是,它的定义并不是发生了什么,而是未来几年我们将面临什么。

对于我这样的人来说,这段时期真的是让人兴奋和着迷的,因为随着技术的发展,各种工具和技术都实现了飞跃化,现在欢迎人类来到数据科学的世界!

今天,作为一名数据科学家,我可以用每小时几美元的成本,用复杂算法构建数据处理机器。但是实现这并不容易!因为我需要面临度过无数个黑暗的日日夜夜。

机器学习算法类型
从广义上讲,有3种类型的机器学习算法。
1.监督学习
工作原理:该算法由一个目标/结果变量(或因变量)组成,该变量将从给定的一组预测变量(自变量)中预测。使用这些变量集,我们生成一个将输入映射到所需输出的函数。训练过程继续进行,直到模型在训练数据上达到所需的准确度。监督学习的例子:回归,决策树,随机森林,KNN,逻辑回归等。

2.无监督学习
工作原理:在此算法中,我们没有任何目标或结果变量来进行预测/估计。它用于将人群进行聚类到不同群体中,广泛用于将客户划分到不同的群体中去并进行具体的干预。无监督学习的例子:Apriori算法,K-means。

3.强化学习:
工作原理:使用这种算法,机器经过培训,可以做出具体决策。它的工作原理是这样的:机器暴露在一个环境中,在这个环境中,它通过反复试验不断地训练自己。机器从过去的经验中学习,并尝试获取尽可能好的知识,以做出准确的业务决策。强化学习的例子:马尔可夫决策过程

常用机器学习算法列表
以下是常用机器学习算法的列表。这些算法几乎可以应用于任何数据问题:

1.线性回归
2.逻辑回归
3.决策树
4.SVM
5.朴素贝叶斯
6.k近邻
7.K均值
8.随机森林
9.降维算法
10.梯度增强算法
11.GBM
12.XGBoost
13.LightGBM
14.CatBoost

1.线性回归
线性回归用于根据连续变量估算实际值(房屋成本,通话成本,总销售额等)。在这里,我们通过拟合一条直线来建立自变量和因变量之间的关系。该最佳拟合线称为回归线,并由线性方程Y = a * X + b表示。

理解线性回归的最佳方法是重温这种童年经历。让我们假设,你让一个五年级的孩子,通过体重增加的顺序来安排他们班级中的人,而不是通过问他们的体重!你觉得孩子会怎么做?他/她可能会在人的身高和体型上进行(视觉分析)安排,并使用这些可见参数的组合进行排列。这就是现实生活中的线性回归!这个孩子实际上已经发现高度和体格将通过一个关系与体重联系起来,就像上面的方程一样。

在这个等式中:
*Y - 因变量
*a - 坡度
*X - 自变量
*b - 拦截
这些系数a和b是基于最小化数据点和回归线之间的距离的平方差的总和而算出的。

请看下面的例子。在这里,我们确定了线性方程y = 0.2811x + 13.9的最佳拟合线。现在使用这个方程,我们可以求出重量,而知道一个人的身高。

创建本指南背后的想法是简化世界各地有抱负的数据科学家和机器学习爱好者的旅程。通过本指南,我将帮助您解决机器学习问题并从经验中获益。我提供了对各种机器学习算法的高级理解以及运行它们的R&Python代码。这些应该足以弄脏你的手。
在这里插入图片描述
线性回归主要有两种类型:简单线性回归和多元线性回归。简单线性回归的特征在于一个自变量。而多元线性回归(顾名思义)的特征是多个(超过1个)的自变量。在找到最佳拟合线时,可以拟合多项式或曲线回归。这些被称为多项式或曲线回归。

Python代码

Import Library
Import其他必要的库,如pandas,numpy …
from sklearn import linear_model

读取训练集和测试集
识别特征和响应变量以及值必须是数字和numpy数组
x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets

创建线性回归对象
linear = linear_model.LinearRegression()

使用训练集训练模型并检查分数
linear.fit(x_train, y_train)
linear.score(x_train, y_train)

方程系数和截距
print(‘Coefficient: n’, linear.coef_)
print(‘Intercept: n’, linear.intercept_)

预测输出
predicted = linear.predict(x_test)

2.逻辑回归
不要被它的名字搞混了!逻辑回归是一种分类而非回归算法。它用于根据给定的自变量集估计离散值(二进制值,如0/1,是/否,真/假)。简单来说,它通过将数据拟合到logit函数来预测事件发生的概率。因此,它也被称为logit回归。由于它预测概率,因此其输出值介于0和1之间(如预期的那样)。

让我们再一次通过一个简单的例子来尝试理解这一点。

假设你的朋友给你出了一个难题让你来解决。那只有2个结果场景 - 要么你成功的解决了它,要么你没能解决它。现在想象一下,你正在进行各种各样的解谜/测验,试图了解你擅长哪些科目。这项研究的结果应该是这样的 - 如果给你一个基于三角测量的十年级问题,你有70%的可能解决它。另一方面,如果是五年级的历史问题,获得答案的概率仅为30%。这就是逻辑回归为您提供的。

在数学中,结果的对数概率被建模为预测变量的线性组合。

odds = p /(1-p)=事件发生概率/非事件发生概率
ln(赔率)= ln(p /(1-p))
logit(p)= ln(p /(1-p))= b0 + b1X1 + b2X2 + b3X

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值