机器学习常用数据集鸢尾花数据集的使用举例子,同时对数据集进行相应的介绍。
3条回答 默认 最新
关注鸢尾花数据集(部分),共计150条记录,包含 setosa,versicolor,virginica 三种花型。
示例代码如下:# coding: utf-8 from sklearn.neighbors import KNeighborsClassifier from sklearn.naive_bayes import GaussianNB from sklearn.linear_model import LogisticRegression from sklearn.svm import SVC from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier from sklearn.neural_network import MLPClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report from sklearn.datasets import load_iris import argparse # 根据参数选择模型 ap = argparse.ArgumentParser() ap.add_argument("-m", "--model", type=str, default="knn", help="请输入模型简称") args = vars(ap.parse_args()) models = { "knn": KNeighborsClassifier(n_neighbors=1), "naive_bayes": GaussianNB(), "logit": LogisticRegression(solver="lbfgs", multi_class="auto"), "svm": SVC(kernel="rbf", gamma="auto"), "decision_tree": DecisionTreeClassifier(), "random_forest": RandomForestClassifier(n_estimators=100), "mlp": MLPClassifier() } # 载入鸢尾花数据集,然后进行训练集和测试集的划分,75%数据作为训练集,其余25%作为测试集 # random_state是随机状态,类似随机种子 print("载入鸢尾花数据集...") dataset = load_iris() (trainX, testX, trainY, testY) = train_test_split(dataset.data, dataset.target, random_state=3, test_size=0.25) # 训练模型 print("正在使用模型:'{}'".format(args["model"])) model = models[args["model"]] model.fit(trainX, trainY) # 预测并输出一份分类结果报告 print("生成结果报告") predictions = model.predict(testX) print(classification_report(testY, predictions, target_names=dataset.target_names))本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用