sklearn的常用函数

  sklearn,全称Scikit-learn,是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归、降维、分类、聚类等方法。它是一个基于NumPy、SciPy和matplotlib等Python科学计算库构建的机器学习库,提供了各种常见的机器学习算法和工具,包括分类、回归、聚类、降维、模型选择、预处理等。

通常具有以下几个步骤:

(1)加载数据

(2)选择合适的模型,

(3)进行训练

(4)对模型进行评估

(5)预测新数据的值

目录

1 标准化

2 特征提取

3 对模型进行评估(示例一)

4 对模型进行评估(示例二)

5 决策树(示例三)


1 标准化

下面是数据标准化的示例,数据标准化具有以下意义:

  • 提高数据质量,确保数据的准确性和一致性。
  • 提高数据可操作性,打破数据孤岛现象,实现数据的共享与交流。
  • 提高数据处理效率,减少不必要的重复工作和错误。
from sklearn import preprocessing
import numpy as np

#生成5*2的数组
data=np.random.rand(5,2)

#创建StandardScaler对象
scaler=preprocessing.StandardScaler().fit(data)
scaled_data=scaler.transform(data)

print(scaled_data)

2 特征提取

特征提取是从数据中提取出有效信息的过程,它包括从原始数据中辨识出各种特征,并将这些特征用于机器学习算法,以便创建出具有预测或分类功能的模型。

进行特征提取的原因有1:

  • 简化数据 。原始数据存在大量的冗余信息和噪声,这些信息会干扰数据的分析和处理,通过特征提取可以将数据转化为更简洁、更有意义的特征向量,从而减少数据的复杂度和噪声干扰。
  • 提高分类准确率 。在机器学习和计算机视觉中,通常需要将数据分为不同的类别,通过特征提取可以将数据转化为更具有区分性的特征向量,从而提高分类的准确率。
  • 加速计算 。在大规模数据处理中,计算速度往往是一个重要的考虑因素,通过特征提取可以将数据转化为更简洁的特征向量,从而减少计算量,提高计算速度。
from sklearn.feature_extraction.text import CountVectorizer

txt={"This is a sheep.","I am a sheep","Yes Yes No"}

#提取特征
vector=CountVectorizer()
X=vector.fit_transform(txt)

#生成词频向量
print(X.toarray())

3 对模型进行评估(示例一)

通过评估模型,能够:

  1. 了解模型性能 。通过评估模型,可以了解模型在各种情况下的性能,如模型的准确率、精度、召回率等,从而更好地了解模型的优缺点,为后续的模型优化提供参考1。
  2. 调整模型参数 。通过对模型进行评估,可以了解模型参数对模型性能的影响,从而调整模型参数以优化模型性能1。
#网格搜索
from sklearn.model_selection import GridSearchCV
from sklearn import svm,datasets

#加载数据
iris=datasets.load_iris()

#定义模型和参数
param = {'kernel': ('linear', 'rbf'), 'C': [1, 10]}
svc=svm.SVC()

#进行网格搜索
clf=GridSearchCV(svc,param)
clf.fit(iris.data,iris.target)

#输出最优参数与成绩
print(clf.best_params_)
print(clf.best_score_)

4 对模型进行评估(示例二)

from sklearn.datasets import load_breast_cancer
from sklearn.feature_selection import SelectKBest,f_classif
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

#加载数据集
data=load_breast_cancer()

#划分数据集
X_train,X_test,Y_train,Y_test=train_test_split(data.data,data.target,test_size=2,random_state=42)

#特征选取
selector=SelectKBest(score_func=f_classif,k=10)
X_train_new=selector.fit_transform(X_train,Y_train)
X_test_new=selector.transform(X_test)

#训练模型
clf=SVC()
clf.fit(X_train_new,Y_train)

#评估模型
score=clf.score(X_test_new,Y_test)

print(score)

5 决策树(示例三)

from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris

iris=load_iris()

clf=DecisionTreeClassifier()
clf.fit(iris.data,iris.target)

y_pred=clf.predict([[9.0,3.2,2.1,4.3]])
print(y_pred)


 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值