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

机器学些|实战?


机器学习实战:从零到%1 …

今天聊聊机器学习(Machine Learning, ML),这个听起来高大上的技术其实并没有那么神秘。跟着我的节奏,咱们一起来探索一下如何从零开始!

准备工作:安装和导入必要的库

在开始我们的房价预测项目之前,我们需要准备好开发环境并导入所有必要的库。这些库将帮助我们处理数据、构建模型、评估性能以及可视化结果。

安装Python和Jupyter Notebook

首先,确保你已经安装了Python和Jupyter Notebook。如果你还没有安装,可以通过以下步骤来搞定:

  1. 下载并安装Anaconda

    • Anaconda是一个非常流行的Python发行版,包含了大多数你需要的科学计算和机器学习库。
    • 访问Anaconda官网,下载适合你操作系统的版本。
  2. 启动Jupyter Notebook

    • 打开终端(Linux/Mac)或命令提示符(Windows)。
    • 输入jupyter notebook并回车,这将启动Jupyter Notebook服务器并在浏览器中打开一个新窗口。
创建虚拟环境(可选但推荐)

为了确保项目的依赖项不会影响其他项目,建议创建一个虚拟环境:

# 创建一个新的虚拟环境
conda create -n ml_env python=3.8

# 激活虚拟环境
conda activate ml_env
安装必要的库

在你的虚拟环境中,通过以下命令安装所需的库:

pip install numpy pandas scikit-learn matplotlib seaborn jupyter

或者使用conda:

conda install numpy pandas scikit-learn matplotlib seaborn jupyter
导入库并加载数据集

现在我们可以开始编写代码啦!首先,我们需要导入一些必要的库。别担心,我会一步一步带你走。

# 导入基础库
import pandas as pd
import numpy as np

# 导入用于机器学习的库
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error

# 导入用于可视化的库
import matplotlib.pyplot as plt
import seaborn as sns
加载波士顿房价数据集

接下来,我们将加载著名的波士顿房价数据集。这个数据集包含了一些关于房子的信息,如房间数、犯罪率等,以及对应的房子价格。

# 加载波士顿房价数据集
boston = load_boston()

# 将数据转换为DataFrame,方便后续处理
data = pd.DataFrame(boston.data, columns=boston.feature_names)
data['PRICE'] = boston.target

# 查看前几行数据
print(data.head())

输出应该类似于这样:

      CRIM    ZN  INDUS  CHAS    NOX     RM   AGE     DIS  RAD    TAX  \
0  0.00632  18.0   2.31   0.0  0.538  6.575  65.2  4.0900  1.0  296.0   
1  0.02731   0.0   7.07   0.0  0.469  6.421  78.9  4.9671  2.0  242.0   
2  0.02729   0.0   7.07   0.0  0.469  7.185  61.1  4.9671  2.0  242.0   
3  0.03237   0.0   2.18   0.0  0.458  6.998  45.8  6.0622  3.0  222.0   
4  0.06905   0.0   2.18   0.0  0.458  7.147  54.2  6.0622  3.0  222.0   

   PTRATIO       B  LSTAT  
0     15.3  396.90   4.98  
1     17.8  396.90   9.14  
2     17.8  392.83   4.03  
3     18.7  394.63   2.94  
4     18.7  396.90   5.33
数据探索

了解数据是进行任何分析的第一步。我们可以查看数据的基本统计信息,并绘制一些简单的图表来帮助我们理解数据。

# 查看数据的基本统计信息
print(data.describe())

# 绘制房价分布图
plt.hist(data['PRICE'], bins=50)
plt.xlabel('Price in $1000s')
plt.ylabel('Number of houses')
plt.title('Distribution of House Prices')
plt.show()
数据预处理

在实际应用中,数据往往需要经过清洗和预处理。常见的步骤包括缺失值处理、特征缩放等。

# 检查是否有缺失值
print(data.isnull().sum())

# 特征缩放
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data.drop('PRICE', axis=1))
构建模型

现在我们可以选择一个简单的线性回归模型来开始:

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(scaled_data, data['PRICE'], test_size=0.2, random_state=42)

# 创建并训练模型
model = LinearRegression()
model.fit(X_train, y_train)
评估模型

训练完模型后,我们需要评估它的性能:

# 预测测试集
predictions = model.predict(X_test)

# 计算均方误差(MSE)
mse = mean_squared_error(y_test, predictions)
print(f'Mean Squared Error: {mse}')

# 可视化预测结果
plt.scatter(y_test, predictions)
plt.xlabel('Actual Prices')
plt.ylabel('Predicted Prices')
plt.title('Actual vs Predicted Prices')
plt.show()
进阶技巧

当然,这只是入门级别的实践。如果你想进一步提升你的机器学习技能,可以尝试以下几点:

  1. 交叉验证:使用K折交叉验证来评估模型的稳定性。
  2. 调参优化:使用网格搜索(Grid Search)或随机搜索(Random Search)来找到最佳超参数组合。
  3. 集成学习:尝试使用随机森林(Random Forest)、梯度提升(Gradient Boosting)等集成学习方法。

相关文章:

  • 基于Java+SpringBoot+Vue的前后端分离的校园闲置物品交易网站
  • [Windows] Win7也能控制安卓手机屏幕(手机镜像投屏):scrcpy
  • PhotoShop批处理
  • Redis7——基础篇(三)
  • 3分钟了解内外网文件传输:常见方法、注意事项有哪些?
  • 【Scrapy】Scrapy教程5——第一个Scrapy项目
  • LeetCode 2080.区间内查询数字的频率:哈希表+二分查找
  • 在线OJ答题平台功能实现
  • 基于JavaWeb的公务员招考信息发布平台(源码+文档)
  • 调用openssl实现加解密算法
  • git删除本地分支
  • python继承中super() 不是简单的“调用父类”,而是调用 MRO 里的下一个类
  • LeetCode每日精进:225.用队列实现栈
  • 「pandas」Pandas 基本数据操作、 索引、赋值、排序
  • 网络工程师 (45)网际控制报文协议ICMP
  • blackbox.ai 一站式AI代理 畅享顶级模型
  • 如何使用 vxe-table grid 全配置式给单元格字段格式化内容,格式化下拉选项内容
  • MybatisPlus-扩展功能
  • Axure RP11 新功能:为设计师插上“翅膀”
  • Low code web framework for real world applications, in Python and Javascript
  • 夹缝中的责编看行业:长视频之殇,漫长周期
  • 视觉周刊|劳动开创未来
  • 普京称俄中关系对维护世界稳定具有战略意义
  • 印度扩大对巴措施:封锁巴基斯坦名人账号、热门影像平台
  • 中国固体火箭发动机领域杰出专家赵殿礼逝世,享年92岁
  • 中国证券监督管理委员会党委委员、副主席王建军接受审查调查