写点什么

如何用 Python 构建机器学习模型?

  • 2021-05-20
  • 本文字数:3137 字

    阅读完需:约 10 分钟

如何用Python构建机器学习模型?

本文,我们将通过 Python 语言包,来构建一些机器学习模型。

构建机器学习模型的模板


该 Notebook 包含了用于创建主要机器学习算法所需的代码模板。在 scikit-learn 中,我们已经准备好了几个算法。只需调整参数,给它们输入数据,进行训练,生成模型,最后进行预测。

1.线性回归


对于线性回归,我们需要从 sklearn 库中导入 linear_model。我们准备好训练和测试数据,然后将预测模型实例化为一个名为线性回归 LinearRegression 算法的对象,它是 linear_model 包的一个类,从而创建预测模型。之后我们利用拟合函数对算法进行训练,并利用得分来评估模型。最后,我们将系数打印出来,用模型进行新的预测。


# Import modulesfrom sklearn import linear_model
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted_variable
x_test = test_dataset_precictor_variables
# Create linear regression objectlinear = linear_model.LinearRegression()
# Train the model with training data and check the scorelinear.fit(x_train, y_train)linear.score(x_train, y_train)
# Collect coefficientsprint('Coefficient: \n', linear.coef_)print('Intercept: \n', linear.intercept_)
# Make predictionspredicted_values = linear.predict(x_test)
复制代码

2.逻辑回归


在本例中,从线性回归到逻辑回归唯一改变的是我们要使用的算法。我们将 LinearRegression 改为 LogisticRegression。


# Import modulesfrom sklearn.linear_model import LogisticRegression
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted_variable
x_test = test_dataset_precictor_variables
# Create logistic regression objectmodel = LogisticRegression()
# Train the model with training data and checking the scoremodel.fit(x_train, y_train)model.score(x_train, y_train)
# Collect coefficientsprint('Coefficient: \n', model.coef_)print('Intercept: \n', model.intercept_)
# Make predictionspredicted_vaues = model.predict(x_teste)
复制代码


3.决策树


我们再次将算法更改为 DecisionTreeRegressor:


# Import modulesfrom sklearn import tree
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted_variable
x_test = test_dataset_precictor_variables
# Create Decision Tree Regressor Objectmodel = tree.DecisionTreeRegressor()
# Create Decision Tree Classifier Objectmodel = tree.DecisionTreeClassifier()
# Train the model with training data and checking the scoremodel.fit(x_train, y_train)model.score(x_train, y_train)
# Make predictionspredicted_values = model.predict(x_test)
复制代码


4.朴素贝叶斯


我们再次将算法更改为 DecisionTreeRegressor:


# Import modulesfrom sklearn.naive_bayes import GaussianNB
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted variable
x_test = test_dataset_precictor_variables
# Create GaussianNB objectmodel = GaussianNB()
# Train the model with training data model.fit(x_train, y_train)
# Make predictionspredicted_values = model.predict(x_test)
复制代码


5.支持向量机


在本例中,我们使用 SVM 库的 SVC 类。如果是 SVR,它就是一个回归函数:


# Import modulesfrom sklearn import svm
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted variable
x_test = test_dataset_precictor_variables
# Create SVM Classifier object model = svm.svc()
# Train the model with training data and checking the scoremodel.fit(x_train, y_train)model.score(x_train, y_train)
# Make predictionspredicted_values = model.predict(x_test)
复制代码


6.K- 最近邻


在 KneighborsClassifier 算法中,我们有一个超参数叫做 n_neighbors,就是我们对这个算法进行调整。


# Import modulesfrom sklearn.neighbors import KNeighborsClassifier
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted variable
x_test = test_dataset_precictor_variables
# Create KNeighbors Classifier Objects KNeighborsClassifier(n_neighbors = 6) # default value = 5
# Train the model with training datamodel.fit(x_train, y_train)
# Make predictionspredicted_values = model.predict(x_test)
复制代码


7.K- 均值


# Import modulesfrom sklearn.cluster import KMeans
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted variable
x_test = test_dataset_precictor_variables
# Create KMeans objects k_means = KMeans(n_clusters = 3, random_state = 0)
# Train the model with training datamodel.fit(x_train)
# Make predictionspredicted_values = model.predict(x_test)
复制代码


8.随机森林


# Import modulesfrom sklearn.ensemble import RandomForestClassifier
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted variable
x_test = test_dataset_precictor_variables
# Create Random Forest Classifier objects model = RandomForestClassifier()
# Train the model with training data model.fit(x_train, x_test)
# Make predictionspredicted_values = model.predict(x_test)
复制代码


9.降维


# Import modulesfrom sklearn import decomposition
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted variable
x_test = test_dataset_precictor_variables
# Creating PCA decomposition objectpca = decomposition.PCA(n_components = k)
# Creating Factor analysis decomposition objectfa = decomposition.FactorAnalysis()
# Reduc the size of the training set using PCAreduced_train = pca.fit_transform(train)
# Reduce the size of the training set using PCAreduced_test = pca.transform(test)
复制代码


10.梯度提升和 AdaBoost


# Import modulesfrom sklearn.ensemble import GradientBoostingClassifier
# Create training and test subsetsx_train = train_dataset_predictor_variablesy_train = train_dataset_predicted variable
x_test = test_dataset_precictor_variables
# Creating Gradient Boosting Classifier objectmodel = GradientBoostingClassifier(n_estimators = 100, learning_rate = 1.0, max_depth = 1, random_state = 0)
# Training the model with training data model.fit(x_train, x_test)
# Make predictionspredicted_values = model.predict(x_test)
复制代码


我们的工作将是把这些算法中的每一个块转化为一个项目。首先,定义一个业务问题,对数据进行预处理,训练算法,调整超参数,获得可验证的结果,在这个过程中不断迭代,直到我们达到满意的精度,做出理想的预测。


原文链接:


https://levelup.gitconnected.com/10-templates-for-building-machine-learning-models-with-notebook-282c4eb0987f

2021-05-20 16:012397

评论

发布
暂无评论
发现更多内容

由一张精益MVP图所浮想联翩

Man

敏捷开发 研发管理

Rust从0到1-集合-字符串

rust string 集合 字符串 Collections

网络攻防学习笔记 Day17

穿过生命散发芬芳

5月日更 网络攻防

Python--TKinter

若尘

Python编程 5月日更

看见技术的价值 | 音视频技术有奖征文来啦~

InfoQ写作社区官方

音视频 声网 热门活动

玩转直播系列之RTMP协议和源码解析(2)

vivo互联网技术

RTMP 直播技术

打破思维定式(十一)

Changing Lin

对比解读《2020年CNCF中国云原生调查报告》

阿里巴巴中间件

有无社保缴纳识别接口

ALone

JavaScript实现:如何写出漂亮的条件表达式

华为云开发者联盟

代码 JavaScrip 条件表达式 多条件语句 多属性对象

全链路压测二十问干货汇总(上)

TakinTalks稳定性社区

进大厂的iOS程序员,原来是这样“跳槽”的!

iOS猿_员

极光开发者周刊【No.0514】

极光JIGUANG

开发者

人工智能基础1 - DAY8

Qien Z.

人工智能 5月日更

Dubbo Stub与Mock

青年IT男

dubbo

15年云原生实践,在关键节点我们做对了什么? | 云原生大咖说

阿里巴巴中间件

ElasticSearch架构剖析

五分钟学大数据

大数据 elasticsearch 5月日更

做个开发喜欢的产品

MavenTalker

产品经理 产品设计 系统开发

浅入浅出 MySQL 索引

leonsh

MySQL 索引

Keycloak 13 自定义用户身份认证流程(User Storage SPI)

Zhang

MySQL spi keycloak 13.0.0 user storage spi

长夜漫漫,聊聊synchronized锁的打怪升级路

码农参上

synchronized 签约计划第二季

上手 WebRTC DTLS 遇到很多 BUG?浅谈 DTLS Fragment

阿里云视频云

阿里云 音视频 WebRTC SRS流媒体服务器 视频云

SpringCloud微服务架构实战:Feign+Hystrix实现RPC调用保护

小Q

Java 学习 面试 微服务 spring cloud alibaba

2021 iOS 进阶学习视频推荐

程序员 ios开发

云小课 | 一个三分钟快速定制OCR应用的神器,要不?

华为云开发者联盟

AI modelarts OCR ModelArts Pro 开发套件

针对 Restful 协议下的接口测试平台设计

GrowingIO技术专栏

RESTful

如何让研发新同学快速 Onboarding

GrowingIO技术专栏

研发管理

开发者测试:你必须知道7件事

华为云开发者联盟

软件工程 测试 工程师 代码 开发者测试

☕️【Java技术之旅】带你看透Lambda表达式的本质

洛神灬殇

Java Lambda java8 Lambda函数 5月日更

重磅成果 | 《数据安全治理白皮书3.0》正式对外发布!

DT极客

基于Agora Web SDK自定义直播画面

dajyaretakuya

WebRTC 声网 Agora 数字合成

如何用Python构建机器学习模型?_AI&大模型_Anello_InfoQ精选文章