AI demo framework

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import pickle
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier 
from sklearn.model_selection import cross_val_score
from sklearn import metrics
 
iris = datasets.load_iris() 
X_train,X_test,y_train,y_test = train_test_split(iris.data, iris.target, test_size=0.3)
 
k_range = range(1,31)
k_score = []
for k in k_range:
    knn = KNeighborsClassifier(n_neighbors=k)
    scores = cross_val_score(knn, X_train, y_train, cv=10, scoring='accuracy')
    k_score.append(scores.mean())
 
plt.figure()
plt.plot(k_range, k_score)
plt.xlabel('Value of k for KNN')
plt.ylabel('CrossValidation accuracy')
plt.show()
 
max_score = max(k_score)
print("max score:", max_score)
best_k = k_range[k_score.index(max_score)]
knn = KNeighborsClassifier(n_neighbors=best_k)
knn.fit(X_train, y_train)
y_predict = knn.predict(X_test) 
print("test data accuracy:", metrics.accuracy_score(y_test, y_predict))
print("classification report:\n”, metrics.classification_report(y_test, y_predict))
 
with open("knn.pkl", "wb") as f:
    pickle.dump(knn, f)

 

posted @   bonelee  阅读(303)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2018-07-03 scrapy 6023 telnet查看爬虫引擎相关状态
2017-07-03 深入理解groupByKey、reduceByKey区别——本质就是一个local machine的reduce操作
点击右上角即可分享
微信分享提示