Scikit-learn快速入门教程和实例(一)

[Copy link]
see2859 | reply8 | 2022-1-10 16:22:32 | 显示全部楼层 |Reading mode
很久没有更新了,更新一篇关于python库sklearn的教程。
csdnto update:Scikit-learn快速门教程和实例(一) - linxid的博客 - CSDN博客

一,什么是SKlearn

SciKit learn的简称是SKlearn,是一个python库,专门用于机器学习的模块。
以下是它的官方网站,文档等资源都可以在里面找到http://scikit-learn.org/stable/#.  SKlearn包含的机器学习方式:
分类,回归,无监督,数据降维,数据预处理等等,包含了常见的大部分机器学习方法。
aboutSKlearn的安装,网上教程很多,再次不赘述。建议使用Anaconda,可以方便的安装各种库。  Anaconda教程:http://python.jobbole.com/87522/
SKlearn给出了如何选择正确的方法:  


官网清晰图:  http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
图表对于什么样的问题,采用什么样的方法给出了清晰的描述,包括数据量不同的区分。
二,SKlearn的强大数据库

数据库网址:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets
里面包含了很多数据,可以直接拿来使用。  


For example:
1.鸢尾花数据集

打开里面的鸢尾花数据集,我们可以看到页面上同样有调用示例:
#调用模块
from sklearn.datasets import load_iris
data = load_iris()
#导入数据和标签
data_X = data.data
data_y = data.target 2.波士顿房价数据集

#换种方式调用模块,注意区别
from sklearn import datasets
loaded_data = datasets.load_boston()
#导入数据
data_X = loaded_data.data
data_y = loaded_data.target而且在SKlearn官网,对于每一个数据集,在后面都给出了,使用该数据集的示例,例如Boston房价数据集:  



三,通用学习模式

SKlearn中学习模式的调用,有很强的统一性,很多都是类似的,学会一个,其他基本差不多。
1.鸢尾花数据集

针对上述已经导入的鸢尾花数据集,继续对其进行分析。
#导入模块
from sklearn.model_selection import train_test_split
from sklearn import datasets
#k近邻函数
from sklearn.neighbors import KNeighborClassifier
iris = datasets.load_iris()
#导入数据和标签
iris_X = iris.data
iris_y = iris.target
#划分为训练集和测试集数据
X_train, X_test, y_train, y_test = train_test_split(iris_X, iris_y, test_size=0.3)
#print(y_train)
#set upknn分类器
knn = KNeighborsClassifier()
#进行训练
knn.fit(X_train,y_train)
#使用训练好的knn进行数据预测
print(knn.predict(X_test))
print(y_test) 2.波士顿房价数据集

这里,我们调用房价数据集,然后使用线性回归的方法对其进行预测
#同样首先,我们调用模块
#matplotlibyespython专门用于画图的库
import matplotlib.pyplot as plt
from sklearn import datasets
#调用线性回归函数
from sklearn.linear_model import LinearRegression

#导入数据集
#这里将全部数据用于训练,并没有对数据进行划分,上例中
#将数据划分为训练和测试数据,后面会讲到交叉验证
loaded_data = datasets.load_boston()
data_X = loaded_data.data
data_y = loaded_data.target

#设置线性回归模块
model = LinearRegression()
#训练数据,得出参数
model.fit(data_X, data_y)

#利用模型,对新数据,进行预测,与原标签进行比较
print(model.predict(data_X[:4,:]))
print(data_y[:4])

  • 以上众多内容,参照莫烦教程
  • 更详细的内容可以去他官网查看。  https://morvanzhou.github.io/

There are more resources in this post

What do you need Sign in Can I download or view it without an account?Join now Scan and login on wechat

x
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
渐被财 | 2022-1-10 16:23:07 | 显示全部楼层
鸢尾花数据集,这里得程序数据命名前后不一样,上一行是data,一下行变成了load_data
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
丽月紫雪亩 | 2022-1-10 16:23:33 | 显示全部楼层
鸢尾花数据集程序有两个错误,导入knn模块出错了。
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
渭北果农 | 2022-1-10 16:23:52 | 显示全部楼层
感谢指正,已经修改了
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
wkkwb8363 | 2022-1-10 16:24:43 | 显示全部楼层
#使用训练好的knn进行数据预测
print(knn.predict(X_test))
print(y_test)
請問一下為什麼print(ytest)這不分不是和X_test一樣採用print(knn.predict(Y_test))?
初學者知道的不多,還希望您能替我解釋一下! 萬分謝謝!
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
123458615 | 2022-1-10 16:25:13 | 显示全部楼层
拿x预测不是y哈
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
#k近邻函数
from sklearn.neighbors import KNeighborClassifier
此处应为KNeighborsClassifier
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
深山耗子诹 | 2022-1-10 16:26:57 | 显示全部楼层
谢谢提示,
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
北府老谢硬 | 2022-1-10 16:27:07 | 显示全部楼层
你谢谢提示了以后也没有去改呀, 运行的时候还是出错了
Translated by the Internet, your translation resource information platform, pay attention to the official account [translation information]-Official account:fanyi899
You need to log in before you can reply Sign in | Join now Scan and login on wechat

Integral rules of this edition

18

theme

23

Post

71

integral

Registered members

Rank: 2

integral
71