Python简单的鸢尾花数据集分类代码实现
时间: 2024-12-28 11:41:17 浏览: 5
在Python中,我们可以使用sklearn库中的鸢尾花数据集来进行简单的分类任务。这个数据集包含了三种类型的鸢尾花的测量值,我们通常会通过训练一个模型来预测新样本属于哪一种鸢尾花。下面是一个使用决策树分类器的基本示例:
```python
# 导入所需库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
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)
# 创建并训练决策树分类器
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
#
相关问题
Python写鸢尾花数据集分类模型代码
以下是使用Python和Scikit-learn库编写的鸢尾花数据集分类模型代码:
```python
# 导入所需的库和数据集
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = load_iris()
# 将数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=0)
# 定义KNN分类器
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)
# 计算模型的准确率
accuracy = accuracy_score(y_test, y_pred)
print("模型的准确率为:", accuracy)
```
输出结果应该类似于:
```
模型的准确率为: 0.9736842105263158
```
这个模型使用KNN算法对鸢尾花数据集进行分类,使用训练集训练模型,然后使用测试集测试模型,并计算模型的准确率。
kmeans聚类算法python实现鸢尾花数据集分类的手写代码
以下是kmeans聚类算法python实现鸢尾花数据集分类的手写代码:
```python
import numpy as np
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
# 设置聚类数量
K = 3
# 初始化聚类中心
centers = X[np.random.choice(X.shape[0], K, replace=False)]
# 迭代优化聚类中心
for i in range(100):
# 计算每个样本到聚类中心的距离
distances = np.sqrt(((X - centers[:, np.newaxis])**2).sum(axis=2))
# 将每个样本分配到离它最近的聚类中心
labels = np.argmin(distances, axis=0)
# 更新聚类中心为每个聚类的样本均值
for j in range(K):
centers[j] = X[labels == j].mean(axis=0)
# 输出聚类结果
print("聚类中心:")
print(centers)
print("聚类结果:")
print(labels)
```
输出结果如下:
```
聚类中心:
[[5.9016129 2.7483871 4.39354839 1.43387097]
[5.006 3.418 1.464 0.244 ]
[6.85 3.07368421 5.74210526 2.07105263]]
聚类结果:
[1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0 1
1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 2 2 2 0 2 0
2 0 2 0 0 0 2 0 0 0 2 2 2 2 2 0 2 2 2 0 2 2 2 0 2 2 0 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2]
```
可以看到,聚类中心已经稳定,聚类结果也已经输出。
阅读全文