使用 sklearn
1. 安装
bash
pip install sklearn2. 了解
官方:
- 如果你的数据少于 50 个,重新收集数据
- 监督学习
- 分类学习
- 回归学习
- 非监督
- 聚类
- 主成分分析
- 降维
3. KNN 入门
py
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# 导入数据
iris_X, iris_y = datasets.load_iris(return_X_y=True)
print(iris_X[:2, :])使用 KNN 分类
py
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
iris_X, iris_y = datasets.load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
iris_X, iris_y, test_size=0.3)
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
# 比较预测的结果和真实值
print(knn.predict(X_test))
print(y_test)4. dataset 模块
有用的 dateset
- 这个模块有一些真实的数据
- 也有一些工具用来生成一些虚拟的数据集
使用线性回归模块
py
from sklearn import datasets
from sklearn.linear_model import LinearRegression
data_X, data_y = datasets.load_boston(return_X_y=True)
lr = LinearRegression()
lr.fit(data_X, data_y)
print(lr.predict(data_X[:4, :]))
print(data_y[:4])创建线性分布的数据
py
from sklearn import datasets
import matplotlib.pyplot as plt
X, y = datasets.make_regression(
n_samples=100, n_features=1, n_targets=1, noise=1)
plt.scatter(X, y)
plt.show()5. 常用的属性和功能
上次使用的代码
py
from sklearn import datasets
from sklearn.linear_model import LinearRegression
data_X, data_y = datasets.load_boston(return_X_y=True)
model = LinearRegression()
model.fit(data_X, data_y)
print(model.predict(data_X[:4, :]))
# 相当于 y = kx + b 的 k
print(model.coef_)
# 相当于 y = kx + b 的 b
print(model.intercept_)
# 获取模型的参数
print(model.get_params())
# {
# 'copy_X': True,
# 'fit_intercept': True, #
# 'n_jobs': None, # 使用几个核
# 'normalize': False,
# 'positive': False
# }
# 模型得分(应当使用测试集进行测试)
print(model.score(data_X, data_y))在线性回归模型中,得分的计算方法是 ,即 判定系数(Coefficient of determination)