前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sklearn库的功能_numpy库

sklearn库的功能_numpy库

作者头像
全栈程序员站长
发布2022-11-02 11:22:26
7570
发布2022-11-02 11:22:26
举报
文章被收录于专栏:全栈程序员必看

sklearn是目前python中十分流行的用来实现机器学习的第三方包,其中包含了多种常见算法如:决策树,逻辑回归、集成算法等。

即使你还不太懂机器学习的具体过程,依旧可以使用此库进行机器学习操作,因为其对各种算法进行了良好的封装,可以在不了解算法实现过程的情况下使用算法,所以可以把 sklearn 库当作学习过程中的一个过度,如果你想快速建立一个模型,这也是一个不错的选择。


数据导入

sklearn 内含有很多数据集,可以用来练手,一些小规模数据可以直接使用,但大规模数据要下载

内部小规模数据的导入方式:

代码语言:javascript
复制
from sklearn import datasets

boston = datasets.load_boston()	# 导入波士顿房价数据
iris = datasets.load_iris() # 导入鸢尾花数据
diabetes = datasets.load_diabetes()	# 导入糖尿病数据
digits = datasets.load_digits()	# 导入手写数字集数据

提取特征和目标,以手写数字集为例:

代码语言:javascript
复制
X = digits.data # 获得其特征向量
y = digits.target # 获得样本label

若使用外部的数据集,则需要另行导入,比如以 csv 文件存储的信息,可以选择使用 Pandas 库导入:

代码语言:javascript
复制
import pandas as pd

df = pd.read_csv('load.csv')

数据预处理

如果原始数据不太标准,为避免后期学习过程太长,可以先对数据进行处理

使用模块

代码语言:javascript
复制
from sklearn import preprocessing

标准化

代码语言:javascript
复制
scaler = preprocessing.StandardScaler().fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)

归一化

代码语言:javascript
复制
scaler = preprocessing.MinMaxScaler(feature_range=(0, 1)).fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)

正则化:

代码语言:javascript
复制
normalized = preprocessing.normalize(X, norm='...')

拆分数据集

为了查看训练出的模型的效果,需要将数据拆分为训练集和测试集,一部分用于训练另一部分用于验证

代码语言:javascript
复制
from sklearn.mode_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=1)

test_size 为测试集的比例,random_state 为随机种子


选择模型

举几个例子

代码语言:javascript
复制
from sklearn.svm import SVC	# 支持向量机
model = SVC(C=1.0, kernel=’rbf’, gamma=’auto’)

from sklearn import neighbors	# KNN
model = neighbors.KNeighborsClassifier(n_neighbors=5, n_jobs=1) # 分类
model = neighbors.KNeighborsRegressor(n_neighbors=5, n_jobs=1) # 回归

from sklearn.neural_network import MLPClassifier	# 神经网络
model = MLPClassifier(activation='relu', solver='adam', alpha=0.0001)

模型训练

sklearn 为所有模型提供了非常相似的接口,这样就使训练和验证过程有一个同一的方法

上面所有模型都以 model 变量表示,下面直接运用:

代码语言:javascript
复制
model.fit(X_train, y_train)	# 拟合模型
model.predict(X_test)	# 模型预测
model.get_params()	# 获得这个模型的参数
model.score(X_test, y_test)	# 为模型进行打分

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180915.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据导入
  • 数据预处理
  • 拆分数据集
  • 选择模型
  • 模型训练
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档