1、什么是机器学习
机器学习的英文名称叫Machine Learning,简称ML,该领域主要研究的是如何使计算机能够模拟人类的学习行为从而获得新的知识
简单来说,机器学习就是让计算机从大量的数据中学习到相关的规律和逻辑,然后利用学习来的规律来预测以后的未知事物
sklearn是机器学习中一个常用的python第三方模块,网址:http://scikit-learn.org/stable/index.html
2、学习的步骤
①数据的加载
②选择模型
③模型的训练
④模型的预测
⑤模型的评测
⑥模型的保存
3、机器学习模型
1、sklearn库的框架
train_x, train_y, test_x, test_y = getData()
model1 = somemodel()
model.fit(train_x,train_y)
predictions = model.predict(test_x)
score =score_function(test_y, predictions)
joblib.dump(knn, 'filename.pkl')
2、步骤(此处使用sklearn自带的鸢尾花数据,若用其他数据需要pandas导入,注意导入的数据文件与创建代码文件要在同一个文件夹中)
(1)使用sklearn导入数据
#导入数据集模块
from sklearn import datasets
#分别加载iris和digits数据集
iris = datasets.load_iris()
digits = datasets.load_digits()
#使用.data() 和.target()方法熟悉导入的数据结构
>>> print(iris.data)
>>> print(iris.target)
#使用sklearn分割数据
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.4,random_state=0)
(2)使用sklearn模型的选择
from sklearn import svm
svc = svm.SVC()
(3)使用sklearn模型的训练
svc.fit(X_train, y_train)
(4)使用sklearn进行模型的预测
print(svc.predict([[5.84,4.4,6.9,2.5]]))
(5)机器学习评测的指标
①机器学习库sklearn中,我们使用metrics方法实现:
import numpy as np
from sklearn.metrics import accuracy_score
y_pred = [0, 2, 1, 3]
y_true = [0, 1, 2, 3]
accuracy_score(y_true, y_pred)
②评测方法:交叉验证 (Cross validation)
将原始数据分成K个子集(一般是均分),将每个子集数据分别做一次测试集 (testing test),其余的K-1组子集数据作为训练集(trainning test),这样会得到K个模型,用这K个模型最终的验证集的分类指标的平均数作为此K-CV下分类器的性能指标
机器学习库sklearn中,我们使用cross_val_score方法实现:
from sklearn.model_selection import cross_val_score
scores = cross_val_score(knn, iris.data, iris.target, cv=5)