赞
踩
Scikit-learn(简称sklearn)是一个广泛使用的Python机器学习库,它提供了各种算法和工具,用于数据挖掘和数据分析。本教程将介绍sklearn的基本概念和使用方法。
如果你还没有安装scikit-learn,可以通过pip进行安装:
- bash
- pip install scikit-learn
在Python中,你可以这样导入scikit-learn和其他常用库:
- python
-
- import numpy as np
- import pandas as pd
- from sklearn import datasets
加载数据集通常很简单,scikit-learn自带了一些标准数据集,例如鸢尾花数据集:
- python
-
- iris = datasets.load_iris()
- X = iris.data
- y = iris.target
数据预处理是机器学习中的重要步骤,scikit-learn提供了许多工具来帮助完成这项工作:
- python
-
- from sklearn.model_selection import train_test_split
- from sklearn.preprocessing import StandardScaler
-
- # 划分数据集
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
-
- # 特征缩放
- scaler = StandardScaler()
- X_train = scaler.fit_transform(X_train)
- X_test = scaler.transform(X_test)
scikit-learn提供了多种监督学习和非监督学习算法。以下是一些常用的模型:
- python
-
- from sklearn.ensemble import RandomForestClassifier
-
- model = RandomForestClassifier(n_estimators=100, random_state=42)
使用训练数据来训练(或称拟合)模型:
- python
-
- model.fit(X_train, y_train)
评估模型的性能,通常在测试集上进行:
- python
-
- from sklearn.metrics import accuracy_score
-
- y_pred = model.predict(X_test)
- accuracy = accuracy_score(y_test, y_pred)
- print(f"Model Accuracy: {accuracy:.2f}")
使用交叉验证、网格搜索等方法对模型进行优化:
- python
-
- from sklearn.model_selection import GridSearchCV
-
- param_grid = {
- 'n_estimators': [50, 100, 200],
- 'max_depth': [None, 10, 20, 30]
- }
-
- grid_search = GridSearchCV(estimator=model, param_grid=param_grid, cv=5)
- grid_search.fit(X_train, y_train)
-
- print(f"Best Parameters: {grid_search.best_params_}")
- print(f"Best CV Score: {grid_search.best_score_}")
一旦模型被训练和优化,就可以用它来进行预测:
- python
-
- new_samples = np.array([[5.1, 3.5, 1.4, 0.2]]) # 新样本特征
- new_samples = scaler.transform(new_samples) # 预处理新样本
- predictions = model.predict(new_samples)
- print(f"Predictions: {predictions}")
Scikit-learn是一个功能强大且易于使用的机器学习库。本教程提供了一个基本的入门指南,帮助你开始使用scikit-learn进行机器学习项目。然而,机器学习是一个广阔的领域,还有许多高级主题等待探索,比如特征工程、模型选择、超参数调优等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。