第1关:使用K近邻算法进行分类

# -*- coding: utf-8 -*-

from sklearn.datasets import make_blobs
import numpy as np
from sklearn.neighbors import KNeighborsClassifier

samples=int(input())
random_state=int(input())

# 请在此添加代码 完成本关任务
#
# ********** Begin *********#

# 生成数据集
X, y = make_blobs(n_samples=samples, random_state=random_state)

# 创建并训练K近邻分类器
knn = KNeighborsClassifier()
knn.fit(X, y)

# 读取测试点特征
x1 = float(input())
x2 = float(input())
test_point = [[x1, x2]]

# 预测并输出结果
prediction = knn.predict(test_point)
print(prediction)
# ********** End **********#

第2关:使用K最近邻算法进行多分类

# -*- coding: utf-8 -*-

from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
import numpy as np
from sklearn.neighbors import KNeighborsClassifier

samples=int(input())
classNum=int(input())
noise=float(input())

# 请在此添加代码 完成本关任务
#
# ********** Begin *********#
# 生成分类数据集
X, y = make_classification(
n_samples=samples,
n_classes=classNum,
flip_y=noise,
n_informative=20,
n_redundant=0,
random_state=1
)

# 分割训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)

# 创建并训练KNN分类器
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)

# 预测并计算正确数量
y_pred = knn.predict(X_test)
correct = (y_pred == y_test).sum()

print(correct)
# ********** End **********#

第3关:使用K最近邻算法进行回归分析

# -*- coding: utf-8 -*-

import numpy as np
from sklearn.neighbors import KNeighborsRegressor

def getRegressor(X, y):
    # 请在此添加代码 完成本关任务
    #
    # ********** Begin *********#
    knn_regressor=KNeighborsRegressor(n_neighbors=1)
    #使用训练数据训练回归器
    knn_regressor.fit(X,y)
    return knn_regressor

    # ********** End **********#

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐