Scikit-Learn的用法

API基础知识

Scikit-Learn评估器API的常用步骤如下所示

  1. 通过从Scikit-Learn中导入适当的评估器类,选择模型类
  2. 用合适的数值对模型类进行实例化,配置模型超参数(hyperparameter)
  3. 整理数据(模型需要二维特征矩阵,和一维目标数组),通过前面介绍的方法获取特征矩阵和目标数值
  4. 调用模型实例的fit()方法对数据进行拟合
  5. 对新数据应用模型:
    1.在有监督学习模型中,通常使用predict()方法预测新数据的标签
    2.在无监督学习模型中,通常使用transform()或predict()方法转换或推断数据的性质
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression

#设置随机种子,让结果具有重现性
seed = 0

rng = np.random.RandomState(seed)
x = 10 * rng.rand(50)
y = 2*x - 1 +rng.randn(50)
plt.scatter(x,y)

#1.选择模型类    line3
#2.实例化模型,选择模型超参数
model = LinearRegression(fit_intercept=True)    #需要计算截距
#3.整理数据
x_transform = x[:,np.newaxis]
#4.调用fit()对数据进行拟合
model.fit(x_transform,y)
# print(model.coef_)
# print(model.intercept_)
#5.预测新数据标签
xfit = np.linspace(-1,10)
xfit_transform = xfit[:,np.newaxis]
yfit = model.predict(xfit_transform)
plt.plot(xfit,yfit)

plt.show()
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
from sklearn.mixture import GaussianMixture
from sklearn.metrics import confusion_matrix

seed = 1



iris = sns.load_dataset('iris')
# X_iris = iris.drop('species',axis=1)#提取出来species列的数据
X_iris = iris.iloc[:,:-1]
Y_iris = iris.iloc[:,-1]
"""
贝叶斯预测
"""
xTrain,xTest,yTrain,yTest = train_test_split(X_iris,Y_iris,random_state=seed)
model = GaussianNB()
model.fit(xTrain,yTrain)
y_model = model.predict(xTest)
accuracy = accuracy_score(yTest,y_model)
print(accuracy)
mat = confusion_matrix(yTest,y_model)#计算混淆矩阵
print(mat)
sns.heatmap(mat,square=True,annot=True,cbar=False)
plt.xlabel('predicted value')
plt.ylabel('true value')

"""
无监督学习示例:鸢尾花数据降维
"""
# model = PCA(n_components=2)
# model.fit(X_iris)
# X_2D = model.transform(X_iris)
# iris['PCA1'] = X_2D[:,0]
# iris['PCA2'] = X_2D[:,1]
# # sns.lmplot("PCA1","PCA2",hue='species',data=iris,fit_reg=False)
# plt.scatter(iris['PCA1'],iris['PCA2'])
#
# plt.show()


"""
无监督学习示例:鸢尾花数据聚类
"""
"""
n_components :高斯模型的个数,即聚类的目标个数 
covariance_type : 通过EM算法估算参数时使用的协方差类型,默认是”full” 
full:每个模型使用自己的一般协方差矩阵 
tied:所用模型共享一个一般协方差矩阵 
diag:每个模型使用自己的对角线协方差矩阵 
spherical:每个模型使用自己的单一方差
"""
# model = GaussianMixture(n_components=3,covariance_type='full')
# model.fit(X_iris)
# y_gmm = model.predict(X_iris)
#
# iris['cluster'] = y_gmm
# sns.lmplot("PCA1","PCA2",hue='species',data=iris,fit_reg=False,col='cluster')
#
plt.show()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值