在机器学习的世界中,Scikit-learn(简称Sklearn)是一个非常有用的库,它为Python提供了丰富的工具来构建和训练机器学习模型。对于初学者来说,Sklearn以其简洁的API和易于理解的代码结构而闻名。以下是通过五个简单例子来帮助你轻松入门Sklearn,并学会机器学习的基础。
例子一:使用Sklearn进行鸢尾花数据集分类
鸢尾花数据集是一个经典的多类分类数据集,非常适合入门级的学习。以下是一个使用Sklearn进行鸢尾花数据集分类的例子:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建K近邻分类器实例
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
# 进行预测
y_pred = knn.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率:{accuracy}")
例子二:线性回归预测房价
线性回归是机器学习中非常基础的一种模型,以下是一个使用Sklearn进行房价预测的例子:
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 假设我们已经有了房价数据
X = [[1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]
y = [200, 220, 240, 260, 280, 300, 320, 340, 360, 380]
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建线性回归模型实例
lr = LinearRegression()
# 训练模型
lr.fit(X_train, y_train)
# 进行预测
y_pred = lr.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差:{mse}")
例子三:决策树分类
决策树是一种直观的监督学习算法,以下是一个使用Sklearn进行决策树分类的例子:
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score
# 使用鸢尾花数据集
X, y = load_iris().data, load_iris().target
# 创建决策树分类器实例
dt = DecisionTreeClassifier()
# 使用交叉验证来评估模型
scores = cross_val_score(dt, X, y, cv=5)
print(f"交叉验证准确率:{scores.mean()}")
例子四:支持向量机分类
支持向量机(SVM)是一种强大的分类算法,以下是一个使用Sklearn进行SVM分类的例子:
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
# 使用鸢尾花数据集
X, y = load_iris().data, load_iris().target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建SVM分类器实例
svm = SVC(kernel='linear')
# 训练模型
svm.fit(X_train, y_train)
# 进行预测
y_pred = svm.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率:{accuracy}")
例子五:随机森林回归
随机森林是一种集成学习方法,它结合了多个决策树来提高预测的准确性和稳定性。以下是一个使用Sklearn进行随机森林回归的例子:
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
# 假设我们有以下数据
X = [[1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]
y = [200, 220, 240, 260, 280, 300, 320, 340, 360, 380]
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建随机森林回归器实例
rf = RandomForestRegressor(n_estimators=100)
# 训练模型
rf.fit(X_train, y_train)
# 进行预测
y_pred = rf.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差:{mse}")
通过这些例子,你可以了解到Sklearn的基本使用方法,包括如何加载数据、划分数据集、创建模型、训练模型以及评估模型。这些是机器学习的基础,也是使用Sklearn进行项目开发的重要步骤。随着你对Sklearn的深入学习和实践,你会逐渐掌握更复杂的模型和高级特性。
