主页 > 其他  > 

AI人工智能机器学习之监督线性模型

AI人工智能机器学习之监督线性模型
1、概要

  本篇学习AI人工智能机器监督学习框架下的线性模型,以LinearRegression线性回归和LogisticRegression逻辑回归为示例,从代码层面测试和讲述监督学习中的线性模型。

2、监督学习之线性模型 - 简介

监督学习和线性模型是的两个重要概念。

监督学习是一种机器学习任务,其中模型在已标记的数据集上进行训练。线性模型是一类通过线性组合输入特征来进行预测的模型。

线性模型的基本形式可以表示为: y = w 1 x 1 + w 2 x 2 + . . . + w n x n + b y=w_1x_1 + w_2x_2 + ... + w_nx_n + b y=w1​x1​+w2​x2​+...+wn​xn​+b

其中:y 是预测值、x是特征、w是特征的权重(系数、b是是偏置(截距)

本篇,以两个示例讲述监督学习框架下集成学习(ensemble learning)的使用方法:

示例1:LinearRegression线性回归,用于预测连续的目标变量,目标是找到最佳的 w和b,使得预测值与实际值之间的均方误差(MSE)最小示例2:LogisticRegression逻辑回归, 用于二分类问题,通过 Sigmoid 函数将线性组合映射到 [0, 1] 区间,以计算每个类别的概率 3、线性模型 3.1、安装依赖

python安装机器学习库: pip install scikit-learn

3.2、示例1: LinearRegression线性回归 import numpy as np from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error, r2_score # 特征矩阵X, X = np.array([[800], [1200], [1600], [2000], [2400]]) # 目标向量y y = np.array([150000, 200000, 250000, 300000, 350000]) # 划分测试集和训练集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) # 创建线性回归模型 model = LinearRegression() # 使用训练集-训练模型 model.fit(X_train, y_train) # 使用测试集-进行预测 y_pred = model.predict(X_test) print("实际结果:%s, 预测结果: %s" % (y_test, y_pred)) # 使用测试集-进行模型评估,使用均方误差(Mean Squared Error, MSE)来评估预测的准确性 mse = mean_squared_error(y_test, y_pred) # rmse = np.sqrt(mse) # 均方根误差 # r2 = r2_score(y_test, y_pred) # 决定系数 # 打印评估结果 print(f"均方误差为: {mse}") # print("均方根误差 (RMSE):", rmse) # print("决定系数 (R²):", r2)

运行上述代码的输出:

实际结果:[250000], 预测结果: [250000.] 均方误差为: 0.0 3.3、示例2:LogisticRegression逻辑回归 import pandas as pd from sklearn.linear_model import LogisticRegression # 创建一个示例数据 data = { 'feature1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'label': [0, 1, 0, 1, 0, 1, 0, 1, 0, 1] } df = pd.DataFrame(data) # 特征和标签 X = df[['feature1']] # 特征 y = df['label'] # 标签 # 划分测试集和训练集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建逻辑回归模型 model = LogisticRegression() model.fit(X, y) # 评估模型性能 # 计算评估指标 conf_matrix = confusion_matrix(y_test, y_pred) accuracy = accuracy_score(y_test, y_pred) precision = precision_score(y_test, y_pred) recall = recall_score(y_test, y_pred) f1 = f1_score(y_test, y_pred) # 打印评估结果 print("混淆矩阵:") print(conf_matrix) print("\n准确率:", accuracy) print("精确率:", precision) print("召回率:", recall) print("F1 分数:", f1) # 分类报告 print("\n分类报告:") print(classification_report(y_test, y_pred))

运行上述代码的输出

混淆矩阵: [[1 0] [0 1]] 准确率: 1.0 精确率: 1.0 召回率: 1.0 F1 分数: 1.0 分类报告: precision recall f1-score support 0 1.00 1.00 1.00 1 1 1.00 1.00 1.00 1 accuracy 1.00 2 macro avg 1.00 1.00 1.00 2 weighted avg 1.00 1.00 1.00 2 4、 总结

本篇以评估线性回归模型和逻辑回归为例,从代码层面测试和讲述监督学习中的线性模型。您可以根据不同的应用场景和需求,选择合适的模型,采用合适的评估指标来评估模型的效果。

标签:

AI人工智能机器学习之监督线性模型由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“AI人工智能机器学习之监督线性模型