Scikit-learn(简称sklearn)是一个基于Python的开源机器学习库,它建立在NumPy、SciPy和matplotlib这些科学计算库之上,提供了简单而有效的工具,用于机器学习和统计建模,包括分类、回归、聚类和降维等。
以下是一些sklearn基础教程的要点:
-
安装:
- 可以使用pip安装:
pip install scikit-learn
- 可以使用pip安装:
-
导入库:
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)
- 使用网格搜索(GridSearchCV)等技术进行参数调优:
-
模型持久化:
- 保存训练好的模型,以便以后使用:
from joblib import dump, load dump(model, 'model.joblib') loaded_model = load('model.joblib')
- 保存训练好的模型,以便以后使用:
这些是sklearn使用的基础步骤。根据具体的应用场景,你可能还需要了解更高级的模型和特性,比如支持向量机(SVM)、随机森林、主成分分析(PCA)等。你可以通过阅读sklearn的官方文档和教程来获取更深入的知识。