kmeans鸢尾花分类python代码_python机器学习基础教程-鸢如何搭建个人博客网站
即墨webservice培训尾花分类
⼀: 环境准备:
1.导⼊的库:
importnumpy as npimportmatplotlib.pyplot as pltimportpandas as pdimport mglearn
2.导⼊数据集
from sklearn.datasets importload_iris
iris_dataset= load_iris()
⼆. 划分训练数据和测试数据
1. train_test_split: 将数据集打乱并进⾏拆分
del_selection importtrain_test_split
X_train, X_test, y_train, y_test=train_test_split(php是啥格式
iris_dataset['data'], iris_dataset['target'], random_state=0)
其中,random_state=0,表⽰每次调⽤train_test_split返回的输出都是不变的,即随机数⽣成器的种⼦是相同的.
⽣成的
2.scatter_matrix: 使⽤pandas绘制散点图矩阵(即取出两⾏,⼀⾏的元素作为横坐标,⼀⾏的元素作为纵坐标)
iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names) #columns设置索引
grr = pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15,15),
marker='o', hist_kwds={'bins':20}, s=60, alpha=.8, 3)
参数解释: frame:数据的dataframe,本例为4*150的矩阵; c是颜⾊,本例中按照y_train的不同来分配不同的颜⾊; figsize设置图⽚的尺⼨; marker是散点的形状,'o'是圆形,'*'是星形 ; hist_kwds是直⽅图的相关参数,{'bins':20}是⽣成包含20个长条的直⽅图;
s是⼤图的尺⼨ ; alpha是图的透明度; cmap是colourmap,就是颜⾊板
三 k近邻算法
1.原理: 将新数据点放到训练集中,出训练集中与新数据点直线距离最近的若⼲个点,然后出这若⼲个点属于哪个类别的点最多,就将训练集视为哪个类别.
2.使⽤⽅法
表达视图的作用>js生成连续的四位数连续的2.1.scikit-learn中所有的机器学习模型都在各⾃的类中实现,这些类被称为Estimator类。k近邻分类算法是在neighbors模块的KNeighborsClassifier类中实现。
ighbors import KNeighborsClassifier
2.2.使⽤k近邻⾸先需要将KNeighborsClassifier实例化成⼀个对象.
knn = KNeighborsClassifier(n_neighbors=1)
knn对象可以⽤训练数据重新训练,也可以对新数据点进⾏预测,也可以从训练数据中提取信息.
2.3 基于训练集构建模型
调⽤knn对象的fit⽅法,输⼊参数X_train和y_train
In: knn.fit(X_train,y_train)
python基础代码实例Out: KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=None, n_neighbors=1, p=2,
weights='uniform')
2.4 做出预测
2.4.1 构建numpy数组(scikit-learn输⼊的数据必须是⼆维数组)
X_new = np.array([[5,2.9,1,0.2]])print(X_new.shape)
2.4.2 调⽤predict函数
prediction =knn.predict(X_new)print(prediction)print(iris_dataset['target_names'][prediction]) 2.5 评估模型
y_pred =knn.predict(X_test)print(y_pred)an(y_pred == y_test))
print(knn.score(X_test,y_test))
---摘录⾃python机器学习基础教程
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论