带你玩scikit-learn之简简单单小套路

来源:互联网 发布:php query 编辑:程序博客网 时间:2024/06/04 18:24

一、选择学习方法

scikit-learn中的相关机器学习方法以及编写完善,对于我们来说完全可以把它当做黑盒子。输入:一堆数据,输出:一堆数据。中间就是用内置的模型训练。

我们唯一要做的就是选择模型,如何选择模型?请看下图:



监督学习:分类、回归(知道一些东西,想知道更多)

非监督学习:聚类(啥也不知道,还想通过机器学习知道点东西)

降维:(这题太难了,算法来给我简化下)

二、通用套路

SK也有自己的机器学习也有自己的编写流程,俗称套路。

三部曲:

1.导入模块

from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.neighbors import KNeighborsClassifier


2.创建数据


iris = datasets.load_iris()iris_X = iris.datairis_y = iris.target
X_train, X_test, y_train, y_test = train_test_split(    iris_X, iris_y, test_size=0.3)


3.建模、训练、预测

knn = KNeighborsClassifier()knn.fit(X_train, y_train)print(knn.predict(X_test))print(y_test)



三、内置数据库介绍

SK的好处就是里面有丰富的数据集,这些数据集可谓是精挑细选,专门为我们训练模型准备的。

  • 自带的小数据集(packaged dataset):sklearn.datasets.load_<name>
  • 可在线下载的数据集(Downloaded Dataset):sklearn.datasets.fetch_<name>
  • 计算机生成的数据集(Generated Dataset):sklearn.datasets.make_<name>
  • svmlight/libsvm格式的数据集:sklearn.datasets.load_svmlight_file(...)
  • 从买了data.org在线下载获取的数据集:sklearn.datasets.fetch_mldata(...)

用的最多的就是自带小数据集和计算生成的数据集

自带小数据集:




四、常用属性功能

一个模型有很多属性,每种属性对我们最终的预测结果都会有很重要的影响:

1.训练和预测

最终要的属性,也是构建机器学习最小模块中必须的属性:model.fit(),model.predict()

2.参数与分数

对于线性回国模型,他有斜率和截距参数等;model.coef_、model.intercept_

如何评价模型的结果好坏?可以用模型参数进行计算分数:model.score



参考:

莫烦python:   https://morvanzhou.github.io/

scikit-learn官网: http://scikit-learn.org/stable/


原创粉丝点击