在 sklearn(scikit-learn)中,常用的机器学习模型覆盖了监督学习、非监督学习、聚类、降维等多个方面。以下是一些常见的模型和它们的调用方式:
线性回归和分类
sklearn.linear_model.LinearRegressionsklearn.linear_model.LogisticRegressionsklearn.linear_model.Ridgesklearn.linear_model.ElasticNet支持向量机
sklearn.svm.SVCsklearn.svm.SVR决策树
sklearn.tree.DecisionTreeClassifiersklearn.tree.DecisionTreeRegressor集成方法
sklearn.ensemble.RandomForestClassifiersklearn.ensemble.RandomForestRegressorsklearn.ensemble.GradientBoostingClassifiersklearn.ensemble.GradientBoostingRegressorsklearn.ensemble.AdaBoostClassifiersklearn.ensemble.AdaBoostRegressork近邻
sklearn.neighbors.KNeighborsClassifiersklearn.neighbors.KNeighborsRegressor聚类
sklearn.cluster.KMeanssklearn.cluster.AgglomerativeClusteringsklearn.cluster.DBSCANsklearn.cluster.MeanShift降维
sklearn.decomposition.PCAsklearn.discriminant_analysis.LinearDiscriminantAnalysissklearn.decomposition.FastICA在 sklearn 中,模型的调用通常遵循以下步骤和规律:
导入模型:从相应的模块中导入所需的模型类。
from sklearn.linear_model import LinearRegression from sklearn.ensemble import RandomForestClassifier
实例化模型:使用模型类创建模型对象,可以在这里设置超参数。
model = LinearRegression() rf_model = RandomForestClassifier(n_estimators=100)
训练模型:使用 .fit() 方法,将训练数据传入模型进行训练。
model.fit(X_train, y_train) rf_model.fit(X_train, y_train)
预测:使用 .predict() 方法,对新数据进行预测。
predictions = model.predict(X_test) rf_predictions = rf_model.predict(X_test)
评估模型:使用 sklearn.metrics 提供的评估函数对模型性能进行评估。
from sklearn.metrics import mean_squared_error, accuracy_score mse = mean_squared_error(y_test, predictions) accuracy = accuracy_score(y_test, rf_predictions)
sklearn 提供了统一的接口和调用方式,使得不同模型的使用过程高度一致,极大地方便了用户的学习和使用。这种统一性是 sklearn 受到广泛欢迎的重要原因之一。
有些常用的机器学习模型和算法不在 sklearn(scikit-learn)中调用,通常是因为它们具有特定的特性、需求或优化目标。以下是一些不在 sklearn 中调用的常见机器学习模型及其原因:
LightGBM(Light Gradient Boosting Machine)
XGBoost(Extreme Gradient Boosting)
CatBoost
TensorFlow 和 PyTorch
Keras
sklearn 中调用,主要是因为它们有特定的性能优化需求、功能需求或特定领域的应用。它们通常提供更高效的实现、更丰富的功能和更好的扩展性,以满足特定场景和应用的需求。这些模型和库通过专门的设计和优化,能够在各自的领域中提供卓越的性能和使用体验。