百度公司网站推广怎么做,div嵌套影响网站收录,国企招聘网最新招聘2023,wordpress顶部图像使用小工具Sklearn 简介
scikit-learn (sklearn) 是 Python 中用于机器学习的最流行的库之一。它提供了一系列有效的算法和工具#xff0c;涵盖各种机器学习任务#xff0c;包括#xff1a;
分类回归聚类降维模型选择数据预处理
Sklearn 六大模块
分类#xff1a;预测离散类别 算…Sklearn 简介
scikit-learn (sklearn) 是 Python 中用于机器学习的最流行的库之一。它提供了一系列有效的算法和工具涵盖各种机器学习任务包括
分类回归聚类降维模型选择数据预处理
Sklearn 六大模块
分类预测离散类别 算法: KNN, 随机森林 逻辑回归 朴素贝叶斯 GBDT XGboost LightGBM应用: 垃圾邮件检测图像识别回归预测连续值 算法: 线性回归 Lasso回归 决策树回归 随机森林回归 XGboost回归应用: 房价预测时间序列预测聚类将相似对象自动分组 算法: k-Means, spectral clustering, mean-shift基于层次聚类 基于密度聚类应用: 客户细分将数据分成相似的组。降维减少数据的维度以提高效率 算法: 因子分析 PCA ICA LDA, 属性降维应用: 可视化减少数据的特征维度以简化问题并提高计算效率模型选择比较和选择最佳模型 模型: Metrics Scoring模型得分 Grid search 网格搜索 Cross Validation 交叉验证 Hyper-Parameters 超参数选择 Validation curves 模型验证曲线目标: 通过参数调整提高精度数据预处理准备和清理数据以进行建模 算法: Standardization标准化 Scaling Features归一化 Non-linear transformation非线性转化Gaussian distribution高斯分布转化 Normalization正则化 Encoding categorical features类别性编码处理应用: 把输入数据转换为机器学习算法可用的数据
快速了解Sklearn库
英文版Sklearn官方网址scikit-learn: machine learning in Python — scikit-learn 1.4.1 documentation 中文版Sklearn官方网址scikit-learn中文社区
代码实现
from sklearn import datasets
from sklearn.datasets import load_iris
#查看库的模块
print(查看库的模块:,dir(sklearn))
#查看模块中的方法和类
print(查看模块中的方法和类:,dir(sklearn.datasets))
#模块中包含的类和方法的详细信息参数、返回值和功能描述
print(模块中包含的类和方法的详细信息参数、返回值和功能描述:,sklearn.datasets.load_iris) Sklearn 库中的模块、类、函数
1.数据模块Data Modules
sklearn.datasets包含示例数据集如Iris、Digits等。sklearn.datasets.fetch_openml用于从OpenML获取数据集。sklearn.datasets.fetch_lfw_people用于获取LFW人脸数据集。 2.数据处理模块Data Preprocessing
sklearn.preprocessing提供特征缩放、标准化、编码、缺失值处理等功能。sklearn.impute用于填充缺失数据的模块。sklearn.feature_selection包括特征选择方法帮助选择最重要的特征。sklearn.decomposition包含降维方法如主成分分析PCA和因子分析。sklearn.model_selection.train_test_split用于将数据集分割为训练集和测试集。 3.回归模块Regression
sklearn.linear_model包含线性回归、岭回归、Lasso回归等线性模型。sklearn.svm支持向量机SVM用于回归任务。sklearn.neighborsk-近邻KNN回归方法。 4.分类模块Classification
sklearn.linear_model逻辑回归、线性判别分析等用于分类的线性模型。sklearn.svm支持向量机SVM用于分类任务。sklearn.neighborsk-近邻KNN分类方法。sklearn.tree决策树分类器。sklearn.ensemble随机森林、AdaBoost、梯度提升等集成学习方法。 5.聚类模块Clustering
sklearn.cluster包括K均值、DBSCAN、层次聚类等聚类算法。sklearn.cluster.KMeansK均值聚类sklearn.cluster.AgglomerativeClustering层次聚类sklearn.cluster.DBSCAN基于密度的聚类方法可以识别具有相似密度的数据点sklearn.cluster.SpectralClustering谱聚类数据之间的相似度矩阵 6.降维模块Dimensionality Reduction
sklearn.decomposition主成分分析PCA、独立成分分析ICA等降维方法。sklearn.decomposition.PCA主成分分析是一种线性降维方法sklearn.decomposition.FastICA独立成分从混合信号中分离出原始信号。 7.模型评估模块Model Evaluation
sklearn.metrics包括各种模型评估指标如准确率、F1分数、ROC曲线等。sklearn.model_selection提供交叉验证、参数搜索和数据集分割的工具。 8.模型保存模块Model Saving
sklearn.externals.joblib用于模型保存和加载的工具。 其他集成学习模块 :
sklearn.ensemble: 这个模块包括集成学习方法如随机森林、梯度提升、AdaBoost等。 Sklearn 常见方法
fit(): 用于训练机器学习模型。predict(): 用于进行预测。transform(): 对数据进行变换如特征工程。score(): 评估模型性能。GridSearchCV(): 用于网格搜索交叉验证以调优模型参数。cross_val_score(): 执行交叉验证并返回评分。train_test_split(): 将数据集分割为训练集和测试集。confusion_matrix(): 计算混淆矩阵用于分类问题的性能评估。 机器学习流程 问题定义 明确定义所要解决的问题需求分析业务理解梳理问题并定义让需求方确认 数据准备 1.获取数据模块数据自制数据公开数据 (1)模块自带的数据集
from sklearn import datasets
dir(datasets) sklearn 库载入数据
from sklearn import datasets
iris datasets.load_iris()# 载入数据 sklearn 自带经典数据集
数据集名称描述类型维度load_bostonBoston房屋价格回归506*13fetch_california_housing加州住房回归20640*9load_diabetes糖尿病回归442*10load_digits手写字分类1797*64load_breast_cancer乳腺癌分类、聚类(357212)*30load_iris鸢尾花分类、聚类(50*3)*4load_wine葡萄酒分类(597148)*13 (2)自制数据集 (3)公开数据集网站和论文 1.Kaggle网址 2.UCI数据集网址 3.论文中数据Papers with Code - The latest in Machine Learning 2.分析数据描述性统计统计特征
1.data.head(); data.tail()查看数据。2.data.info()查看数据的整体信息数据维度shape数据类型dtypes是否有空值。3.data.describe()查看数据的基本统计信息包括均值、方差、最大值、最小值等。4.corr()函数计算变量之间的成对相关性。 3.分析数据数据可视化 数据可视化是通过图表、图形和可视化工具将数据呈现出来以帮助人们更好地理解数据、发现模式和趋势。
图表类型1.条形图Bar Chart用于比较不同类别的数据。2.折线图Line Chart用于显示数据随时间的变化。3.散点图Scatter Plot用于展示两个变量之间的关系。4.饼图Pie Chart用于显示不同部分占整体的比例。5.热力图Heatmap用于呈现矩阵数据的关联和分布。6.箱线图Box Plot用于显示数据分布的中位数、四分位数和离群值。7.直方图Histogram用于展示数据的分布情况。 4.数据清洗缺失重复异常 处理数据中的异常值、缺失值、空值、重复值以及其他不规范的数据是数据预处理的关键步骤以确保数据质量和可用性。
1.缺失删除缺失值空值data.dropna(inplace True)
2.重复data.drop_duplicates(inplace True)
3.异常1.识别异常值异常值通常是与其他数据点明显不同的值可能是输入错误、测量错误或其他原因引起的。箱线图可以了解数据的异常值和分布的离散程度。2.选择处理方法通常的处理方法。3.删除异常值可以将异常值从数据集中删除但要谨慎使用因为可能会损失信息。4.替换异常值你可以将异常值替换为合理的值例如使用中位数、均值或其他合适的统计值。5.标记异常值你可以将异常值进行标记以后可以根据需要进一步处理。 5.特征处理特征缩放特征选择归一化标准化
1.在训练模型之前通常需要对数据进行预处理以确保数据的质量和一致性。
2.标准化 (standardization)每个维度的特征减去该特征均值除以该维度的标准差。
3.归一化 (MinMaxScaler)每个维度的特征减去该特征最小值除以该特征的最大值与最小值之差。
Scikit-learn进行数据变换
预处理操作库名称标准化sklearn.preprocessing.StandardScaler归一化sklearn.preprocessing.MinMaxScaler 6.数据拆分数据拆分为训练集验证集测试集
1.数据分为三个部分训练集、验证集和测试集。
2.训练集用来训练模型验证集用于模型的超参数调整而测试集用于最终评估模型性能。# 拆分数据集为训练集和测试集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)
# 参数解释
# - X_train: 训练集特征
# - X_test: 测试集特征
# - y_train: 训练集目标
# - y_test: 测试集目标
# - test_size: 测试集的比例通常为 0.220% 的数据作为测试集
# - random_state: 随机种子可确保拆分是可重复的 模型搭建和训练 根据任务类型选择合适的模型。 模型评估和优化 常见的评价指标
评价指标库名称使用范围准确率accuracy_score分类精确率precision_score分类F1 值f1_score分类对数损失log_loss分类混淆矩阵confusion_matrix分类含多种评价的分类报告classification_report分类均方误差MSEmean_squared_error回归平均绝对误差MAEmean_absolute_error回归决定系数R2r2_score回归 1.准确率Accuracy准确率是模型正确分类的样本数与总样本数之比。它衡量模型在所有类别中正确分类的比例。准确性高可能是一个好的性能指标但在不平衡类别分布的情况下可能不太合适。
2.精确率Precision又叫查准率是模型预测为正类别正例的样本中实际为正类别的比例。它衡量了模型的正例预测的准确性。
3.召回率Recall又叫查全率是实际为正类别的样本中被模型正确分类为正类别的比例。它衡量了模型捕获正例的能力。召回率越高代表实际负样本被预测出来的概率越高它的含义类似宁可错杀一千绝不放过一个。
4.F1分数F1 ScoreF1分数是精确度和召回率的调和平均值。F1分数高表示模型在精确度和召回率之间取得了平衡。
5.混淆矩阵Confusion Matrix混淆矩阵是一个二维矩阵用于显示模型的分类结果。它包括真正例True Positive, TP、真负例True Negative, TN、假正例False Positive, FP、假负例False Negative, FN。混淆矩阵可以用于计算上述指标。
6.分类报告Classification Report分类报告是一种包含多个分类指标的文档通常包括精确度、召回率、F1分数和支持数每个类别的样本数量。分类报告对多类别分类问题特别有用。二分类
预测值正例预测值反例真实值正例TP – True Positive真正例FN – False Negative假反例真实值反例FP – False Positive假正例TN – True Negative真反例
TP 实际 1预测为 1预测正确
FP 实际 0预测为 1预测错误
FN 实际 1预测为 0预测错确
TN 实际 0预测为 0预测正确
准确率 (TPTN)/(TPTNFPFN)
精准率 TP/(TPFP)
召回率TP/(TPFN)
F1(2×Precision×Recall)/PrecisionRecall 模型保存和应用
1.模型保存joblib.dump(model,train_model.m)
2.模型应用model joblib.load(train_model.m) 常见术语与含义
符号含义X_train训练数据X_test测试数据y_train训练集标签y_test测试集标签X完整数据y数据标签y_pred预测标签