机器学习是一个广泛的领域,涵盖了从数据预处理、模型构建、训练到评估的各个方面。本文将介绍机器学习的基础,包括如何处理数据集、理解数据类型和一些基本的统计学知识。这些知识是进行机器学习项目的基础。
数据集是进行机器学习的基础。通常,数据集分为训练集和测试集,用于训练模型和评估模型性能。
我们将使用一个示例数据集,它包含一些简单的房价数据。以下是一个示例数据集的结构:
在进行机器学习时,理解数据的类型非常重要。常见的数据类型包括:
数据预处理是机器学习中的重要步骤,包括数据清洗、数据转换和数据缩放等。
数据清洗涉及处理缺失值和异常值。
import pandas as pd import numpy as np # 创建示例数据集 data = { '房屋面积': [1500, 1700, 2100, 2200, np.nan, 2500], '房屋价格': [300000, 350000, 400000, 420000, 450000, np.nan] } df = pd.DataFrame(data) # 处理缺失值 df = df.dropna() # 删除包含缺失值的行 # df = df.fillna(df.mean()) # 用平均值填充缺失值 print(df)
有时需要将分类数据转换为数值数据。例如:
data = { '房屋类型': ['公寓', '别墅', '公寓', '别墅'], '房屋面积': [1500, 1700, 2100, 2200] } df = pd.DataFrame(data) # 将分类数据转换为数值数据 df['房屋类型'] = df['房屋类型'].map({'公寓': 0, '别墅': 1}) print(df)
数据缩放是将特征的值缩放到一个特定的范围,例如 [0, 1] 或标准化为均值为 0、标准差为 1 的分布。
from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaled_data = scaler.fit_transform(df[['房屋面积']]) df['房屋面积_标准化'] = scaled_data print(df)
在进行数据分析时,一些基本的统计学概念和方法非常有用。
mean = df['房屋价格'].mean() std_dev = df['房屋价格'].std() print(f'均值: {mean}, 标准差: {std_dev}')
median = df['房屋价格'].median() quantiles = df['房屋价格'].quantile([0.25, 0.5, 0.75]) print(f'中位数: {median}') print(f'分位数: {quantiles}')
相关性用于衡量两个变量之间的关系。
correlation = df.corr() print(f'相关性矩阵:\n{correlation}')
使用 scikit-learn 库进行一个简单的线性回归示例:
from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression # 示例数据 data = { '房屋面积': [1500, 1700, 2100, 2200, 2500], '房屋价格': [300000, 350000, 400000, 420000, 450000] } df = pd.DataFrame(data) # 特征和目标变量 X = df[['房屋面积']] y = df['房屋价格'] # 拆分数据集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建并训练模型 model = LinearRegression() model.fit(X_train, y_train) # 预测 predictions = model.predict(X_test) print(f'预测值: {predictions}') print(f'实际值: {y_test.values}')
本文介绍了 Python 机器学习的基础,包括如何处理数据集、理解数据类型、进行数据预处理,以及一些基本的统计学概念。通过这些知识,你可以开始进行简单的机器学习项目,并逐步深入到更复杂的模型和算法。
原文链接:codingdict.net