莫烦python系列教程 Scikit-Learn 轻松使用机器学习笔记

Scikit-Learn 轻松使用机器学习

莫烦python Scikit-Learn 轻松使用机器学习 官网地址

>>选择学习方法

  • Sklearn 官网提供了一个 流程图蓝色圆圈内是判断条件绿色方框内是可以选择的算法
    在这里插入图片描述

  • 从 START 开始,首先看数据的样本是否 >50,小于则需要收集更多的数据。

  • 由图中,可以看到算法有四类,分类,回归,聚类,降维

  • 其中 分类和回归是监督式学习,即每个数据对应一个 label。 聚类 是非监督式学习,即没有 label。 另外一类是 降维,当数据集有很多很多属性的时候,可以通过 降维 算法把属性归纳起来。例如 20 个属性只变成 2 个,注意,这不是挑出 2 个,而是压缩成为 2 个,它们集合了 20 个属性的所有特征,相当于把重要的信息提取的更好,不重要的信息就不要了。

>>通用机器学习

from sklearn import datasets #数据集
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd

# 1. 加载数据
iris= datasets.load_iris()
# iris_X, iris_y= iris.data, iris.target
iris_X, iris_y= pd.DataFrame(iris.data), pd.DataFrame(iris.target)

# 2. 将数据切分为 训练数据 验证数据
X_train, X_test, y_train, y_test = train_test_split(iris_X, iris_y, test_size=0.3)

# 3. 定义模型
knn= KNeighborsClassifier() # knn 模型

# 4. fit 训练
knn.fit(X_train, y_train) # 训练

# 5. 模型预测
pre_x=pd.DataFrame(knn.predict(X_test)) # 预测
pre_x.index = y_test.index
y_test["pre"] = pre_x[0]
y_test.T
116 0 9 15 43 70 124 137 90 91 ... 129 19 105 40 33 144 35 10 98 126
0 2 0 0 0 0 1 2 2 1 1 ... 2 0 2 0 0 2 0 0 1 2
pre 2 0 0 0 0 1 2 2 1 1 ... 2 0 2 0 0 2 0 0 1 2

>>sklearn 强大数据库

  • 可以生成虚拟的数据,例如用来训练线性回归模型的数据,可以用函数来生成。
    在这里插入图片描述
  • 按照函数的形式,输入 sample,feature,target 的个数等等

sklearn.datasets.make_regression(n_samples=100, n_features=100, n_informative=10, n_targets=1, bias=0.0, effective_rank=None, tail_strength=0.5, noise=0.0, shuffle=True, coef=False,

from sklearn import datasets
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# 导入数据
loaded_data = datasets.load_boston()
data_X, data_y = loaded_data.data, loaded_data.target

# 定义模型
model = LinearRegression()

# 训练模型
model.fit(data_X, data_y)

# 预测
print(model.predict(data_X[:4,:]))
print(data_y[:4])

# 创建虚拟数据
X, y = datasets.make_regression(n_samples=100, n_features=1, n_targets=1, noise=10)
X_50, y_50 = datasets.make_regression(n_samples=100, n_features=1, n_targets=1, noise=50)
plt.scatter(X, y) # noise 10
plt.scatter(X_50, y_50) # noise 50
plt.show()

在这里插入图片描述

>>sklearn 常用属性与功能

model.fit() , model.predict()

# 首先导入包,数据, 还有模型
from sklearn import datasets
from sklearn.linear_model import LinearRegression

loaded_data = datasets
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值