搜索
您的当前位置:首页正文

Sklearn 笔记

来源:二三娱乐

Sklearn 本身就有很多数据库,可以用来练习。 以 Iris 的数据为例,这种花有四个属性,花瓣的长宽,茎的长宽,根据这些属性把花分为三类。

用分类器 把四种类型的花分开

导入模块

from sklearn import datasets

from sklearn.model_selection import train_test_split

from sklearn.neighbors import KNeighborsClassifier

创建数据

加载iris 的数据 把属性存在X.类别标签存在y

iris = datasets.load_iris()

iris_X=iris.data

iris_y = iris.target

观察数据集,x有四个属性 y 有0, 1,2 三类

print(iris_X[:2,:])

print(iris_y)

把数据集分为训练集 和测试集 ,其中test_size = 0.3 ,即 测试集占总数据的30%

X_train,X_test,y_train,y_test =train_test_split(iris_X,iris_y,test_size = 0.3)

print(y_train)

导入模块

from __future__import print_function

from sklearn import datasets

from sklearn.linear_model import LinearRegression

import matplotlib.pyplot as plt

导入数据- 训练模型

用 datasets.load_boston() 的形式 加载数据,并给 X 和 y 赋值

loaded_data =datasets.load_boston()

data_X =loaded_data.data

data_y = loaded_data.target

 定义模型

可以直接用默认值去建立 model,默认值也不错,也可以自己改变参数使模型更好,然后用training data 去训练模型

model = LinearRegression()

model.fit(data_X,data_y)

打印出预测值,这里用X的前四个来预测 同时打印真实值,作为对比

print(model.predict(data_X[:4,:]))

print(data_y[:4])

创建虚拟数据-可视化

用函数来建立 100个sample  有一个feature 喝一个target 这样比较方便可视化

X,y=datasets.make_regression(n_samples=100,n_features=1,n_targets=1,noise=10)

用scatter的形式来输出结果。

plt.scatter(X,y)

plt.show()

noise越大的话,点就会越来越离散,例如noise由 10 变为 50.

X,y=datasets.make_regression(n_samples=100,n_features=1,n_targets=1,noise=50)

plt.scatter(X,y)

plt.show()

Top