以下是一个自动选择机器学习模型及调整参数的 Python 代码示例:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
from sklearn.model_selection import GridSearchCV

# 加载数据集
iris = 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)

# 定义模型列表和参数字典
models = {
    'LogisticRegression': {
        'model': LogisticRegression(),
        'params': {
            'C': [0.1, 1, 10]
        }
    },
    'DecisionTreeClassifier': {
        'model': DecisionTreeClassifier(),
        'params': {
            'max_depth': [1, 5, 10]
        }
    },
    'RandomForestClassifier': {
        'model': RandomForestClassifier(),
        'params': {
            'n_estimators': [10, 50, 100]
        }
    },
    'SVC': {
        'model': SVC(),
        'params': {
            'C': [0.1, 1, 10],
            'kernel': ['linear', 'rbf']
        }
    }
}

# 遍历模型列表,并使用GridSearchCV调整参数
for model_name, model_params in models.items():
    clf = GridSearchCV(model_params['model'], model_params['params'], cv=5)
    clf.fit(X_train, y_train)
    y_pred = clf.predict(X_test)
    print(model_name + ' accuracy_score: ' + str(accuracy_score(y_test, y_pred)))
    print('Best parameters: ' + str(clf.best_params_))

该代码首先加载鸢尾花数据集,然后将其划分为训练集和测试集。接下来,定义了一个包含四个模型的字典,每个模型都有一个参数字典,用于调整模型参数。

然后,遍历模型列表,并使用GridSearchCV调整参数。在每个模型上,GridSearchCV执行5折交叉验证,并找到最佳参数组合。最后,打印出每个模型的准确度和最佳参数。

这个代码示例可以帮助您自动选择机器学习模型及调整参数。


原文地址: https://www.cveoy.top/t/topic/oJSU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录