机器学习1

机器学习周记<1>

1.基础知识点
1
2
3
1. 机器学习的核心是“使用算法解析数据,从中学习,然后对世界上的某件事情做出决定或预测”

2. 机器学习分为监督学习,无监督学习,强化学习
2.机器学习算法分类
1
2
3
4
5
6
7
1. 回归算法
2. 基于实例的算法
3. 决策树算法
4. 贝叶斯算法
5. 聚类算法
6. 深度学习和神经网络算法
7. 其他算法
3.基础机器学习代码实现
1
1.区分橘子与苹果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
rom sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

def main():
iris = datasets.load_iris()
iris_feature = iris.data
iris_target = iris.target
#print(iris_target)
#print('***********')
#print(iris_feature)

feature_train, feature_test, target_train, target_test = train_test_split(iris_feature, iris_target,test_size=0.33,random_state=42)
dt_model=DecisionTreeClassifier()
dt_model.fit(feature_train,target_train)
predict_results=dt_model.predict(feature_test)
print(predict_results)

main()
1
2.识别鸢尾花类别
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
36
from sklearn import datasets#导入内置数据集模块
from sklearn.neighbors import KNeighborsClassifier#导入sklear.neughbors模板中的KNN类
import numpy as np
np.random.seed(0)#设置随机种子

#数据集梳理
iris=datasets.load_iris()#导入鸢尾花样本数据
iris_x=iris.data
iris_y=iris.target
indices=np.random.permutation(len(iris_x))#对样本数据进行打乱(150)
iris_x_train=iris_x[indices[:-10]]#选取140个数据集作为训练集
iris_y_train=iris_y[indices[:-10]]
iris_x_test=iris_x[indices[-10:]]
#剩下的十个样本作为测试集
iris_y_test=iris_y[indices[-10:]]

knn=KNeighborsClassifier()
knn.fit(iris_x_train,iris_y_train)
iris_y_predict=knn.predict(iris_x_test)
#测试数据集
probility=knn.predict_proba(iris_x_test)
#计算各测试样本基于概率的预测
neighbor=knn.kneighbors(iris_x_test[-1],5,False)
#计算与最后一个样本距离最近的五个点,返回的是这些样本的序号组成的数组
score=knn.score(iris_x_test,iris_y_test,sample_weight=None)
#计算准确率


print('iris_y_predict=')
print(iris_y_predict)

print('iris_y_test:')
print(iris_y_test)
print("准确率:",score)
print("邻近对象数据为:",neighbor)
print("基于概率的预测:",probility)