一:Sklearn介绍
Sklearn是一个强大的机器学习库,基于python的。官方文档(http://scikit-learn.org/stable/ )。如下列举部分的使用场景。

由图中,可以看到库的算法主要有四类:分类,回归,聚类,降维。其中:
• 常用的回归:线性、决策树、SVM、KNN ;集成回归:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
• 常用的分类:线性、决策树、SVM、KNN,朴素贝叶斯;集成分类:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
• 常用聚类:k均值(K-means)、层次聚类(Hierarchical clustering)、DBSCAN
• 常用降维:LinearDiscriminantAnalysis、PCA

在官网上还可以学习到很多的使用例子,以及用户指南,所以最好的文档就是sklearn的官网了。

新上手的同学呢,可以在这个网站看到很多的关于机器学习算法的详细介绍,还可以看到具体的使用例子,是个很不错的学习平台。重点需要看这个用户指南 和 API 还有 例子。
用户指南介绍了各种不同的机器学习算法,在学习的时候都是用得到的。

二:Sklearn安装
首先安装Sklearn,在conda下直接执行 conda install scikit-learn即可安装。

三:运行实例
下面运行一个线性回归的例子

from sklearn import datasets
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt#使用以后的数据集进行线性回归(这里是波士顿房价数据)
loaded_data=datasets.load_boston()
data_X=loaded_data.data
data_y=loaded_data.targetmodel=LinearRegression()
model.fit(data_X,data_y)print(model.predict(data_X[:4,:]))
print(data_y[:4])#使用生成线性回归的数据集,最后的数据集结果用散点图表示
X,y=datasets.make_regression(n_samples=100,n_features=1,n_targets=1,noise=10)   #n_samples表示样本数目,n_features特征的数目  n_tragets  noise噪音
plt.scatter(X,y)
plt.show()

结果如下:

下面运行一个SVM分类的例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn import svmxx, yy = np.meshgrid(np.linspace(-3, 3, 500),np.linspace(-3, 3, 500))
np.random.seed(0)
X = np.random.randn(300, 2)
Y = np.logical_xor(X[:, 0] > 0, X[:, 1] > 0)# fit the model
clf = svm.NuSVC(gamma='auto')
clf.fit(X, Y)# plot the decision function for each datapoint on the grid
Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)plt.imshow(Z, interpolation='nearest',extent=(xx.min(), xx.max(), yy.min(), yy.max()), aspect='auto',origin='lower', cmap=plt.cm.PuOr_r)
contours = plt.contour(xx, yy, Z, levels=[0], linewidths=2,linestyles='dashed')
plt.scatter(X[:, 0], X[:, 1], s=30, c=Y, cmap=plt.cm.Paired,edgecolors='k')
plt.xticks(())
plt.yticks(())
plt.axis([-3, 3, -3, 3])
plt.show()

结果如下:

下面运行一个均值漂移的聚类算法,也就是K-means

import numpy as np
from sklearn.cluster import MeanShift, estimate_bandwidth
from sklearn.datasets import make_blobs# #############################################################################
# Generate sample data
centers = [[1, 1], [-1, -1], [1, -1]]
X, _ = make_blobs(n_samples=10000, centers=centers, cluster_std=0.6)# #############################################################################
# Compute clustering with MeanShift# The following bandwidth can be automatically detected using
bandwidth = estimate_bandwidth(X, quantile=0.2, n_samples=500)ms = MeanShift(bandwidth=bandwidth, bin_seeding=True)
ms.fit(X)
labels = ms.labels_
cluster_centers = ms.cluster_centers_labels_unique = np.unique(labels)
n_clusters_ = len(labels_unique)print("number of estimated clusters : %d" % n_clusters_)# #############################################################################
# Plot result
import matplotlib.pyplot as plt
from itertools import cycleplt.figure(1)
plt.clf()colors = cycle('bgrcmykbgrcmykbgrcmykbgrcmyk')
for k, col in zip(range(n_clusters_), colors):my_members = labels == kcluster_center = cluster_centers[k]plt.plot(X[my_members, 0], X[my_members, 1], col + '.')plt.plot(cluster_center[0], cluster_center[1], 'o', markerfacecolor=col,markeredgecolor='k', markersize=14)
plt.title('Estimated number of clusters: %d' % n_clusters_)
plt.show()

结果如下:

这里主要是为了展示Sklearn的使用,和学习的地址,在以后的时间过程中就可以利用这些优秀的开源库进行各种开发和数据分析,大大提升效率,但是学习的时候还是要深入学习的,深入到算法的设计,内部细节,这个还是必不可少的。

每天进步一点点《ML - Sklearn库简单学习》相关推荐

  1. 每天进步一点点《ML - 感知机》

    一些前提的约定,还是沿用上篇文章的哈.先来致敬下男神. 一:感知机 感知机是一种线性二分类模型,其目的是找到能将训练数据线性可分的分离超平面.超平面线性模型为 联想起之前学到逻辑斯特回归的决策边界,Z ...

  2. 感知机介绍及MATLAB实现

    文章目录 前言 1 感知机简介 2 感知机结构 3 感知机学习过程 3.1 数据传播过程 3.2 参数更新过程 4 代码实现 4.1 准备数据 4.2 感知机训练学习 4.3 感知机仿真测试 总结 2 ...

  3. 每天进步一点点《ML - 线性回归》

    本系列Machine Learning 的学习博文很大部分全是受教于 Andrew Ng 的Stanford录制的ML视频,我的男神. 致敬男神! 第一次写这样系列的博文,单纯是为了记录自己的所学,做 ...

  4. 【ML】基于机器学习的心脏病预测研究(附代码和数据集,多层感知机模型)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 之前创作过心脏病预测研究文章如下: [ML]基于机器学 ...

  5. 每天进步一点点《ML - 支持向量机》

    一些前提的约定,还是沿用上篇文章的哈.先来致敬下男神. 一:支持向量机(support vector machine) 在感知机那一章节我们讲了,对样本的分类过程中,可以用维度空间内的某个超平面划分开 ...

  6. 每天进步一点点《ML - 正则化代价函数》

    本系列Machine Learning 的学习博文很大部分全是受教于 Andrew Ng 的Stanford录制的ML视频,我的男神. 一:欠拟合(Under fitting)与过拟合(Over fi ...

  7. 每天进步一点点《ML - 高斯混合模型》

    上一篇文章学习了极大似然估计和EM算法,这一章节就是学习EM算法的具体应用场景,高斯混合模型,是一中聚类的算法. 一:高斯混合模型(GMM) 我们将一个分布复杂的数据分布,用多个高斯概率分布来共同表示 ...

  8. 每天进步一点点《ML - 从极大似然到EM算法》

    一:极大似然 1:概念引入 极大似然参数估计是概率论中学习过的内容,就是预先定义概率分布模型,根据一堆的同概率分布的一堆样本数据去估计该概率模型中的未知参数. 举个例子:有很多西瓜x,我们可以得到每一 ...

  9. 每天进步一点点《ML - 异常点检测》

    一些前提的约定,还是沿用上篇文章的哈.先来致敬下男神. 一:异常点检查(Anomaly Detection) 这一章节相对来说简单很多,也可以说是很大程度是概率论的知识内容了. 异常点,和大部分正常状 ...

最新文章

  1. [iOS] 在UIToolBar中增加UILabel等控件(xib/storyboard图形界面方式)
  2. sigmoid函数求导与自然指数
  3. win32 api setwindowlong 第2个参数_FME与MapBox 01:等时圈(Isochrone)API
  4. 微信端 a 链接无法跳转
  5. slope one 推荐算法python 代码_协同推荐算法实践之Slope One的介绍(转)
  6. 2021年重庆市高考成绩查询时间复核,2021年重庆高考怎么查询是否被录取,具体录取时间安排...
  7. 几个常用的dos命令
  8. MongoDB学习(黑马教程)-6-数据库MongoDB的验证时的错误信息的获取
  9. 华三服务器启用cpu虚拟化,启动BIOS的虚拟化设置方法|开启CPU虚拟化支持
  10. 安卓之位置服务(简单定位用户所在的位置)
  11. LearnGL - 05 - Texture
  12. 自动驾驶IDM与MOBIL模型
  13. 一位程序员搬家到新加坡的体验
  14. jenkins提示没有这个文件: ‘pom.xml‘
  15. 如何解决MacOS Big Sur,打印错误:ERROR invalidcontent?
  16. 思维模型篇:三种思考模型
  17. LinkCloud谈云主机与主机托管主机租用的区别
  18. ecshop 属性自动组合_SpringBoot单元测试:MockMvc的自动配置
  19. 上下相机贴合对位计算公式_展商速递 | 汇驰新材热可塑性光学透明膜优化升级全贴合工艺...
  20. Android提交应用市场

热门文章

  1. 通过Etcd+Confd自动管理Haproxy(多站点)
  2. SQLAPI报错:API client not set
  3. Privacy Policy
  4. html5移动开发入门知识
  5. POJ 1163 The Triangle
  6. 做能及之事,过平淡的日子,烦事多忘,好事多为
  7. Mybatis理解与入门步骤
  8. 最全总结,GitHub Action自动化部署
  9. mac chrome 跨域
  10. Css+Div设置电脑端显示,手机端不显示代码