机器学习期末考试

编程题:
1.用knn算法预测鸢尾花分类
2.用回归算法预测房价
房价
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection import train_test_split
from sklearn.linear_model import SGDRegressor

data=pd.read_csv(“house_data.txt”,names=[“area”,“price”])

scaler=MinMaxScaler()
data[“area”]=scaler.fit_transform(data[[“area”]])
data[“price”]=scaler.fit_transform(data[[“price”]])
print(data)

X_train, X_test, y_train, y_test=train_test_split(data[[“area”]],data[“price”],random_state=42,test_size=0.2)
scdg=SGDRegressor(max_iter=500,learning_rate=‘optimal’,eta0=0.01)
scdg.fit(X_train,y_train)

pred_y=scdg.predict(X_test)
print(“测试集打分”,scdg.score(X_test,y_test))
print(“权重系数:”,scdg.coef_)
print(“截距:”,scdg.intercept_)
print(“训练集打分:”,scdg.score(X_train,y_train))

鸢尾花
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

iris=load_iris()

X_train, X_test, y_train, y_test = train_test_split(iris.data,iris.target,random_state=40,test_size=0.3)

scaler=StandardScaler()

X_train=scaler.fit_transform(X_train)
X_test=scaler.transform(X_test)

knn

knn=KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train,y_train)

print(knn.score(X_test,y_test))

问答题:
1.理解什么是有监督和无监督?
1)有监督的学习是带标签的,无监督的学习是不带标签的
2)有监督的学习主要包括分类算法和回归算法;无监督的学习主要包括聚类算法和降维算法

注意:
1)关联算法属于无监督的学习
2)逻辑回归属于分类算法

2.简述分类算法和回归算法的区别?
1)分类算法的预测结果是离散值,例如:是/否,yes/no等等
2)回归算法的预测结果是连续的数值,例如:工资数,房价等等
3)常用的分类算法有:
knn,决策树,随机森林,朴素贝叶斯,逻辑回归等等
4)常用的回归算法有:线性回归,岭回归等等

3.简述聚类算法和降维算法的区别?
1)聚类算法主要有kmeans聚类算法,它是根据距离的远近将数据划分为k个簇;
2)降维算法主要有pca降维,它用来减少特征的数量从而降低计算量;

4.无量纲化主要有那些方法?
归一化和标准化;
注意:kmeans,knn,pca等算法对量纲特别敏感,一定要做无量纲化处理;

你可能感兴趣的:(笔记,机器学习,python,决策树)