模型训练-Jupyter

@模型训练

SVM+Jupyter+dataset

'''
逻辑回归:from sklearn.linear_model import LogisticRegression

朴素贝叶斯:from sklearn.naive_bayes import GaussianNB

K-近邻:from sklearn.neighbors import KNeighborsClassifier

决策树:from sklearn.tree import DecisionTreeClassifier

支持向量机:from sklearn import svm
'''
import numpy as np
from sklearn.utils import check_random_state
from sklearn import svm, datasets
import sklearn.model_selection as ms
import matplotlib.pyplot as plt
#数据地址 :http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data

#load data
iris = datasets.load_iris()
rng = check_random_state(42)
perm = rng.permutation(iris.target.size)
iris_data = iris.data[perm]
iris_target = iris.target[perm]

#拆分数据
x_train, x_test, y_train, y_test = ms.train_test_split(iris_data, iris_target, random_state = 1, train_size = 0.6)

#训练模型
for k in ('linear', 'rbf'):
    clf = svm.SVC(kernel=k).fit(x_train, y_train)
    #打印预测精度    
    print(np.mean(clf.predict(x_train) == y_train))
'''
kernel='linear'时,为线性核,C越大分类效果越好,但有可能会过拟合(defaul C=1)
kernel='rbf'时(default),为高斯核,gamma值越小,分类界面越连续;gamma值越大,分类界面越“散”,分类效果越好,但有可能会过拟合。
decision_function_shape='ovr'时,为one v rest,即一个类别与其他类别进行划分,
decision_function_shape='ovo'时,为one v one,即将类别两两之间进行划分,用二分类的方法模拟多分类的结果。
'''
#画图
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False

#画出前两个特征的散点图
x1_min, x1_max = iris_data[:, 0].min(), iris_data[:, 0].max() #第0列的范围
x2_min, x2_max = iris_data[:, 1].min(), iris_data[:, 1].max() #第一列的范围

plt.scatter(iris_data[:, 0], iris_data[:, 1], c = iris_target)
#plt.scatter(x_test[:, 0], x_test[:, 1], s=120, zorder=10 )  # 圈中测试集样本
plt.xlabel(u'花萼长度', fontsize=13)
plt.ylabel(u'花萼宽度', fontsize=13)
plt.xlim(x1_min, x1_max)
plt.ylim(x2_min, x2_max)
plt.title(u'鸢尾花SVM二特征分类', fontsize=15)
plt.show()

SVM

二级目录

三级目录

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jupyter Notebook 是一个交互式的编程环境,可以用于训练模型。在 Jupyter Notebook 中,可以使用各种编程语言(如 Python、R、Julia 等)来编写代码,并且可以实时运行和调试代码。使用 Jupyter Notebook 训练模型的过程通常包括以下步骤: 1. 导入数据:将需要训练的数据导入到 Jupyter Notebook 中,可以使用 pandas、numpy 等库来读取和处理数据。 2. 数据预处理:对数据进行清洗、归一化、特征提取等操作,以便于模型训练。 3. 模型选择:根据问题的特点和数据的特征,选择适合的模型,如线性回归、决策树、神经网络等。 4. 模型训练:使用训练数据对模型进行训练,通常需要设置训练参数和优化算法。 5. 模型评估:使用测试数据对训练好的模型进行评估,可以使用各种评估指标来评估模型的性能。 6. 模型应用:将训练好的模型应用到实际问题中,可以使用模型进行预测、分类、聚类等操作。 总之,Jupyter Notebook 是一个非常方便的工具,可以帮助我们更加高效地进行模型训练和数据分析。 ### 回答2: Jupyter Notebook是一种交互式的计算环境,能够用于数据科学、机器学习、深度学习等各种应用场景。在Jupyter Notebook中,我们可以通过使用各种Python库和工具来训练机器学习模型。 首先,我们需要选择一种机器学习模型,并且应该在Jupyter Notebook中安装相关Python库,比如Scikit-learn和TensorFlow。然后,我们需要收集和清理数据,并将其分成训练集和测试集。我们可以使用Pandas库来导入数据,并使用NumPy库进行数据预处理。接着,我们需要将数据加载到模型中并进行训练。在Scikit-learn中,我们可以使用fit()函数进行训练,而在TensorFlow中,我们需要定义计算图并使用会话运行它。 训练模型后,我们需要评估其性能。通常,我们可以使用交叉验证来评估模型的性能。在Scikit-learn中,我们可以使用cross_val_score()函数计算模型的交叉验证得分。使用交叉验证可以帮助我们防止过拟合和欠拟合,并确定我们的模型是否能够泛化到新的数据集。 当我们找到一个性能良好的模型时,我们可以使用它来对新的数据进行预测。在Scikit-learn中,我们可以使用predict()函数进行预测,而在TensorFlow中,我们需要运行模型并使用feed_dict向其提供新的数据。 总的来说,Jupyter Notebook是一个非常方便的工具,可以帮助我们快速地训练、评估和部署机器学习模型。使用Jupyter Notebook,我们可以轻松地记录和分享我们的分析和操作,从而实现高效的协作和知识共享。 ### 回答3: Jupyter Notebook 是一个基于 Web 的交互式计算环境,它可以方便地在浏览器中编写和执行代码、可视化数据以及展示和分享研究成果。因为Jupyter Notebook支持多种编程语言,包括Python、R、Julia等,所以成为了数据科学及机器学习领域中一个广受欢迎的工具之一。其中,Python 是机器学习领域中最为流行的编程语言之一,也是我们今天将要讲到的重点。 在Jupyter Notebook上,我们可以方便地写代码进行模型训练。常用的ML库,例如 Sklearn,Tensorflow,Keras,PyTorch 等均可以在notebook上使用。首先,我们需要导入必要的库和数据集。随后,我们根据任务需求选择不同的算法进行模型训练,并使用交叉验证、网格搜索等技术进行算法优化和调参。最后,我们通过指标评估模型的泛化能力,并将模型保存以备后续使用和部署。 Jupyter Notebook 基于Web技术(例如HTML,JavaScript 和CSS)确保了数据的易于共享性,这是数据科学非常重要的一步。使用Notebook,数据科学家可以分享有关问题、数据、方法和结果的文档,例如深入的教程,数据可视化和详尽的数据报告。为了方便与共享,我们可以将Jupyter Notebook转化为Pdf或HTML格式,也可以将其作为GitHub存储库中的README文件。 总之,Jupyter Notebook 为机器学习提供了一个高效和方便的编程环境,并且使得数据科学家可以更好地与其他人共享和展示他们的研究成果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值