Загрузка набора данных SKLearn 20_newsgroups в Pandas DataFrame - PullRequest
0 голосов
/ 04 апреля 2019

Python : я пытаюсь загрузить набор данных sklearn.20_newsgroups sklearn.utils.Bunch в панд фрейм данных.

Я скачал наборы данных по ссылке ниже

categories = ["alt.atheism", "alt.atheism" ,"comp.os.ms-windows.misc" , "comp.sys.ibm.pc.hardware",
                "comp.sys.mac.hardware" , "comp.windows.x","misc.forsale", "rec.autos","rec.motorcycles",
                "rec.sport.baseball","rec.sport.hockey", "sci.crypt","sci.electronics", "sci.med","sci.space",
                "soc.religion.christian","talk.politics.guns" ,"talk.politics.mideast","talk.politics.misc" ,"talk.religion.misc"]

docs_to_train = sklearn.datasets.load_files("/home/Documents03-04-2019/dataset/20_newsgroups", 
                                      description    = None, 
                                      categories     = categories,
                                      load_content   = True,
                                      encoding       = 'ISO-8859-1',
                                      shuffle        = True,
                                      random_state   = 42)

The below code I treid.

docs_to_train.keys()
data1           = pd.DataFrame(docs_to_train.data, columns=docs_to_train.target_names])
data1['Target'] = pd.Series(data1=docs_to_train.target, index=data1.index)

Желаемый выход Я запустил приведенный ниже подобный код, он работает аналогично, мне нужны группы новостей, такие как формат данных.

from sklearn.datasets import load_breast_cancer
data = pd.DataFrame(cancer.data, columns=[cancer.feature_names])
data['Target'] = pd.Series(data=cancer.target, index=data.index)

1 Ответ

1 голос
/ 04 апреля 2019

Некоторые из ваших ключевых слов ссылаются на несвязанный код: вы пишете cancer или data вместо data1, и есть непревзойденный ].

Попробуйте это:

data1 = pd.DataFrame(docs_to_train.data, columns=[docs_to_train.target_names])
data1['Target'] = pd.Series(data=docs_to_train.target, index=data1.index)

Если это не сработает, попробуйте это вместо второй строки:

data1['Target'] = pd.Series(data=docs_to_train.target)
...