第八课 机器学习简单介绍
第七节 使用scikit-learn的流程
# 引入包
import pandas as pd
import numpy as np
准备数据集
iris_data = pd.read_csv('./dataset/iris.csv')
iris_data.head()
sepal_length sepal_width petal_length petal_width species label
0 5.1 3.5 1.4 0.2 setosa 1
1 4.9 3.0 1.4 0.2 setosa 1
2 4.7 3.2 1.3 0.2 setosa 1
3 4.6 3.1 1.5 0.2 setosa 1
4 5.0 3.6 1.4 0.2 setosa 1
iris_data.tail()
sepal_length sepal_width petal_length petal_width species label
145 6.7 3.0 5.2 2.3 virginica 3
146 6.3 2.5 5.0 1.9 virginica 3
147 6.5 3.0 5.2 2.0 virginica 3
148 6.2 3.4 5.4 2.3 virginica 3
149 5.9 3.0 5.1 1.8 virginica 3
# 获取特征
X = iris_data[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']].values
print(X.shape)
(150, 4)
# 获取标签
y = iris_data['label'].values
print(y.shape)
(150,)
选择模型
# 选择K近邻距离算法
from sklearn.neighbors import KNeighborsClassifier
knn_model = KNeighborsClassifier()
训练模型
knn_model.fit(X, y)
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=1, n_neighbors=5, p=2,
weights='uniform')
测试模型
# 选择第一个样本
knn_model.predict([[5.1, 3.5, 1.4, 0.2]])
array([1], dtype=int64)
# 选择最后一个样本
knn_model.predict([[5.9, 3.0, 5.1, 1.8]])
array([3], dtype=int64)
# 选择所有样本
knn_model.predict(X)
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], dtype=int64)
思考:
在训练集上做测试是否合适?
现实中的情况是什么样的?
机器学习-scikit-learn
最新推荐文章于 2023-05-29 11:19:31 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)