最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
make_blobs这个函数是用来生成数据的
font = {‘family’:“SimHei”,‘size’:20}
plt.rc(‘font’,**font)
##正常显示负号
plt.rcParams[‘axes.unicode_minus’]=False
from sklearn.datasets import make_blobs
#设置中心点
centers = [[-2,2],[2,2],[0,4]]
#n_samples的意思是要生成多少个样本数量
centers的意思是围绕着哪些点生成, cluster_std表示标准差生成的点离着多远
x,y=make_blobs(n_samples=50,centers=centers,cluster_std=0.6)
plt.figure(figsize=(16,10))
c=np.array(centers)
plt.scatter(x[:,0],x[:,1],c=y,s=100,cmap=‘cool’)
#中心点绘制
plt.scatter(c[:,0],c[:,1],s=100,marker=‘*’,c=‘black’)
plt.show()
如图可以看到 三个维度的数据及其中心点,使用KNeighborsClassifier 对算法进行训练
from sklearn.neighbors import KNeighborsClassifier
k=5
#对模型训练
clf = KNeighborsClassifier(n_neighbors=k)
clf.fit(x,y)
#对样本进行预测
x_sample = [[0,2]]
neighbors = clf.kneighbors(x_sample)
neighbors[1]
plt.figure(figsize=(16,10))
plt.scatter(x[:,0],x[:,1], c=y, s=100, cmap=‘cool’)
中心点画一下
plt.scatter(c[:,0],c[:,1], s= 100, marker=“^”, c=‘black’)
#画出待预测的点
plt.scatter(x_sample[0][0],x_sample[0][1],marker=‘*’,s=200,cmap=‘cool’)
把预测点与距离最近的5个样本连成线
for i in neighbors[1][0]:
plt.plot([x[i][0], x_sample[0][0]], [x[i][1],x_sample[0][1]], ‘k–’, linewidth=0.6)
plt.show()
鸢尾花数据集
- Iris 鸢尾花数据集内包含 3 类分别为山鸢尾、虹膜锦葵、变色鸢尾,共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:萼片长度、萼片宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于哪一品种。
rom sklearn.datasets import load_iris
iris=load_iris()
iris_data=iris.data
iris_data
#获取样本标记值
iris_target = iris.target
iris_target
##target是一个数组,存储了data中每条记录属于哪一类鸢尾植物,
##所以数组的长度是150
##划分训练集和测试集
x_train,x_test,y_train,y_test= train_test_split(iris_data,iris_target,test_size=0.25)
训一下
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(x_train,y_train)
y_predict = knn.predict(x_test)
##展示一下预测结果
labels=[‘山鸢尾’,‘虹膜锦葵’,‘变色鸢尾’]
for i in range(len(y_predict)):
print(“第%d次测试:真实值是%s,预测值是%s” % ((i+1),labels[y_predict[i]],labels[y_test[i]]))
返回给定测试数据和标签的平均精度
knn.score(x_test,y_test)=0.9736842105263158
有预测错误,寻找最佳K值
最后
🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!