实现机器学习相关常见任务的Python代码示例:
一、数据预处理
1. 加载数据(以CSV文件为例)
使用 pandas 库
import pandas as pd
# 读取CSV文件
data = pd.read_csv('your_data.csv')
1. 处理缺失值(以填充均值为例)
from sklearn.impute import SimpleImputer
# 假设数据集中数值型特征在列索引0到3
num_cols = list(range(4))
imputer = SimpleImputer(strategy='mean')
data[num_cols] = imputer.fit_transform(data[num_cols])
1. 特征标准化
使用 sklearn 库的 StandardScaler
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
# 对数值型特征进行标准化
data[num_cols] = scaler.fit_transform(data[num_cols])
二、监督学习算法 - 线性回归
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 假设X是特征矩阵,y是目标变量
X = data.drop('target_column', axis = 1)
y = data['target_column']
# 划分训练集和测试集
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)
# 预测
y_pred = model.predict(X_test)
三、监督学习算法 - 逻辑回归(用于分类问题)
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 假设X是特征矩阵,y是分类目标变量
X = data.drop('target_column', axis = 1)
y = data['target_column']
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_train, y_train)
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
四、无监督学习算法 - PCA(主成分分析)
from sklearn.decomposition import PCA
# 假设X是特征矩阵
X = data.drop('target_column', axis = 1)
pca = PCA(n_components=0.95) # 保留95%方差
X_pca = pca.fit_transform(X)
五、模型评估 - 计算均方误差(用于回归问题)
from sklearn.metrics import mean_squared_error
# 假设y_test是真实值,y_pred是预测值
mse = mean_squared_error(y_test, y_pred)
六、模型保存与加载
1. 保存模型(以线性回归模型为例)
import joblib
joblib.dump(model, 'linear_regression_model.pkl')
1. 加载模型
loaded_model = joblib.load('linear_regression_model.pkl')
这些代码只是基础示例,实际应用中需根据具体数据和任务进行调整和优化。