sklearn 的基本机器学习(分类方法)
来源:互联网 发布:软件开发部职责 编辑:程序博客网 时间:2024/06/08 13:57
1.
KNN原理:
存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中最相似数据(最近邻)的分类标签。一般来说,只选择样本数据集中前
代码:
#-*-coding:utf-8 -*-from sklearn import datasets#导入内置数据集模块from sklearn.neighbors import KNeighborsClassifier#导入sklearn.neighbors模块中KNN类import numpy as npiris=datasets.load_iris()#导入鸢尾花的数据集,iris是一个数据集,内部有样本数据iris_x=iris.datairis_y=iris.targetindices = np.random.permutation(len(iris_x))#permutation接收一个数作为参数(150),产生一个0-149一维数组,只不过是随机打乱的iris_x_train = iris_x[indices[:-10]] #随机选取140个样本作为训练数据集iris_y_train = iris_y[indices[:-10]]# 并且选取这140个样本的标签作为训练数据集的标签iris_x_test = iris_x[indices[-10:]]# 剩下的10个样本作为测试数据集iris_y_test = iris_y[indices[-10:]]# 并且把剩下10个样本对应标签作为测试数据及的标签knn = KNeighborsClassifier()# 定义一个knn分类器对象knn.fit(iris_x_train, iris_y_train)# 调用该对象的训练方法,主要接收两个参数:训练数据集及其样本标签iris_y_predict = knn.predict(iris_x_test)# 调用该对象的测试方法,主要接收一个参数:测试数据集score = knn.score(iris_x_test, iris_y_test, sample_weight=None)# 调用该对象的打分方法,计算出准确率print('iris_y_predict = ')print(iris_y_predict)# 输出测试的结果print('iris_y_test = ')print(iris_y_test)# 输出原始测试数据集的正确标签,以方便对比print 'Accuracy:', score# 输出准确率计算结果
2.
SVM原理:
SVM既可以用来分类,就是SVC;又可以用来预测,或者成为回归,就是SVR
代码:
from sklearn import svmX = [[0, 0], [1, 1], [1, 0]] # 训练样本y = [0, 1, 1] # 训练目标clf = svm.SVC() clf.fit(X, y) # 训练SVC模型result = clf.predict([2, 2]) # 预测 测试样本print result # 得出预测值
此外补充一个训练模型的加载与保存:
# 将训练好的模型保存到train_model.m中joblib.dump(clf, "train_model.m")# 模型的加载clf = joblib.load("train_model.m")
3.集成方法 随机森林原理:
集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。随机森林是集成学习的一个子类.
代码:
#coding=utf-8from sklearn import datasetsfrom sklearn.ensemble import RandomForestClassifier#应用iris数据集import numpy as npiris=datasets.load_iris()#导入鸢尾花的数据集,iris是一个数据集,内部有样本数据iris_x=iris.datairis_y=iris.targetindices = np.random.permutation(len(iris_x))#permutation接收一个数作为参数(150),产生一个0-149一维数组,只不过是随机打乱的x_train = iris_x[indices[:-10]] #随机选取140个样本作为训练数据集y_train = iris_y[indices[:-10]]# 并且选取这140个样本的标签作为训练数据集的标签x_test = iris_x[indices[-10:]]# 剩下的10个样本作为测试数据集y_test = iris_y[indices[-10:]]# 并且把剩下10个样本对应标签作为测试数据及的标签#分类器:自由森林clfs = {'random_forest' : RandomForestClassifier(n_estimators=50)}#构建分类器,训练样本,预测得分def try_different_method(clf): clf.fit(x_train,y_train.ravel()) score = clf.score(x_test,y_test.ravel()) print('the score is :', score)for clf_key in clfs.keys(): print('the classifier is :',clf_key) clf = clfs[clf_key] try_different_method(clf)
阅读全文
0 0
- sklearn 的基本机器学习(分类方法)
- 机器学习(二)使用sklearn库的datasets练习KNN分类
- Sklearn,xgboost机器学习多分类实验
- LDA and QDA 分类:机器学习 Sklearn
- 机器学习决策树:sklearn分类和回归
- Python机器学习库sklearn里利用LR模型进行三分类(多分类)的原理
- Python机器学习库sklearn里利用感知机进行三分类(多分类)的原理
- 机器学习笔记(5)sklearn基本使用
- sklearn应用于机器学习时的验证方法
- sklearn ------------机器学习的万能钥匙
- 使用Sklearn模型做分类并绘制机器学习模型的ROC曲线
- 机器学习基础 维基翻译 超参数选择 K近邻法 及简单的sklearn例子 分类:机器学习Sklearn
- 机器学习基础 维基翻译 保序回归 随机森林 Pipeline处理 及简单的sklearn例子 分类:机器学习Sklearn
- 用Python开始机器学习(4:KNN分类算法) sklearn做KNN算法 python
- 机器学习应用——sklearn自带数据集训练(支持向量机分类)
- Python机器学习库SKLearn分类算法之朴素贝叶斯
- scikit-learn 回归基础 分类:机器学习Sklearn
- scikit-learn svm初探 分类:机器学习 Sklearn
- WebService到底是什么?
- 排序&&单链表反转
- seajs学习
- 记录Qt+VS开发过程中遇到的问题
- c语言之链表学习小结
- sklearn 的基本机器学习(分类方法)
- [剑指offer]镜像二叉树
- Spring事务配置的五种方式
- SPARKapi 的python版本
- Kettle---初识
- Watchdog实现原理
- NetBIOS主机名扫描工具nbtscan
- 【转】水文模型相关
- Java设计模式之单例模式