机器学习 程序题

Posted 寂静花开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习 程序题相关的知识,希望对你有一定的参考价值。

代码如下开始背

1、已知训练集数据的特征值如下:

题干

raw_data_x=[[3.3144558 , 2.33542461],
       [3.75497175, 1.93856648],
       [1.38327539, 3.38724496],
       [3.09203999, 4.47090056],
       [2.58593831, 2.13055653],
       [7.41206251, 4.80305318],
       [5.912852  , 3.72918089],
       [9.21547627, 2.8132231 ],
       [7.36039738, 3.35043406],
       [7.13698009, 0.40130301]]

训练集的目标值:raw_data_y=[0,0,0,0,0,1,1,1,1,1]
请使用K-近邻算法(k值取5)预测新的样本点[8.093607318,3.365731514]的目标值?

import numpy as np
#定义特征值
raw_data_x=[[3.3144558 , 2.33542461],
       [3.75497175, 1.93856648],
       [1.38327539, 3.38724496],
       [3.09203999, 4.47090056],
       [2.58593831, 2.13055653],
       [7.41206251, 4.80305318],
       [5.912852  , 3.72918089],
       [9.21547627, 2.8132231 ],
       [7.36039738, 3.35043406],
       [7.13698009, 0.40130301]]
#定义目标值
raw_data_y=[0,0,0,0,0,1,1,1,1,1]
#将训练集和测试集转换成Numpy数组类型
X_train = np.array(raw_data_x)
y_train = np.array(raw_data_y)
x=np.array([8.093607318,3.365731514])
#代码实现如下(可直接使用sklearn创建knn算法的分类器)(以下都记)
#导入模型方法
A
#创建knn算法的分类器实例
B
#拟合训练数据
C
#将样本维度变为二维
D
#利用knn算法进行预测
E
#得出预测结果
F

代码

A、 from sklearn.neighbors import KNeighborsClassifier 
B、 knn_classifier = KNeighborsClassifier(n_neighbors=5) 
C、 knn_classifier.fit(X_train,y_train) 
D、 x1 = x.reshape(1, -1) 
E、 y_predict = knn_classifier.predict(x1) 
F、 y_predict[0] 

2、请编程实现手写数据集的K-近邻算法实现过程。要求: k值取6,按8:2划分训练集和测试集,最后给出准确率。

题干

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from sklearn import datasets
#加载手写数字集图片数据
digits = datasets.load_digits()
#查看该数据集的描述信息
digits.DESCR
#查看数据集的shape
X = digits.data
X.shape
y = digits.target
y.shape
#取出某个数据集绘制图像:
some_digit = X[666]
y[666]
#将数据集变为(8,8)的二维数据
some_digit_image = some_digit.reshape(8,8)
#绘制二维图片
plt.imshow(some_digit_image,cmap=matplotlib.cm.binary)
plt.show()

请利用knn算法进行分类预测,重点:可直接使用sklearn创建knn算法的分类器,k值取6,按8:2划分训练集和测试集,最后给出准确率。

#代码实现如下
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
#划分数据集,测试集占20%
A
#生产knn模型实例
B
#训练knn模型
C
#预测测试集
D
#导入准确率模型
E
#计算准确率
F

代码

A、 X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2) 
B、 knn_classifier = KNeighborsClassifier(n_neighbors=6) 
C、 knn_classifier.fit(X_train,y_train) 
D、 y_predict = knn_classifier.predict(X_test) 
E、 from sklearn.metrics import accuracy_score 
F、 knn_classifier.score(X_test,y_test) 

3、请用线性回归(正规方程)算法编程实现波士顿房价的预测过程。

题干

要求: k值取6,按8:2划分训练集和测试集,最后给出准确率。

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error
from sklearn.linear_model import SGDRegressor
from sklearn.linear_model import LinearRegression
# 1.获取数据
data = load_boston()
# 2.数据集划分
x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, random_state=22)
# 3.特征工程-标准化
#生产标准化对象
A
#训练集标准化
B
#测试集标准化
C
# 4.机器学习-线性回归(正规方程)
#生产线性方程模型对象
D
#训练模型
E
# 5.模型评估
# 5.1 获取系数等值
#预测
F
print("预测值为:\\n", y_predict)
print("模型中的系数为:\\n", estimator.coef_)
print("模型中的偏置为:\\n", estimator.intercept_)
# 5.2 评价
# 均方误差
error = mean_squared_error(y_test, y_predict)
print("误差为:\\n", error)

代码

A、 transfer = StandardScaler() 
B、 x_train = transfer.fit_transform(x_train) 
C、 x_test = transfer.transform(x_test) 
D、 estimator = LinearRegression() 
E、 estimator.fit(x_train, y_train) 
F、 y_predict = estimator.predict(x_test) 

4、题目:使用逻辑回归模型实现癌症分类预测。

题干

数据描述(附件中下载breast-cancer-wisconsin.data文件,拷贝至程序同一目录下)
(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤相关的医学特征,最后一列表示肿瘤类型的数值。
(2)包含16个缺失值,用”?”标出。
要求:部分代码已给出,请根据提示编程实现题目,将代码填入选项中,一个选项只填一行代码。

部分代码如下:

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
 
# 1.获取数据
names = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape', 'Marginal Adhesion', 'Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin', 'Normal Nucleoli', 'Mitoses', 'Class']
 
data = pd.read_csv("breast-cancer-wisconsin.data",names=names)
data.head()
# 2.基本数据处理
# 2.1 缺失值处理
# 查看缺失值
data[data.replace(to_replace="?", value=np.NaN).isna().any(axis=1)]
# 处理缺失值
data = data.replace(to_replace="?", value=np.NaN)
data = data.dropna()
# 2.2 确定特征值,目标值
x = data.iloc[:, 1:10]
x.head()
y = data["Class"]
y.head()
# 2.3 分割数据
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=22)
# 3.特征工程(标准化)
#实例化一个标准化模型
         A
#训练集标准化
        B
#测试集标准化
        C
# 4.机器学习(逻辑回归)
#实例化逻辑回归模型
        D
#训练回归模型
        E
# 5.模型评估
# 模型预测
        F
# 查看预测结果
y_predict
# 评估模型
       G

代码

A、 transfer = StandardScaler() 
B、 x_train = transfer.fit_transform(x_train) 
C、 x_test = transfer.transform(x_test) 
D、 estimator = LogisticRegression() 
E、 estimator.fit(x_train, y_train) 
F、 y_predict = estimator.predict(x_test) 
G、 estimator.score(x_test, y_test) 

5、题目:使用聚类算法模型实现顾客数据聚类分析。

题干

数据为附件中的customers.csv,下载附件至程序同一文件夹下。
部分代码已给出,请按照提示编程,将代码填入选项中,一个选项只填一行代码。

部分代码如下:

import pandas as pd

#读入文件
    A
#查看文件前5行数据
    B
#考虑最后两列作为分群依据:全部行,第四第五列Annual Income(k$) 和 Spending Score(1-100)
    C
#导入KMeans模型
    D
#生产实例化对象,聚5类,使用默认的k-means++算法,随机种子为42
    E
#直接训练并生成聚类结果
    F
#输出聚类结果
print(y_kmeans)

代码

A、 dataset = pd.read_csv('customers.csv') 
B、 dataset.head() 
C、 X = dataset.iloc[:, [3, 4]].values  
D、 from sklearn.cluster import KMeans 
E、 kmeans = KMeans(n_clusters = 5, init = 'k-means++', random_state = 42) 
F、 y_kmeans = kmeans.fit_predict(X) 

以上是关于机器学习 程序题的主要内容,如果未能解决你的问题,请参考以下文章

《自然语言处理实战入门》 ---- 笔试面试题:机器学习基础(81-100)

收藏 | 190 道机器学习面试题

收藏 | 200 道机器学习面试题

《自然语言处理实战入门》 ---- 笔试面试题:机器学习基础(41-60)

机器学习面试题

面试题:机器学习学习方式主要有哪些?