首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习算法①

机器学习算法①

作者头像
用户1359560
发布2018-08-27 11:36:11
2550
发布2018-08-27 11:36:11
举报
文章被收录于专栏:生信小驿站生信小驿站

机器学习算法

广泛地说,有三种类型的机器学习算法。

1.监督学习

这个算法由一个目标/结果变量(或因变量)组成,这个变量可以从一组给定的预测变量(独立变量)中预测出来。 使用这些变量,我们生成一个将输入映射到所需输出的函数。 训练过程一直持续到模型达到训练数据所需的准确度。 监督学习的例子:回归,决策树,随机森林,KNN,逻辑回归等。

2.无监督学习

在这个算法中,我们没有任何目标或结果变量来预测/估计。 用于不同群体的群体聚类,广泛用于不同群体的消费者细分进行具体干预。 无监督学习的例子:Apriori算法,K-means。

3.强化学习:

使用这种算法,机器被训练做出特定的决定。 它是这样工作的:机器暴露在一个环境中,它使用反复试验不断地训练自己。 这台机器从过去的经验中学习,并试图捕捉最好的知识,做出准确的业务决策。 强化学习实例:马尔可夫决策过程

  • 这里是常用的机器学习算法列表。 这些算法可以应用于几乎所有的数据问题:

线性回归 Logistic回归 决策树 SVM 朴素贝叶斯 KNN K均值 随机森林 维度降低算法 梯度提升算法 GBM XGBoost LightGBM CatBoost

1.线性回归

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

理解线性回归的最好方法是重温童年的这种体验。让我们说,你问一个五年级的孩子,通过增加体重的顺序来安排班上的人,而不要问他们的重量!你觉得孩子会做什么?他/她可能会查看(视觉分析)人的身高和身材,并使用这些可见参数的组合进行排列。这是现实生活中的线性回归!实际上,孩子已经找到了身高,身材与体重之间的关系,看起来像上面的方程式。

在这个等式中:

Y因变量 一个 - 坡度 X - 自变量 b - 拦截 这些系数a和b是基于最小化数据点与回归线之间的距离的平方和的总和而得出的。

看下面的例子。这里我们已经确定了具有线性方程y = 0.2811x + 13.9的最佳拟合线。现在使用这个等式,我们可以找到重量,知道一个人的身高。

R代码:

#Load Train and Test datasets
#Identify feature and response variable(s) and values must be numeric and numpy arrays
x_train <- input_variables_values_training_datasets
y_train <- target_variables_values_training_datasets
x_test <- input_variables_values_test_datasets
x <- cbind(x_train,y_train)
# Train the model using the training sets and check score
linear <- lm(y_train ~ ., data = x)
summary(linear)
#Predict Output
predicted= predict(linear,x_test) 

python:

#Import Library
#Import other necessary libraries like pandas, numpy...
from sklearn import linear_model
#Load Train and Test datasets
#Identify feature and response variable(s) and values must be numeric and numpy arrays
x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets
# Create linear regression object
linear = linear_model.LinearRegression()
# Train the model using the training sets and check score
linear.fit(x_train, y_train)
linear.score(x_train, y_train)
#Equation coefficient and Intercept
print('Coefficient: \n', linear.coef_)
print('Intercept: \n', linear.intercept_)
#Predict Output
predicted= linear.predict(x_test)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.01.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 机器学习算法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档