当前位置:   article > 正文

python机器学习--sklearn数据集使用_使用sklearn处理竞标行为数据集

使用sklearn处理竞标行为数据集

1.sklearn介绍

Scikit-learn(以前称为scikits.learn,也称为sklearn)是针对Python 编程语言的免费软件机器学习库 。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学库NumPy和SciPy联合使用。sklearn是一个Python第三方提供的非常强力的机器学习库,它包含了从数据预处理到训练模型的各个方面。在实战使用scikit-learn中可以极大的节省我们编写代码的时间以及减少我们的代码量,使我们有更多的精力去分析数据分布,调整模型和修改超参。(sklearn为包名)。

2.基本概括

sklearn拥有可以用于监督和无监督学习的方法,一般来说监督学习使用的更多。sklearn中的大部分函数可以归为**估计器(Estimator)转化器(Transformer)**两类。

2.1 估计器

估计器(Estimator)其实就是模型,它用于对数据的预测或回归。基本上估计器都会有以下几个方法:

fit(x,y) :传入数据以及标签即可训练模型,训练的时间和参数设置,数据集大小以及数据本身的特点有关
score(x,y)用于对模型的正确率进行评分(范围0-1)。但由于对在不同的问题下,评判模型优劣的的标准不限于简单的正确率,可能还包括召回率或者是查准率等其他的指标,特别是对于类别失衡的样本,准确率并不能很好的评估模型的优劣,因此在对模型进行评估时,不要轻易的被score的得分蒙蔽。
predict(x)用于对数据的预测,它接受输入,并输出预测标签,输出的格式为numpy数组。我们通常使用这个方法返回测试的结果,再将这个结果用于评估模型。

2.2 转化器

转化器(Transformer)用于对数据的处理,例如标准化、降维以及特征选择等等。同与估计器的使用方法类似:

fit(x,y) :该方法接受输入和标签,计算出数据变换的方式。
transform(x) :根据已经计算出的变换方式,返回对输入数据x变换后的结果(不改变x)
fit_transform(x,y) :该方法在计算出数据变换方式之后对输入x就地转换。
以上仅仅是简单的概括sklearn的函数的一些特点。sklearn绝大部分的函数的基本用法大概如此。但是不同的估计器会有自己不同的属性,例如随机森林会有Feature_importance来对衡量特征的重要性,而逻辑回归有coef_存放回归系数intercept_则存放截距等等。并且对于机器学习来说模型的好坏不仅取决于你选择的是哪种模型,很大程度上与你超参的设置有关。因此使用sklearn的时候一定要去看看官方文档,以便对超参进行调整。

3.sklearn中iris莺尾花数据集使用

# sklearn数据集的使用load_iris
# sklearn拆分数据集train_test_split
# sklearn字典转换器DictVectorizer
from sklearn.datasets import load_iris#导入sklearn中的iris数据集
from sklearn.model_selection import train_test_split#导入sklearn中的模型拆分;训练集与测试集
from sklearn.feature_extraction import DictVectorizer#导入转换器

def datasets_demo():

    '''sklearn数据集使用
    :return:
    '''
    # 获取数据集
    iris =load_iris()
    print('莺尾花数据集:\n',iris)
    print('查看数据集描述:\n',iris['DESCR'])
    print('查看特征值的名字:\n',iris.feature_names)
    print('查看特征值:\n',iris.data,iris.data.shape)

    # 数据集的划分
    x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)
    print('训练集的特征值:\n',x_train,x_train.shape)

    return None
def dict_demo():
    '''字典特征提取
    :return:
    '''
    data=[{'city':'北京','temperature':100},{'city':'上海','temperature':60},{'city':'深圳','temperature':30}]
    #1.实例化一个转换器
    transfer=DictVectorizer()

    #2.调用fit_transform()
    data_new = transfer.fit_transform(data)
    print('data_new:\n',data_new)

    return None
if __name__=='__main__':
    # 代码1:sklearn数据集使用
    # datasets_demo()
    # 代码2:字典特征抽取
    dict_demo()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/948180
推荐阅读
相关标签
  

闽ICP备14008679号