ipython3 中查看 random包含了哪些包

查看 random 包含的包

终端输入命令:

import random

再输入

random.

然后按 Tab 键,就会显示所包含的包的名字了,按键盘的上下键来选择需要的包
在这里插入图片描述
输入 random. 按回车键的话会报错的

 File "<ipython-input-2-0c7f03c0a7e2>", line 1
    random.
           ^
SyntaxError: invalid syntax

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我明白了。针对您的问题,我们可以按照以下步骤进行操作: 1. 导入所需的库 我们需要导入 scikit-learn 的 LogisticRegression 模型和 iris 数据集,以及 matplotlib 库用于可视化。 ```python from sklearn.datasets import load_iris from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import matplotlib.pyplot as plt ``` 2. 加载数据集 我们将使用 scikit-learn 自带的 iris 数据集,其包含 150 个样本,每个样本包含 4 个特征和一个类别标签。我们将使用 load_iris() 函数加载数据集,并将其划分为训练集和测试集。 ```python iris = load_iris() X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=42) ``` 3. 定义模型 我们将使用 scikit-learn 的 LogisticRegression 模型,并将其应用于三种不同的多分类策略: - "ovr" (one-vs-rest) 策略:将每个类别与其他类别分开,形成三个二分类问题。 - "multinomial" 策略:使用 Softmax 函数对所有类别进行建模,形成一个多分类问题。 - "auto" 策略:根据数据类型和 solver 参数自动选择 "ovr" 或 "multinomial" 策略。 ```python ovr_model = LogisticRegression(multi_class='ovr', solver='liblinear') multinomial_model = LogisticRegression(multi_class='multinomial', solver='lbfgs') auto_model = LogisticRegression(multi_class='auto', solver='lbfgs') ``` 4. 训练模型并进行预测 我们将使用训练集对三个模型进行训练,并使用测试集进行预测。我们还将计算每个模型的测试准确率。 ```python ovr_model.fit(X_train, y_train) ovr_pred = ovr_model.predict(X_test) ovr_acc = accuracy_score(y_test, ovr_pred) multinomial_model.fit(X_train, y_train) multinomial_pred = multinomial_model.predict(X_test) multinomial_acc = accuracy_score(y_test, multinomial_pred) auto_model.fit(X_train, y_train) auto_pred = auto_model.predict(X_test) auto_acc = accuracy_score(y_test, auto_pred) ``` 5. 可视化边界 我们可以使用 matplotlib 库可视化模型的边界。由于 iris 数据集包含 4 个特征,我们只能可视化其两个特征。我们将使用第 1 个和第 2 个特征,并绘制训练集和测试集上的决策边界。 ```python def plot_boundary(model, X, y): x_min, x_max = X[:, 0].min() - 0.1, X[:, 0].max() + 0.1 y_min, y_max = X[:, 1].min() - 0.1, X[:, 1].max() + 0.1 xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.01), np.arange(y_min, y_max, 0.01)) Z = model.predict(np.c_[xx.ravel(), yy.ravel()]).reshape(xx.shape) plt.contourf(xx, yy, Z, alpha=0.3) plt.scatter(X[:, 0], X[:, 1], c=y, alpha=0.8) plt.xlabel('Sepal length') plt.ylabel('Sepal width') plt.title('Decision boundary') plt.figure(figsize=(12, 4)) plt.subplot(1, 3, 1) plot_boundary(ovr_model, X_train[:, :2], y_train) plt.title('One-vs-Rest (train acc: {:.2f})'.format(ovr_acc)) plt.subplot(1, 3, 2) plot_boundary(multinomial_model, X_train[:, :2], y_train) plt.title('Multinomial (train acc: {:.2f})'.format(multinomial_acc)) plt.subplot(1, 3, 3) plot_boundary(auto_model, X_train[:, :2], y_train) plt.title('Auto (train acc: {:.2f})'.format(auto_acc)) plt.tight_layout() plt.show() ``` 6. 结果对比 我们可以将三个模型的测试准确率和决策边界可视化结果进行对比。 ```python print('One-vs-Rest test accuracy: {:.2f}'.format(ovr_acc)) print('Multinomial test accuracy: {:.2f}'.format(multinomial_acc)) print('Auto test accuracy: {:.2f}'.format(auto_acc)) plt.figure(figsize=(12, 4)) plt.subplot(1, 3, 1) plot_boundary(ovr_model, X_test[:, :2], y_test) plt.title('One-vs-Rest (test acc: {:.2f})'.format(ovr_acc)) plt.subplot(1, 3, 2) plot_boundary(multinomial_model, X_test[:, :2], y_test) plt.title('Multinomial (test acc: {:.2f})'.format(multinomial_acc)) plt.subplot(1, 3, 3) plot_boundary(auto_model, X_test[:, :2], y_test) plt.title('Auto (test acc: {:.2f})'.format(auto_acc)) plt.tight_layout() plt.show() ``` 运行以上代码,即可得到对应的结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值