Scikit-learn(简称sklearn)是一个基于Python的开源机器学习库,它建立在NumPy、SciPy和matplotlib这些科学计算库之上,提供了简单而有效的工具,用于机器学习和统计建模,包括分类、回归、聚类和降维等。
以下是一些sklearn基础教程的要点:
- 安装:
- 可以使用pip安装:pip install scikit-learn
- 导入库:
- from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score加载数据:
- sklearn自带了一些数据集,例如鸢尾花数据集(Iris dataset):
- iris = datasets.load_iris() X = iris.data y = iris.target
- 划分数据集:
- 将数据集分为训练集和测试集:
- 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)
- 选择模型:
- 选择一个模型,例如逻辑回归:
- model = LogisticRegression()
- 训练模型:
- 使用训练集数据训练模型:
- model.fit(X_train, y_train)
- 预测:
- 使用测试集数据进行预测:
- y_pred = model.predict(X_test)
- 评估模型:
- 评估模型性能,例如使用准确率:
- print("Accuracy:", accuracy_score(y_test, y_pred))
- 参数调优:
使用网格搜索(GridSearchCV)等技术进行参数调优:
from sklearn.model_selection import GridSearchCV param_grid = {'C': [0.1, 1, 10, 100], 'solver': ['lbfgs', 'liblinear']} grid_search = GridSearchCV(LogisticRegression(), param_grid, cv=5) grid_search.fit(X_train, y_train)
18.模型持久化:
- 保存训练好的模型,以便以后使用:from joblib import dump, load dump(model, 'model.joblib') loaded_model = load('model.joblib')
这些是sklearn使用的基础步骤。根据具体的应用场景,你可能还需要了解更高级的模型和特性,比如支持向量机(SVM)、随机森林、主成分分析(PCA)等。你可以通过阅读sklearn的官方文档和教程来获取更深入的知识。