机器学习可以分为四大类:
- 监督学习:使用包含输入数据和期望输出结果的训练数据集来学习。用于分类和回归任务。例如线性回归、 Logistic回归、决策树等。
- 无监督学习:不需要训练数据的期望输出结果。用于聚类、降维等任务。例如K-means聚类、PCA等。
- 半监督学习:包含少量带标签数据和大量无标签数据。用于处理标签数据稀缺的情况。例如生成模型等。
- 强化学习:通过与环境的交互来获得外界的反馈作为学习信号,用于控制和决策任务。例如深度强化学习等。
代码示例:
监督学习:
python
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(x_train, y_train)
pred = model.predict(x_test)
无监督学习:
python
from sklearn.cluster import KMeans
model = KMeans(n_clusters=3)
model.fit(x)
labels = model.labels_
半监督学习:
python
from sklearn.semi_supervised import LabelPropagation
label_prop_model = LabelPropagation()
label_prop_model.fit(x_all, y_train)
y_test = label_prop_model.predict(x_test)
强化学习:
python
import gym
env = gym.make('CartPole-v1')
obs = env.reset()
while True:
env.render()
action = get_action(obs) # 策略来获得动作
obs, reward, done, _ = env.step(action) # 执行动作
if done:
obs = env.reset() # 重置环境