python - 机器学习 Python Traceback 错误
问题描述
我试图在 Python 中学习机器学习,我运行我的代码来尝试获取数据集。我正在关注一个教程。这是我目前的代码。这也是我第一次接触 Pandas,所以我在这个主题上可能不是最好的,但我一直在寻找新的东西。
# Machine Learning
# Tutorial By machinelearningmastery.com
# Modules
from pandas import read_csv
from pandas.plotting import scatter_matrix
from matplotlib import pyplot
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
# Load dataset
url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']
dataset = read_csv(url, names=names)
# shape
print(dataset.shape)
# head
print(dataset.head(20))
上面的代码再次出现在教程中。
这是终端中的错误。我正在使用 python 3.8.2 和 Iterm 作为终端。
Traceback (most recent call last):
File "machinelearning.py", line 25, in <module>
dataset = read_csv(url, names=names)
File "/Users/tylercritchlow/python-virtual-environments/env/lib/python3.8/site-packages/pandas/io/parsers.py", line 676, in parser_f
return _read(filepath_or_buffer, kwds)
File "/Users/tylercritchlow/python-virtual-environments/env/lib/python3.8/site-packages/pandas/io/parsers.py", line 430, in _read
fp_or_buf, _, compression, should_close = get_filepath_or_buffer(
File "/Users/tylercritchlow/python-virtual-environments/env/lib/python3.8/site-packages/pandas/io/common.py", line 172, in get_filepath_or_buffer
req = urlopen(filepath_or_buffer)
File "/Users/tylercritchlow/python-virtual-environments/env/lib/python3.8/site-packages/pandas/io/common.py", line 141, in urlopen
return urllib.request.urlopen(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 525, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 542, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 502, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 1362, in https_open
return self.do_open(http.client.HTTPSConnection, req,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 1322, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)>
我在虚拟环境中运行代码。这些是我的模块的版本。
Python:3.8.2(v3.8.2:7b3ab5921f,2020 年 2 月 24 日,17:52:18)[Clang 6.0(clang-600.0.57)] scipy:1.4.1 numpy:1.18.3 matplotlib:3.2.1 pandas: 1.0.3
解决方案
尝试从该 url 获取数据时出现 SSL 证书错误。
评论下的代码#load dataset
是问题所在。为了继续您的教程,您可以通过以下方式获取 iris 数据集。
import pandas as pd
from sklearn.datasets import load_iris
#load dataset
dataset = load_iris()
dataset = pd.DataFrame(dataset['data'],columns=['sepal length','sepal width','petal Length','petal width'])
dataset['Species']=dataset['target']
# shape
print(dataset.shape)
# head
print(dataset.head(20))
推荐阅读
- r - 使用函数扩展但得到不同的答案
- typescript - 如何在 vue-class 中为 v-model 使用计算属性?
- android - Android如何每25毫秒运行一次线程?
- php - 如何使用 Wordpress functions.php 中的高级自定义字段使脚本入队和出队?
- julia - 从数字数组中获取一个数字
- c# - FakeXRMEasy:使用 AddFakeMessageExecutor 覆盖更新请求行为
- php - 在 PHP 中向 RESTlet 发送 GET 请求时 NetSuite “INVALID_LOGIN 错误”
- php - 在处理付款之前从 Woocommerce 中的运输字段设置一些计费数据
- c# - 将实例元素添加到实例化的父级
- javascript - 如何访问选定的元素,例如来自 rss 提要的标题、描述、日期?