python数据挖掘入门与实战——学习笔记(第1、2章)

xiaoxiao2021-02-28  10

使用numpy读取数据集: import numpy as np dataset_filename = 'affinity_dataset.txt' X = np.loadtxt(dataset_filename )

sklearn库的相关概念:

estimator:估计器,用于分类、聚类和回归分析。

transformer:转换器,用于数据预处理和数据转换。

pipeline:流水线,组合数据挖掘流程,便于再次使用。

估计器用于分类任务,主要包括以下两个函数:

fit( ):训练算法,设置内部参数,完成模型的创建。

predict( ):预测测试集类别,并返回一个包含测试集各条数据类别的数组。

import csv with open(data_filename, 'r') as input_file: reader = csv.reader(input_file) 训练集与测试集划分

from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, random_state = 14)

导入分类器包,并实例化一个分类器estimator,接着训练和预测,计算精度。

estimator.fit(x_train, y_train) y_pre = estimator.predict(x_test) accuracy = np.mean(y_test == y_pre) * 100 交叉验证

from sklearn.model_selection import cross_val_score scores = cross_val_score(estimator, x, y, scoring = 'accuracy', cv = 10)# 10-fold cross-validation average_accuracy = np.mean(scores) * 100

sklearn中的预处理工具叫做转换器(transformer),它接受原始数据集,返回转换后的数据集。除了处理数值型特征,转换器还能用来抽取特征。

标准预处理

from sklearn.preprocessing import MinMaxScaler #0-1标准化 x_transformer = MinMaxScaler().fit_transform(x) #类似的还有 #为使每条数据各特征的和为1 from sklearn.preprocessing import Normalizer #为使各特征的均值为0,方差为1 from sklearn.preprocessing import StandardScaler #为将数值型特征二值化,大于阈值为1,反之为0 from sklearn.preprocessing import Binarizer 流水线

当处理问题的步骤很多时,流水线可把这些步骤保存到数据挖掘的工作流中。之后就可以用它们读入数据,做各种处理,然后给出预测结果。

from sklearn.pipeline import Pipeline scaling_pipeline = Pipeline([('scale', MinMaxScaler()), ('predict', KNeighborsClassifier())]) scores = cross_val_score(scaling_pipeline, x_broken, y, scoring = 'accuracy')

转载请注明原文地址: https://www.6miu.com/read-200372.html

最新回复(0)