当前位置: 首页 > news >正文

重庆网站备案规则素质课网站设计与建设

重庆网站备案规则,素质课网站设计与建设,wordpress侧边栏加图片,域名访问网站文章目录 sklearn基础教程#xff1a;从入门到精通一、sklearn简介二、安装与配置三、数据预处理数据导入数据清洗特征选择数据标准化与归一化 四、常用模型介绍与应用线性回归逻辑回归决策树支持向量机K近邻算法随机森林集成学习 五、模型评估与调优交叉验证网格搜索模型评估… 文章目录 sklearn基础教程从入门到精通一、sklearn简介二、安装与配置三、数据预处理数据导入数据清洗特征选择数据标准化与归一化 四、常用模型介绍与应用线性回归逻辑回归决策树支持向量机K近邻算法随机森林集成学习 五、模型评估与调优交叉验证网格搜索模型评估指标 六、实战案例波士顿房价预测手写数字识别客户流失预测 七、测试接口与详细解释单元测试接口测试 八、总结 个人博客【 洛秋小站】洛秋资源小站【洛秋资源小站】 sklearn基础教程从入门到精通 Scikit-learn简称sklearn是Python中一个强大且易于使用的机器学习库。它提供了丰富的工具集包括数据预处理、特征选择、模型训练、评估和预测。本文将带领读者从零开始详细讲解sklearn的基本用法并通过多个实例帮助读者掌握如何在实际项目中应用这款工具。 一、sklearn简介 Scikit-learn是一个开源的机器学习库基于NumPy、SciPy和matplotlib构建。它为机器学习提供了简单而高效的工具并且具有以下特点 丰富的算法支持包含了回归、分类、聚类、降维等多种机器学习算法。易用性提供了简洁的API接口便于快速上手和使用。良好的文档支持详细的文档和大量的示例代码便于学习和参考。 二、安装与配置 安装scikit-learn非常简单只需使用pip命令即可。 pip install scikit-learn安装完成后可以通过以下命令检查安装是否成功 import sklearn print(sklearn.__version__)三、数据预处理 数据预处理是机器学习的第一步也是非常关键的一步。良好的数据预处理可以显著提高模型的性能。下面我们将介绍数据预处理的几项重要操作。 数据导入 首先我们需要导入数据。sklearn提供了一些内置的数据集方便我们进行学习和测试。以下示例展示了如何加载波士顿房价数据集。 from sklearn.datasets import load_boston import pandas as pd# 加载数据集 boston load_boston() data pd.DataFrame(boston.data, columnsboston.feature_names) data[PRICE] boston.target# 查看数据集前几行 print(data.head())数据清洗 数据清洗包括处理缺失值、重复值和异常值。 # 检查缺失值 print(data.isnull().sum())# 删除含有缺失值的行 data data.dropna()# 检查重复值 print(data.duplicated().sum())# 删除重复值 data data.drop_duplicates()特征选择 特征选择是通过选择最有用的特征来提高模型的性能和可解释性。 from sklearn.feature_selection import SelectKBest, f_regression# 选择最有用的5个特征 selector SelectKBest(f_regression, k5) X_new selector.fit_transform(data.drop(PRICE, axis1), data[PRICE])# 查看选择的特征 print(X_new[:5])数据标准化与归一化 数据标准化和归一化是为了将数据缩放到相同的尺度上从而提高模型的训练效果。 from sklearn.preprocessing import StandardScaler, MinMaxScaler# 标准化 scaler StandardScaler() data_scaled scaler.fit_transform(data.drop(PRICE, axis1))# 归一化 scaler MinMaxScaler() data_normalized scaler.fit_transform(data.drop(PRICE, axis1))四、常用模型介绍与应用 线性回归 线性回归是一种最简单的回归模型用于预测连续型目标变量。 from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error# 分割数据集 X_train, X_test, y_train, y_test train_test_split(data.drop(PRICE, axis1), data[PRICE], test_size0.2, random_state42)# 训练模型 model LinearRegression() model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 mse mean_squared_error(y_test, y_pred) print(Mean Squared Error:, mse)逻辑回归 逻辑回归常用于分类问题尤其是二分类问题。 from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score# 加载数据集以鸢尾花数据集为例 from sklearn.datasets import load_iris iris load_iris() X, y iris.data, iris.target# 分割数据集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 训练模型 model LogisticRegression() model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 accuracy accuracy_score(y_test, y_pred) print(Accuracy:, accuracy)决策树 决策树是一种非参数的监督学习方法可以用于分类和回归。 from sklearn.tree import DecisionTreeClassifier# 训练模型 model DecisionTreeClassifier() model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 accuracy accuracy_score(y_test, y_pred) print(Accuracy:, accuracy)支持向量机 支持向量机SVM是一种用于分类和回归的监督学习模型。 from sklearn.svm import SVC# 训练模型 model SVC() model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 accuracy accuracy_score(y_test, y_pred) print(Accuracy:, accuracy)K近邻算法 K近邻算法KNN是一种简单的非参数分类和回归方法。 from sklearn.neighbors import KNeighborsClassifier# 训练模型 model KNeighborsClassifier(n_neighbors3) model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 accuracy accuracy_score(y_test, y_pred) print(Accuracy:, accuracy)随机森林 随机森林是一种集成学习方法通过构建多个决策树来提高模型的准确性和稳定性。 from sklearn.ensemble import RandomForestClassifier# 训练模型 model RandomForestClassifier(n_estimators100) model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 accuracy accuracy_score(y_test, y_pred) print(Accuracy:, accuracy)集成学习 集成学习通过组合多个模型来提高预测性能。常见的集成学习方法包括Bagging、Boosting和Stacking。 from sklearn.ensemble import GradientBoostingClassifier# 训练模型 model GradientBoostingClassifier(n_estimators100) model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 accuracy accuracy_score(y_test, y_pred) print(Accuracy:, accuracy)五、模型评估与调优 交叉验证 交叉验证是一种评估模型性能的方法通过多次分割数据集来获取模型的稳定性和泛化能力。 from sklearn.model_selection import cross_val_score# 使用交叉验证评估模型 scores cross_val_score(model, X, y, cv5) print(Cross-Validation Scores:, scores) print(Mean Score:, scores.mean())网格搜索 网格搜索是一种超参数调优方法通过遍历所有可能的参数组合来找到最佳参数。 from sklearn.model_selection import GridSearchCV# 定义参数网格 param_grid {n_estimators: [50, 100, 200],max_depth: [None, 10, 20, 30] }# 进行网格搜索 grid_search GridSearchCV(RandomForestClassifier(), param_grid, cv5) grid_search.fit(X_train, y_train)# 输出最佳参数 print(Best Parameters:, grid_search.best_params_)模型评估指标 常见的模型评估指标包括准确率、精确率、召回率、F1分数等。 from sklearn.metrics import precision_score, recall_score, f1_score# 计算精确率 precision precision_score(y_test, y_pred, averagemacro) print(Precision:, precision)# 计算召回率 recall recall_score(y_test, y_pred, averagemacro) print(Recall:, recall)# 计算F1分数 f1 f1_score(y_test, y_pred, averagemacro) print(F1 Score:, f1)六、实战案例 波士顿房价预测 以下示例展示了如何使用线性回归模型预测波士顿房价。 from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error# 加载数据集 boston load_boston() X, y boston.data, boston.target# 分割数据集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 训练模型 model LinearRegression() model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 mse mean_squared_error(y_test, y_pred) print(Mean Squared Error:, mse)手写数字识别 以下示例展示了如何使用支持向量机模型进行手写数字识别。 from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split from sklearn.svm import SVC from sklearn.metrics import accuracy_score# 加载数据集 digits load_digits() X, y digits.data, digits.target# 分割数据集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 训练模型 model SVC() model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 accuracy accuracy_score(y_test, y_pred) print(Accuracy:, accuracy)客户流失预测 以下示例展示了如何使用随机森林模型预测客户流失。 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score# 加载数据集 data pd.read_csv(customer_churn.csv) X data.drop(Churn, axis1) y data[Churn]# 分割数据集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 训练模型 model RandomForestClassifier(n_estimators100) model.fit(X_train, y_train)# 预测 y_pred model.predict(X_test)# 评估模型 accuracy accuracy_score(y_test, y_pred) print(Accuracy:, accuracy)七、测试接口与详细解释 在实际开发中测试是保证代码质量和模型性能的重要环节。sklearn中没有直接的测试模块但我们可以使用Python的unittest库来进行模型和接口的测试。 单元测试 以下示例展示了如何使用unittest进行模型的单元测试。 import unittest from sklearn.linear_model import LinearRegressionclass TestLinearRegression(unittest.TestCase):def setUp(self):self.model LinearRegression()self.X_train [[1, 2], [2, 3], [3, 4], [4, 5]]self.y_train [2, 3, 4, 5]def test_fit(self):self.model.fit(self.X_train, self.y_train)self.assertTrue(hasattr(self.model, coef_), Model should have coefficients after fitting)def test_predict(self):self.model.fit(self.X_train, self.y_train)y_pred self.model.predict([[5, 6]])self.assertEqual(len(y_pred), 1, Prediction should return one value)if __name__ __main__:unittest.main()接口测试 接口测试用于确保系统各部分之间的交互正常。以下示例展示了如何使用unittest进行简单的接口测试。 import unittest from sklearn.datasets import load_iris from sklearn.linear_model import LogisticRegressionclass TestLogisticRegressionAPI(unittest.TestCase):def setUp(self):self.data load_iris()self.X, self.y self.data.data, self.data.targetself.model LogisticRegression()self.model.fit(self.X, self.y)def test_predict(self):y_pred self.model.predict(self.X)self.assertEqual(len(y_pred), len(self.y), Prediction length should match input length)def test_predict_proba(self):proba self.model.predict_proba(self.X)self.assertEqual(proba.shape, (len(self.y), 3), Probability prediction should return correct shape)if __name__ __main__:unittest.main()八、总结 我们探讨了sklearn的基础知识和常用操作。sklearn以其丰富的功能和简洁的API广泛应用于机器学习领域。从数据预处理、模型训练到模型评估sklearn提供了一站式的解决方案。 最后愿大家都可以解决工作中和生活中遇到的难题剑锋所指,所向披靡
http://www.pierceye.com/news/499463/

相关文章:

  • 焦作网站建设费用wordpress php最大输出变量
  • 移动端高端网站开发做私活的网站
  • 广东专业做网站浙江建设工程信息网高工评选
  • 当阳网站建设电话时尚类网站建设
  • 南平网站建设公司seo中文含义是什么
  • 重庆科技建设信息网站关键词做网站标题是什么意思
  • 潍坊中企动力做的网站怎么样哪个网站做黄金交易最好
  • 徐州金网网站建设西安网站建设制作公司
  • 中小企业网站建设好么做国外网站衣服码数要怎么写
  • 新浪做网站wordpress divi 主题
  • 微网站建设资讯网页游戏开发教程
  • 网站建设评估百度公司地址
  • python 做网站开发吗搜房网网站跳出率
  • 深圳企业模板网站建设做高性能的网站 哪门语言好
  • 网站后台不能上传微信公众平台网页版登陆
  • 广州网站营销seo费用成都建设网站那家好
  • 网站建设规划书结构简单wordpress
  • 域名注册网站哪个好山东淄博网络科技有限公司
  • 固始县网站建设培训怎么制作网站首页
  • 产品经理做网站三河市最新消息
  • 做新闻类网站需要什么资质如何外贸seo网站建设
  • 注册网站流程和费用百度seo关键词排名s
  • 做推广网站的去哪能买到有效资料苏州建设网站找网络公司
  • vs做网站如何输出怎么做flash网站
  • 网站做政务广告传媒公司简介ppt
  • 番茄网络营销策划方案seo网站培训
  • 自己做一网站高唐网页定制
  • 快速网站seo效果什么是网络营销与概念
  • 个体网站建设企业网站做的好的有什么公司
  • 建设银行网站短信错误6次wordpress个人淘客