3_鸢尾花

数据集

这是网上找的一个经典案例,很多算法都可以对其进行训练。

目前,有两种方式获取数据集

  • sklearn.datasets提供数据集接口
  • 通过pandas从网上导入

我将文档下载好,以csv的形式保存在pycharm上。文档内容如下:

3_鸢尾花

 

可以看出,第一行的前四项为鸢尾花特征,最后一项是鸢尾花类别,一共分三类。

导入pd包后,获取文档里面的数据,路径可填相对路径,并将数据集命名为df。

3_鸢尾花

 

通过keys查看属性,如果是sklearn.datasets里面的数据集,keys一般有data target等等

3_鸢尾花

 

 

 数据分割:前四项作为特征,最后一项做预测值

# %%
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(df[df.keys()[0:4]],df[df.keys()[4]],test_size=0.25,random_state=33)

这里要注意一些细节,keys()是一个函数,要加括号。分割[0:4] 指的是从0开始到3(不包括4)

分割好后,输出一下:

3_鸢尾花

 

3_鸢尾花

 

 数据标准化

# 从sklearn.preprocessing里导入StandardScaler。
from sklearn.preprocessing import StandardScaler
ss = StandardScaler()
X_train = ss.fit_transform(X_train)
X_test = ss.transform(X_test)

标准化后的数据,标准化我们只对输入特征标准化,因为他们都是数值,可以量化。而类别是字符串,不能标准化。

3_鸢尾花

 

 采用逻辑斯特对其训练

lr = LogisticRegression()
# 调用LogisticRegression中的fit函数/模块用来训练模型参数。
lr.fit(X_train, y_train)
# 使用训练好的模型lr对X_test进行预测,结果储存在变量lr_y_predict中。
lr_y_predict = lr.predict(X_test)

输出测试集的结果

3_鸢尾花

 

 查看评分

3_鸢尾花

 

可见正确率还是挺高的。

自写一个测试

3_鸢尾花

 

上一篇:Exception in thread "main" java.lang.Error: Unresolved compilation problem: (eclipse出现问题)


下一篇:QT4.8.6之qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error