赞
踩
目录
本来是想了解完Dask后做一个分布式的测试,在gitee上找了一个源码库,结果太简单了没有任何参考价值,将就看吧。
首先说明源码是使用了经典的鸢尾花数据集(Iris dataset),该数据集包含了三种不同种类的鸢尾花的测量数据。
鸢尾花数据集是一个常用的测试数据集,这些数据通常用于分类任务的示例和测试,用于演示和验证机器学习算法的分类能力。
该代码使用鸢尾花数据集进行了简单的特征选择(使用全部四个特征),并进行了简单的数据划分(训练集和测试集)。
iris = datasets.load_iris()
这一行代码使用 sklearn.datasets
模块中的 load_iris()
函数加载了鸢尾花数据集。
- X_train, X_test, y_train, y_test = train_test_split(
- iris_X, iris_y, train_size=.7)
iris.data
包含了鸢尾花的四个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度。
iris.target
包含了每个样本对应的类别标签,分别代表三种不同的鸢尾花品种。
- X_train, X_test, y_train, y_test = train_test_split(
- iris_X, iris_y, train_size=.7)
使用 train_test_split
函数将数据集划分为训练集(70%)和测试集(30%)。设置 train_size=.7
表示训练集占总数据的70%。
pip install dask distributed matplotlib seaborn scikit-learn imbalanced-learn joblib
运行src_svm目录中的joblib_svm.py文件。
python3 joblib_svm.py
在这个文件中,是使用支持向量机(SVM)进行分类,预测鸢尾花的品种。
sklearn
提供的 datasets.load_iris()
加载数据。svm.SVC
作为分类器。dask.distributed
来分布式执行任务。执行结果:
其中上半部分为性能变量:
下半部分为混淆矩阵。随机森林的混淆矩阵(Confusion Matrix)是一个 3x3 的矩阵,用于评估分类模型在多分类问题上的性能:
在这里表示:
[17 0 0]
表示真实类别为 0 的样本,模型预测为类别 0 的有 17 个,预测为类别 1 和类别 2 的都没有。[ 0 10 2]
表示真实类别为 1 的样本,模型预测为类别 1 的有 10 个,预测为类别 0 的没有,预测为类别 2 的有 2 个。[ 0 0 16]
表示真实类别为 2 的样本,模型预测为类别 2 的有 16 个,预测为类别 0 和类别 1 的都没有。源码的主要作用是构建一个机器学习模型来预测信用卡交易是否为欺诈。使用的数据集是名为 creditcard.csv
的CSV文件,位于当前工作目录下的 ./dataset/creditcard.csv
。
使用 Pandas 的 read_csv
函数读取 creditcard.csv
文件。
使用 RobustScaler 对 Amount
和 Time
列进行缩放,以减少异常值的影响。
将数据集划分为特征 (X
) 和标签 (y
)。
使用 train_test_split
函数将数据集划分为训练集 (X_train_resampled
, y_train_resampled
) 和测试集 (x_test
, y_test
),并且通过 stratify=y
参数保持了训练集和测试集中类别的比例一致。
使用 SMOTE 进行过采样,以处理类别不平衡问题,通过 fit_resample
方法生成了平衡后的训练集 (X_train_resampled
, y_train_resampled
)。
使用随机森林分类器 (RandomForestClassifier
),设置了 n_estimators=100
用于构建 100 棵决策树,criterion='gini'
使用基尼不纯度作为划分标准,n_jobs=4
表示使用 4 个并行作业。
使用 joblib.parallel_backend("dask")
实现在 Dask 集群中并行训练模型。
对测试集 x_test
进行预测,并计算模型的准确率、召回率和 F1 值。
打印模型的准确率、召回率、F1 值以及训练和预测所花费的时间。
输出分类报告 (classification_report
) 和混淆矩阵 (confusion_matrix
),用于评估模型在测试集上的性能。
绘制混淆矩阵的热图,帮助可视化模型预测结果和真实结果之间的差异。
提示没有数据集文件:
我去gitee上找了个数据集:Datasets: jbrownlee/Datasets
下载后转到数据集目录记得解压:
unzip creditcard.csv.zip
but这个数据集不对,暂时放置。运行后提示少了一行关键字:
后续找到正确的数据集后再运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。