人工智能的实现是基于机器学习,机器学习的一个方法是神经网络,以及各种机器学习算法库。

有监督学习:一般数据构成是【特征值+目标值】

无监督学习:一般数据构成是【特征值】

Scikit-learn(sklearn)的定位是通用机器学习库,传统的机器学习库。

sklearn主要适合中小型的、实用机器学习项目,尤其是那种数据量不大且需要使用者手动对数据进行处理,并选择合适模型的项目。这类项目往往在CPU上就可以完成,对硬件要求低
 

sklearn更倾向于使用者可以自行对数据进行处理,比如选择特征、压缩维度、转换格式,是传统机器学习库,SKLearn中,因为做了上层的封装,分类模型、回归模型、聚类与降维模型、预处理器等等都叫做估计器(estimator)

TensorFlow(tf)的定位主要是深度学习库,tf主要适合已经明确了解需要用深度学习,且数据处理需求不高的项目。这类项目往往数据量较大,且最终需要的精度更高,一般都需要GPU加速运算

不过小样本的也可以使用Tf的Keras来完成:一般使用流程

model = Sequential() # 定义模型
model.add(Dense(units=64, activation='relu', input_dim=100)) # 定义网络结构
model.add(Dense(units=10, activation='softmax')) # 定义网络结构
model.compile(loss='categorical_crossentropy', # 定义loss函数、优化方法、评估标准
              optimizer='sgd',
              metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5, batch_size=32) # 训练模型
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128) # 评估模型
classes = model.predict(x_test, batch_size=128) # 使用训练好的数据进行预测


常用:
model.fit训练
loss,accuracy = model.evaluate模型评估计算准确率
model.predict预测

model.summary 打印模型结构
model.get_config

 DNN介绍:

12-23 16:12