load_iris() reads a csv file, and then retrieves/sets some other info
like the feature names and a description of the dataset (which comes
from another file)
Then it packs everything into a Bunch object which is basically a fancy
dict:
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/__init__.py#L63
You can take inspiration from the source code
(https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/_base.py#L396)
if you want to replicate what fetch_xxx() does, but you do not need a
Bunch at all to follow the PCA article that you mentioned. As previously
noted, you just need to understand what each piece is doing at a high
level and slightly modify the input to the functions according to your
needs.
On 11/8/20 2:19 PM, Mahmood Naderan wrote:
>You need to understand what the different statements are doing; just
>as you need to understand what processing you apply on your data
>(whether it's preprocessing or learning) to properly use any machine
>learning tool.
I know, but the problem is that the csv file of the iris doesn't have
such information and as I said, I think there are some additional
steps that I don't know exactly what they are.
For example, if you look at
~/.local/lib/python3.6/site-packages/sklearn/datasets/data/iris.csv
you will see
150,4,setosa,versicolor,virginica
5.1,3.5,1.4,0.2,0
4.9,3.0,1.4,0.2,0
...
So, the first line means 150 instances (rows) with 4 columns and three
iris types.
However, when I use
iris = load_iris()
print(iris)
I see a lot of metadata, such as:
{'data': array([[5.1, 3.5, 1.4, 0.2],
[4.9, 3. , 1.4, 0.2],
...
[5.9, 3. , 5.1, 1.8]]), 'target': array([0, 0,...]), 'frame':
None, 'target_names': array(['setosa', 'versicolor', 'virginica'],
dtype='<U10'), 'DESCR': '.. _iris_dataset:\n\nIris plants
dataset\n--------------------\n\n**Data Set Characteristics:**\n\n
:Number of Instances: 150 (50 in each of three classes)\n :Number
of Attributes: 4 numeric, predictive attributes and the class\n
:Attribute Information:\n - sepal length in cm\n -
sepal width in cm\n - petal length in cm\n - petal width
in cm\n - class:\n - Iris-Setosa\n
- Iris-Versicolour\n - Iris-Virginica\n \n
The question is how these metadata are created and stored in this package?
I mean, what does
from sklearn.datasets import load_iris
do with the csv file? If I know, then I am also able to create a
similar dataset.
Regards,
Mahmood
_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn
_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn