当今存在的机器学习方法包含:
监督学习,无监督学习,半监督学习,强化学习,遗传算法
有监督的分类,无监督的聚类,线性回归预测,高维数据降维。
PCA:主成分分析,降维。
通用学习模式
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier # K近邻算法
iris = datasets.load_iris() # 导入鸢尾花的数据
iris_x = iris.data
iris_y = iris.target # 属性
print(iris_x[:2, :]) # 花的属性值,长,宽,高...
print(iris_y) # 有三类品种 0 1 2
x_train, x_test, y_train, y_test = train_test_split(iris_x,
iris_y, test_size=0.3) # 把数据分为训练和测试集,按照0.3的比例
print(y_train) # 可以看出再划分的时候进行了置乱
knn = KNeighborsClassifier() # 调出分类器
knn.fit(x_train, y_train) # .fit()就是开始进行训练
print(knn.predict(x_test)) # 输出预测结果
print(y_test) # 输出真实值
'''
运行结果:
[0 2 1 2 1 1 2 0 0 0 2 0 2 0 1 1 1 1 1 2 2 0 0 1 2 2 2 2 1 1 2 2 0 0 0 2 1
0 0 1 1 1 1 0 0]
[0 1 1 2 1 1 2 0 0 0 2 0 2 0 1 1 1 1 1 2 2 0 0 1 2 2 2 2 1 1 2 2 0 0 0 2 1
0 0 1 1 1 1 0 0]
'''
sklearn的datasets数据库
from sklearn import datasets
from sklearn.linear_model import LinearRegression
from matplotlib.pyplot as plt
loaded_data = datasets.load_boston()
data_X = loaded_data.data # 导入数据
data_y = loaded_data.target # 导入属性label
model = LinearRegression()
model.fit(data_X, data_y)
print(model.predict(data_X[:4, :])) # 预测值
print(data_y[:4]) # 真实值
'''
运行结果:
[30.00384338 25.02556238