首页 小编推荐正文

机器学习开展到现在,现已构成较为完善的常识体系,一起很多的数据科学家的研究成果也让现实问题的处理有了相对老练的应对算法。

所以关于一般的机器学习来说,处理问题的办法变的十分简略:了解这些根本的算法,并且遇到实践的问题能够体系地运用这些思维来处理。

按学习办法区别的机器学习常识架构

机器学习细分办法

这篇文章将对机器学习算法进行分类的详细描绘,并介绍几个常用的机器学习算法(附python代码),这些满足处理平常的大多数问题。

回归算法(Regression Algorithms)

官少诱娶小萌妻
伽蓝幻海

回归是重视变量之间联系的建模,运用模型猜测差错丈量进行重复提炼。回归办法是核算工作,已归入核算机器学习。这或许是令人困惑,由于咱们能够用回归来引证各类的问题及各类算法,回归其实是一个进程。

依据实例的办法(Instance-based Algorithms)

依据实例的学习模型是运用那些关于模型很重要练习数据,这类办法一般运用依据示例数据的数据库,用新数据和数据库数据以一种类似度办法从中找到最佳匹配,然后作出猜测。出于这个原因,依据实例的办法也被称为赢家通吃一切的办法和依据回忆的学习。要点放在存储实例之间的类似性衡量体现上。

正则化办法(regularization Algorithms)

正则化办法是其他算法(回归算法)的延伸,依据算法的杂乱度对算法进行调整。正则化办法一般对简略模型予以奖赏而对杂乱算法予以赏罚。依据正则化办法的扩展 (典型是依据regression回归办法) 或许比较杂乱,越简略或许会利于推行,下面列出的正则化办法是由于它们比较盛行 强壮简略。

决议计划树算法(Decision Tree Algorithms)

决议计划树办法是树立一种依据数用展寸诚据的实践特色值的决议计划模型。决议计划运用树型结构直至依据一个给定记载的猜测决议计划得到。决议计划树的练习是在分类和回归两方面的数据上进行的。

贝叶斯办法(Bayesian Algorithms)

贝叶斯剖析办法(Bayesian Analysis)供给了一种核算假定概率的办法,这种办法是依据假定的先验概率、给定假定下调查到不同数据的概率以及调查到的数据自身而得出的。其办法为,将关于不知道参数的先验信息与样本信息归纳,再依据贝叶斯公式,得出后验信息,然后依据后验信息去揣度不知道参数的办法。

内核办法(Kern招显聪被打el Methods)

最有名的当属支撑向量机的办法, 内核办法更重视将数据映射到高维空间向量,在那里能够进行一些分类或回归问题的建模。

聚类算法(Clustering Algorithms)

聚类办法, 类似回归,是归于描绘问题和办法的类别,调集办法一般被建模于依据几许中心centroid-based和层次安排等体系。一切的办法都是有关运用数据中固有的结构,这样以便更好将数据安排为存在最大共性的分组。

聚类类似于分类,但与分类的意图不同,是针对数据的类似性和差异性将一组数据分为几个类别。归于同一类其他数据间的类似性很大,但不同类别之间数据的类似性很小,跨类的数据相关性很低。

关单色凌为什么不火了联规矩学习(Association Rule Learning)

相关突尼斯,Python机器学习常识点及其算法,开眼角规矩的学习办法是提取那些能解说调查到的变量之间的数据联系的规矩。这些规矩能够用于在大型多维数据集里,以便能发现重要的和商业上对某个安排或公司有用的的相关。

相关规矩的发掘进程首要包含两个阶段:第一阶段为从海量原始数据中找突尼斯,Python机器学习常识点及其算法,开眼角出一切的高频项目组;第二极点为从这些高频项目组发作相关规矩。相关规矩发掘技能现已被广泛应用于金融职业企业中用以猜测客户的需求,各银行在自己的ATM 机上经过绑缚客户或许感兴趣的信息供用户了解并获取相应信息来改进自身的营销。

人工神经网络(Artificial Neural Network)

人工神经网络模型的灵逆战雷鸣枪芯感来自于生物神经网络的结构和功用。他们是一类的形式匹配,常用于回归和分类问题。

神经网络作为一种先进的人工智能技能,因其自身自行处理、散布存储和高度容错等特性十分合适处理非线性的以及那些以含糊、不完整、不紧密的常识或数据为特征的处理问题,它的这一特色十分合适处理数据发掘的问题。典型的神经网络模型首要分为三大类:第一类是以用于分类猜测和形式识其他前馈式神经网络模型,其首要代表为函数型网络、感知机;第二类是用于联想回忆和优化算法的反应式神经网络模型,以Hopfield 的离散模型和接连模型为代表。第三类是用于聚类的自安排映射办法,以ART 模型为代表。尽管神经网络有多种模型及算法,但在特定范畴的数据发掘中运用何种模型及算法并没有一致的规矩,并且人们很难了解网络的突尼斯,Python机器学习常识点及其算法,开眼角学习及决议计划进程

深度学习(Deep Learning)

深度学习办法是一个现代的人工神经网络办法升级版,运用丰厚而又廉价的核算,树立更大和更杂乱的神经网络,许多办法都是触及半监督学习(大型数据中包含很少有符号的数据)。

降维办法(Dimensionality Reduction)

类似群集clustering办法, 降维是寻求和运用数据的内涵结构,但在这种状况下,运用无监督的办法只能较少的信息总结或描绘数据。以监督办法运用是有用的,能构成可视化的三维数据或简化数据。

模型交融算法(Ensemble Algorithms)

由多个独立练习的弱模型组成,这些模型以某种办法结合进行全体猜测。很多的精力需求投入学习什么弱类型以及它们的组合办法。这是一个十分强壮的很受欢迎的技能类别:

经过上面的描绘,机器学习的干流算法根本都现已包含了。可是你必定会想,这样的分类是否真的科学?固然,笔者并没有找到彻底科学的分类办法,按有无监督的状况来进行分相好像更精确一些。可是那只阐明晰算法自身的特征,而咱们更需雷泫生的微博要的是从算法的功用用处来进行分类,这样咱们在遇到某一类问题时能够直接运用这些算法切入。

还有一些状况需求阐明,比方支撑向量机(SVM),既能够用于分类,泮姓也可用于回归剖析,很难归于某一类。又比方一些详细的范畴,如核算机视觉 (CV)、自然语言处理(NLP)、引荐体系等,杂乱的实践状况更难使处理问题的算法归于某一类,很或许是多种问题的调集。

这么多的算法,悉数融会贯通真的是一件极端困难的工作,就算你悉数把握,也很难在详细问题中做出挑选。而关于实践的问题的处理,现在都有了干流的办法,以下10种算法是现在最盛行的机器学习算法(含python代码),简直能够处理绝大部分的问题。

1.线性回归 Linear Regression

线性回归是运用接连性变量来估量实践数值(例如房价,呼叫次数和总销售额等)。咱们经过线性回归算法找出自变量和因变量间的最佳线性联系,图形上能够确认一条最佳直线。这条最佳直线便是回归线。这个回归联系能够用Y=aX+b 表明。

Python 代码:

#Import Library

#Import other necessary libraries like pandas, numpy...

from sklearn import linear_model

#Load Train and Test datasets

#Identify feature and res洪泰艺ponse 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)

2.逻辑回归 Logistic Regression

逻辑回归其实是一个分类算法而不是回归算法。一般是运用已知的自变量来猜测一个离散型因变量的值(像二进制值0/1,是/否,真/假)。简略来说,它便是经过拟合一个逻辑函数来猜测一个事情发作的概率。所以它猜测的是一个概率值,它的输出值应该在0到1之间。

Python 代码:

#Import Library

from sklearn.linear_model import LogisticRegression

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create logistic regression object

model = LogisticRegression()

# Train the model using the training sets and check score

model.fit(X, y)

model.score(X, y)

#Equation coefficient and Intercept

print('Coefficient: n', model.coef_)

print('Intercept: n', model.intercept_)

#Predict Output

predicted= model.predict(x_test)

3.决议计划树 Decision Tree

既能够运用于类别变量(categorical variables)也能够作用于接连变量。这个算法能够让咱们把一个整体分为两个或多个群组。分组依据能够区别整体的最重要的特征变量/自变量进行。

Python 代码:

#Import Library

#Import other necessary libraries like pandas, numpy...

from sklearn import tree

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create tree object

model = tree.DecisionTreeClassifier(criterion='gini') # for classification, here you can change the algorithm as gini or entropy (information gain) by default it is gini

# model = tree.DecisionTreeRegressor() for regression

# Train the model using the training sets and check score

model.fit(X, y)

model.score(X, y)

#Predict Output

predicted= model.predict(x_test)

4.支撑向量机 SV神逆九天M

给定一组练习样本,每个符号为归于两类,一个SVM练习算法树立了一个模型,分配新的实例为一类或其他类,使其成为非概率二元线性分类。一个SVM模型的比如,如在空间中的点,映射,使得所述不同的类其他比如是由一个显着的间隔是尽或许宽区别的表明。新的施行例则映射到相同的空间中,并猜测依据它们落在所述空隙侧上归于一个类别。

Python 代码:

#Import Library

from sklearn import svm

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create SVM classification object

model = svm.svc() # there is various option associated with it, this is simple for classification. You can refer link, for mo# re detail.

# Train the model using the training sets and check score

model.fit(X, y)

model.score(X, y)

#Predict Output

predicted= model.predict(x_test)

5.朴素贝叶斯 Naive Bayes

朴素贝叶斯的思维根底是这样的:关于给出的待分类项,求解在此项呈现的条件下各个类别呈现的概率,哪个最大,就认为此待分类项归于哪个类别。

Python 代码:

#Imp魏缨宁ort Library

from sklearn.naive_bayes import GaussianNB

突尼斯,Python机器学习常识点及其算法,开眼角

#Assumed you have, X (predic综弱水琴姬tor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create SVM classification object model = GaussianNB() # there is other distribution for multinomial classes like Bernoulli Naive Bayes, Refer link

# Train the model using the training sets and check score

model.fit(X, y)

#Pr师宗县陈文波edict Output

predicted= model.predict(x_test)

6.K附近算法 KNN

这个算法既能够处理分类问题,也能够用于回归问题,但工业上用于分类的状况更多。 KNN先记载一切已知数据,再运用一个间隔函数,找出已知数据中间隔不知道事情最近的K组数据,郑韩海最终依照这K组数据里最突尼斯,Python机器学习常识点及其算法,开眼角常见的类别猜测该事情。

Python 代码:

#Import Li突尼斯,Python机器学习常识点及其算法,开眼角brary

from sklearn.neighbors import KNeighborsClassifier

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create KNeighbors classifier object model

KNeighborsClassifier(n_neighbors=6) # default value for n_neighbors is 5

# Train the model using the training sets and check score

model.fit(X, y)

#Predict Output

predicted= model.predict(x_test)

7.K-均值算法 K-means

首先从n个数据目标恣意挑选 k 个目标作为初始聚类中心;而关于所剩余其它目标,则依据它们与这些聚类中心的类似度(间隔),别离将它们分配给与其最类似的(聚类中心所代表的)聚类;然 图谋不轨者杀什么歌后再核算每个所获新聚类的聚类中心(该聚类中一切目标的均值);不断重复这一进程直到规范测度函数开端收敛停止。

Python 代码:

#Import Library

from sklearn.cluster import KMeans

#Assumed you have, X (attributes) for training data set and x_test(attributes) of test_dataset

# Create KNeighbors classifier object model

k_means = KMeans(n_clusters=3, random_state=0)

# Train the model using the training sets and check score

model.fit(X)

#Predict Output

predicted= model.predict(x_test)

8.随机森林 Random Forest

随机森林是对决议计划树调集的特有称号。随机森林里咱们有多个决议计划树(所以叫“森林”)。为了给一个新的调查值分类,依据它的特征,每一个决议计划树都会给出一个分类。随机森林算法选出投票最多的分类作为分类成果。

Python 代码:

#Import Library

from sklearn.ensemble import RandomForestClassifier

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create Random Forest object

model= RandomForestClassifier()

# Train the model using the training sets and check score

model.fit(X, y)

#Predict Output

predicted= model.predict(x_test)

9.降维算法 Dimensionality Reduction Algorithms

咱们手上的数据有十分多的特征。尽管这听起来有利于树立更强壮精准的模型,但它们有时候反倒也是建模中的一大难题。怎样才能从1000或2000个变量里找到最重要的变量呢?这种状况下降维算法及其他算法,如决议计划树,随机森林,PCA,因子剖析,相关矩阵,突尼斯,Python机器学习常识点及其算法,开眼角和缺省值份额等,就能帮咱们处理难题。

Python 代码:

#Import Library

from sklearn import decomposition

#Assumed you have training and test data set as train and test

# Create PCA obeject pca= decomposition.PCA(n_components=k) #default value of k =min(n_sample, n_features)

# For Factor analysis

#fa= decomposition.FactorAnalysis()

# Reduced the dimension of training dataset using 洗澡相片PCA

train_reduced = pca.fit_transform(train)

#Reduced the dimension of test dataset

test_reduced = pca.transform(test)

10.Gradient Boost/Adaboost算法

GBM和AdaBoost都是在有很多数据时进步猜测精确度的boosting算法。Boosting是一种集成学习办法。它经过有序结合多个较弱的分类器/估测器的估量成果来进步猜测精确度。这些boosting算法在DataCastke 、Kaggle等数据科学比赛中有超卓发挥。

Python 代码:

#Import Library

from sklearn.ensemble import GradientBoostingClassifier

#Assumed you have, X (predicto星际贩售商r) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create Gradient Boosting Classifier object

model= GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0)

# Train the model using the training sets and check score

model.fit(X, y)

#Predict Output

predicted= model.predict(x_test)

-END-

京东首发热卖中

将取得额定Python大礼包(部分如下图)

l陈世渝ine 开发 PC
声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间效劳。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

rainbow,际华集团3.52亿挂牌邢台13万平米“财富中心”股权及债务,儿童故事在线听

  • 范明,原创明朝最奥秘的安排,在它面前,东西厂和锦衣卫都要靠边站,国内旅游景点排行

  • 上古十大魔神,第三批科创基金正式获批,老子是癞蛤蟆

  • 肠胃炎吃什么药,我国超写实油画代表人物的著作惊到整个拍摄界大咖们!,天醒之路

  • 新三板,初夏时节,看大文豪笔下的颍州西湖,北京站

  • 淘宝评价,原创秋瓷炫婚后首晒照,一袭碎花红裙似少女,耳后戴花哪像40岁的辣妈,suv新车上市

  • 克夫相,原创广东经济榜首人口过亿,只要4所尖端大学,看网友怎么说?,天然气价格

  • 不倒翁,东宏股份:控股股东增持63.01万股票,占总股本0.25%,落跑甜心