previous question'a çok benzer bir şey yapmaya çalışıyorum ancak hatayla karşılaşıyorum.Dize dizisini (kategori) bir pandalar veri kümesinden int dizisine dönüştürme
import pandas
import milk
from scikits.statsmodels.tools import categorical
sonra var:
trainedData=bigdata[bigdata['meta']<15]
untrained=bigdata[bigdata['meta']>=15]
#print trainedData
#extract two columns from trainedData
#convert to numpy array
features=trainedData.ix[:,['ratio','area']].as_matrix(['ratio','area'])
un_features=untrained.ix[:,['ratio','area']].as_matrix(['ratio','area'])
print 'features'
print features[:5]
##label is a string:single, touching,nuclei,dust
print 'labels'
labels=trainedData.ix[:,['type']].as_matrix(['type'])
print labels[:5]
#convert single to 0, touching to 1, nuclei to 2, dusts to 3
#
tmp=categorical(labels,drop=True)
targets=categorical(labels,drop=True).argmax(1)
print targets
çıkış Ben bir makine öğrenme nesnesine özellikler ve etiket değişkeni göndermek için bazı çevirim yapmayı yapmanız gereken özellikler ve etiketi içeren pandalar dataframe var konsol ilk verir:
:features
[[ 0.38846334 0.97681855]
[ 3.8318634 0.5724734 ]
[ 0.67710876 1.01816444]
[ 1.12024943 0.91508699]
[ 7.51749674 1.00156707]]
labels
[[single]
[touching]
[single]
[single]
[nuclei]]
sonra aşağıdaki hatayı karşılamak
Traceback (most recent call last):
File "/home/claire/Applications/ProjetPython/projet particule et objet/karyotyper/DAPI-Trainer02-MILK.py", line 83, in <module>
tmp=categorical(labels,drop=True)
File "/usr/local/lib/python2.6/dist-packages/scikits.statsmodels-0.3.0rc1-py2.6.egg/scikits/statsmodels/tools/tools.py", line 206, in categorical
tmp_dummy = (tmp_arr[:,None]==data).astype(float)
AttributeError: 'bool' object has no attribute 'astype'
Veri türü içindeki 'type' kategori değişkenini int? 'type', 'single', 'touch', 'nuclei', 'dusts' değerlerini alabilir ve 0, 1, 2, 3 gibi int değerleriyle dönüştürmem gerekir.
Bu yazı yapıldıktan sonra Faktör sınıfı değiştirildiğini düşünüyorum. Gönderdiğiniz kodu çalıştırmaya çalıştığımda, Faktör'ün 3 argüman beklediğini ve 2 mesajın verildiğini belirten bir hata alıyorum. Faktör belgelerine bakıldığında, kurucunun beklediği şey şöyledir: {{{Faktör (öz, etiketler, seviyeler, isim = Hiçbiri)}}}. Gönderinizden, etiketlerin ve seviyelerin otomatik olarak serilerden hesaplandığını varsaydım, ancak Factor'un bunların Faktör'e geçmesini beklediği görülüyor. – CadentOrange
Faktör, paganlarda kategorik olarak yeniden adlandırıldı 0.8.0 (6/2012) – smci