Please help me resolve the error that occurred

below is the application

below is the code
url = (“https://raw.githubusercontent.com/Ahmad08017928/app_dataset_smk.github.io/main/dataset/data.csv”)
df = pd.read_csv(url)
#Mengisi data yang kosong dengan nilai yang sebelumnya
df1 = df.drop([‘Timestamp’, ‘14. Orangtua saya menunjukkan bagaimana menggunakan kelebihan saya pada berbagai situasi yang berbeda.’], axis=‘columns’)
data = df1.copy()
data[[‘NAMA LENGKAP’, ‘JENIS KELAMIN’, ‘KELAS’,
‘INFORMASI TENTANG ORANG TUA ANDA’,
‘APAKAH SAAT INI ANDA YATIM PIATU?’,
‘SAAT INI ANDA DIASUH OLEH SIAPA? ‘,
‘1. Orangtua saya memahami kelebihan-kelebihan saya (kepribadian’,
’ kemampuan’, ’ bakat dan keterampilan).’,
‘2. Orangtua saya tidak mengetahui kelebihan-kelebihan saya.’,
‘3. Orangtua saya mengetahui kemampuan terbaik saya.’,
‘4. Orangtua saya menyadari kelebihan-kelebihan saya.’,
‘5. Orang tua saya mengetahui hal-hal yang bisa saya lakukan dengan baik.’,
‘6. Orangtua saya mengetahui dengan baik kelebihan-kelebihan saya.’,
‘7. Orangtua saya memahami kemampuan terbaik saya.’,
‘8. Orangtua saya memberi kesempatan untuk secara rutin melakukan hal terbaik yang bisa saya lakukan.’,
‘9. Orangtua mendorong saya untuk selalu menggunakan kelebihan-kelebihan saya.’,
‘10. Orangtua saya mendorong untuk melakukan hal yang saya kuasai dengan baik.’,
‘11. Orangtua saya menyarankan agar saya memanfaatkan kelebihan-kelebihan saya.’,
‘12. Orangtua saya memberi banyak kesempatan untuk menggunakan kelebihan-kelebihan saya.’,
‘13. Orangtua saya membantu saya memikirkan cara menggunakan kelebihan-kelebihan saya.’]] = data[[‘NAMA LENGKAP’, ‘JENIS KELAMIN’, ‘KELAS’,
‘INFORMASI TENTANG ORANG TUA ANDA’,
‘APAKAH SAAT INI ANDA YATIM PIATU?’,
‘SAAT INI ANDA DIASUH OLEH SIAPA? ‘,
‘1. Orangtua saya memahami kelebihan-kelebihan saya (kepribadian’,
’ kemampuan’, ’ bakat dan keterampilan).’,
‘2. Orangtua saya tidak mengetahui kelebihan-kelebihan saya.’,
‘3. Orangtua saya mengetahui kemampuan terbaik saya.’,
‘4. Orangtua saya menyadari kelebihan-kelebihan saya.’,
‘5. Orang tua saya mengetahui hal-hal yang bisa saya lakukan dengan baik.’,
‘6. Orangtua saya mengetahui dengan baik kelebihan-kelebihan saya.’,
‘7. Orangtua saya memahami kemampuan terbaik saya.’,
‘8. Orangtua saya memberi kesempatan untuk secara rutin melakukan hal terbaik yang bisa saya lakukan.’,
‘9. Orangtua mendorong saya untuk selalu menggunakan kelebihan-kelebihan saya.’,
‘10. Orangtua saya mendorong untuk melakukan hal yang saya kuasai dengan baik.’,
‘11. Orangtua saya menyarankan agar saya memanfaatkan kelebihan-kelebihan saya.’,
‘12. Orangtua saya memberi banyak kesempatan untuk menggunakan kelebihan-kelebihan saya.’,
‘13. Orangtua saya membantu saya memikirkan cara menggunakan kelebihan-kelebihan saya.’]].fillna(method=‘pad’)
unik = data[‘3. Orangtua saya mengetahui kemampuan terbaik saya.’].unique()
counts = data[‘3. Orangtua saya mengetahui kemampuan terbaik saya.’].value_counts().reindex([‘Sesuai’, ‘Tidak Sesuai’, ‘Sangat Sesuai’, ‘Sangat Tidak Sesuai’]).fillna(0).tolist()
# Trasformasi Data
Numerik = LabelEncoder()
x = data.drop([‘NAMA LENGKAP’, ‘SAAT INI ANDA DIASUH OLEH SIAPA? ‘, ‘1. Orangtua saya memahami kelebihan-kelebihan saya (kepribadian’,’ kemampuan’], axis=‘columns’)
y = data[[’ kemampuan’]]

x['JENIS KELAMIN_n'] = Numerik.fit_transform(x['JENIS KELAMIN'])
x['INFORMASI TENTANG ORANG TUA ANDA_n'] = Numerik.fit_transform(x['INFORMASI TENTANG ORANG TUA ANDA'])
x['APAKAH SAAT INI ANDA YATIM PIATU?_n'] = Numerik.fit_transform(x['APAKAH SAAT INI ANDA YATIM PIATU?'])
# x['SAAT INI ANDA DIASUH OLEH SIAPA?_n'] = Numerik.fit_transform(x['SAAT INI ANDA DIASUH OLEH SIAPA? '])
x['bakat dan keterampilan_n'] = Numerik.fit_transform(x[' bakat dan keterampilan).'])
x['2. Orangtua saya tidak mengetahui kelebihan-kelebihan saya._n'] = Numerik.fit_transform(x['2. Orangtua saya tidak mengetahui kelebihan-kelebihan saya.'])
x['3. Orangtua saya mengetahui kemampuan terbaik saya._n'] = Numerik.fit_transform(x['3. Orangtua saya mengetahui kemampuan terbaik saya.'])
x['4. Orangtua saya menyadari kelebihan-kelebihan saya._n'] = Numerik.fit_transform(x['4. Orangtua saya menyadari kelebihan-kelebihan saya.'])
x['5. Orang tua saya mengetahui hal-hal yang bisa saya lakukan dengan baik._n'] = Numerik.fit_transform(x['5. Orang tua saya mengetahui hal-hal yang bisa saya lakukan dengan baik.'])
x['6. Orangtua saya mengetahui dengan baik kelebihan-kelebihan saya._n'] = Numerik.fit_transform(x['5. Orang tua saya mengetahui hal-hal yang bisa saya lakukan dengan baik.'])
x['7. Orangtua saya memahami kemampuan terbaik saya._n'] = Numerik.fit_transform(x['7. Orangtua saya memahami kemampuan terbaik saya.'])
x['8. Orangtua saya memberi kesempatan untuk secara rutin melakukan hal terbaik yang bisa saya lakukan._n'] = Numerik.fit_transform(x['8. Orangtua saya memberi kesempatan untuk secara rutin melakukan hal terbaik yang bisa saya lakukan.'])
x['9. Orangtua mendorong saya untuk selalu menggunakan kelebihan-kelebihan saya._n'] = Numerik.fit_transform(x['9. Orangtua mendorong saya untuk selalu menggunakan kelebihan-kelebihan saya.'])
x['10. Orangtua saya mendorong untuk melakukan hal yang saya kuasai dengan baik._n'] = Numerik.fit_transform(x['10. Orangtua saya mendorong untuk melakukan hal yang saya kuasai dengan baik.'])
x['11. Orangtua saya menyarankan agar saya memanfaatkan kelebihan-kelebihan saya._n'] = Numerik.fit_transform(x['11. Orangtua saya menyarankan agar saya memanfaatkan kelebihan-kelebihan saya.'])
x['12. Orangtua saya memberi banyak kesempatan untuk menggunakan kelebihan-kelebihan saya._n'] = Numerik.fit_transform(x['12. Orangtua saya memberi banyak kesempatan untuk menggunakan kelebihan-kelebihan saya.'])
x['13. Orangtua saya membantu saya memikirkan cara menggunakan kelebihan-kelebihan saya._n'] = Numerik.fit_transform(x['13. Orangtua saya membantu saya memikirkan cara menggunakan kelebihan-kelebihan saya.'])
y['kemampuan_n'] = Numerik.fit_transform(y[' kemampuan'])

x_d = x.drop(['JENIS KELAMIN',
   'INFORMASI TENTANG ORANG TUA ANDA', 'APAKAH SAAT INI ANDA YATIM PIATU?', ' bakat dan keterampilan).',
   '2. Orangtua saya tidak mengetahui kelebihan-kelebihan saya.',
   '3. Orangtua saya mengetahui kemampuan terbaik saya.',
   '4. Orangtua saya menyadari kelebihan-kelebihan saya.',
   '5. Orang tua saya mengetahui hal-hal yang bisa saya lakukan dengan baik.',
   '6. Orangtua saya mengetahui dengan baik kelebihan-kelebihan saya.',
   '7. Orangtua saya memahami kemampuan terbaik saya.',
   '8. Orangtua saya memberi kesempatan untuk secara rutin melakukan hal terbaik yang bisa saya lakukan.',
   '9. Orangtua mendorong saya untuk selalu menggunakan kelebihan-kelebihan saya.',
   '10. Orangtua saya mendorong untuk melakukan hal yang saya kuasai dengan baik.',
   '11. Orangtua saya menyarankan agar saya memanfaatkan kelebihan-kelebihan saya.',
   '12. Orangtua saya memberi banyak kesempatan untuk menggunakan kelebihan-kelebihan saya.',
   '13. Orangtua saya membantu saya memikirkan cara menggunakan kelebihan-kelebihan saya.'], axis='columns')
y_d = y.drop(" kemampuan", axis='columns')

# training 75 persen dan testing 25 persen
x_train, x_test, y_train, y_test = train_test_split(x_d, y_d, test_size=0.25, random_state=500)

# Classification knn
classification = KNeighborsClassifier(n_neighbors=5, metric='minkowski', p=2)
classification.fit(x_train, y_train)

#classification svm
clf = SVC(kernel='linear', probability=True)
clf.fit(x_train, y_train)

#classification Random Forest
Class_RandomFores = RandomForestClassifier()
Class_RandomFores.fit(x_train, y_train)

Nama = st.text_input("Nama")
jk   = st.radio('jenis Kelamin', options=("laki laki", "perempuan"))
kelas= st.radio('Kelas', options=("X", "XI", "XII"))
status_orang_tua = st.radio('Status orang tua', options =('ORANG TUA LENGKAP', 'CERAI HIDUP', 'CERAI MATI'))
status_yatim_piatu = st.radio('Status yatim piatu', options=('TIDAK', 'PIATU', 'YATIM', 'YATIM PIATU'))
# status_asuh = st.radio('Status Asuh', options=('KEDUA ORANG TUA SAYA MASIH HIDUP', 'ORANG TUA KANDUNG',
#    'KAKEK-NENEK', 'SAUDARA KANDUNG', 'PAK DHE-BU DHE', 'LAINNYA'))
Status_1 = st.radio('Apakah Orang tua anda mengetahui bakat dan keterampilan anda ?', options=('Sesuai', 'Sangat Tidak Sesuai', 'Tidak Sesuai', 'Sangat Sesuai'))
Status_2 = st.radio('Apakah Orang tua anda tidak mengetahui kelebihan kelebihan anda ?', options=('Sesuai', 'Tidak Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai'))
Status_3 = st.radio('Apakah Orang tua anda mengetahui kemampuan terbaik anda ? ', options=('Sesuai', 'Tidak Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai'))
Status_4 = st.radio('Apakah Orang tua anda menyadari kelebihan kelebihan anda ?', options=('Sesuai', 'Sangat Sesuai', 'Tidak Sesuai', 'Sangat Tidak Sesuai'))
Status_5 = st.radio('Apakah Orang tua anda mengetahui hal yang bisa anda lakukan ?', options=('Sesuai', 'Tidak Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai'))
Status_6 = st.radio('Apakah Orang tua anda mengetahui dengan baik kelebihan anda ?', options=('Sesuai', 'Tidak Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai'))
Status_7 = st.radio('Apakah Orang tua anda memahami kemampuan terbaik anda ?', options=('Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai', 'Tidak Sesuai'))
Status_8 = st.radio('Apakah orang tua anda memberikan kesempatan pada anda untuk melakukan hal terbaik yang bisa anda lakukan ? ', options=('Sesuai', 'Tidak Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai'))
Status_9 = st.radio('Apakah orang tua anda mendorong anda untuk selalu menggunakan kelebihan anda ?', options=('Sesuai', 'Sangat Sesuai', 'Tidak Sesuai', 'Sangat Tidak Sesuai'))
Status_10 = st.radio('Apakah orang tua anda mendorong anda untuk melakukan hal yang anda kuasai dengan baik ?', options=('Sesuai', 'Sangat Sesuai', 'Tidak Sesuai', 'Sangat Tidak Sesuai'))
Status_11 = st.radio('Apakah orang tua anda menyarankan anda agar memanfaatkan kelebihan kelebihan anda ? ', options=('Sesuai', 'Tidak Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai'))
Status_12 = st.radio('Apakah orang tua anda memberikan anda kesempatan untuk menggunakan kelebihan anda ?', options=('Sesuai', 'Tidak Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai'))
Status_13 = st.radio('Apakah orang tua anda membantu anda memikirkan cara untuk menggunakan kelebihan anda ?', options=('Sesuai', 'Tidak Sesuai', 'Sangat Sesuai', 'Sangat Tidak Sesuai'))

if st.button('Klassifikasi'):
    mybar = st.progress(0)
    jk = 0 if jk == 'laki laki' else 1
    # kelas = 0
    if kelas == 'X':
        kelas = 0
    elif kelas == 'XI':
        kelas == 1
    elif kelas == 'XII':
        kelas = 2
    
    # status_orang_tua == 0
    if status_orang_tua == 'ORANG TUA LENGKAP':
        status_orang_tua = 2
    elif status_orang_tua == 'CERAI HIDUP':
        status_orang_tua = 0
    elif status_orang_tua == 'CERAI MATI':
        status_orang_tua == 1
    
    # status_yatim_piatu == 0
    if status_yatim_piatu == 'TIDAK':
        status_yatim_piatu = 1
    elif status_yatim_piatu == 'YATIM':
        status_yatim_piatu = 2
    elif status_yatim_piatu == 'YATIM PIATU':
        status_yatim_piatu = 3
    elif status_yatim_piatu == 'PIATU':
        status_yatim_piatu = 0
    
    
    # if status_asuh == 'ORANG TUA KANDUNG':
    #     status_asuh = 3
    # elif status_asuh == 'KAKEK-NENEK':
    #     status_asuh = 1
    # elif status_asuh == 'SAUDARA KANDUNG':
    #     status_asuh = 5
    # elif status_asuh == 'PAK DHE-BU DHE':
    #     status_asuh = 4
    # elif status_asuh == 'LAINNYA':
    #     status_asuh = 2
    # elif status_asuh == 'KEDUA ORANG TUA SAYA MASIH HIDUP':
    #     status_asuh == 0
        
    if Status_1 == 'Sesuai':
        Status_1 = 2
    elif Status_1 == 'Sangat Tidak Sesuai':
        Status_1 = 1
    elif Status_1 == 'Tidak Sesuai':
        Status_1 = 3
    elif Status_1 == "Sangat Sesuai":
        Status_1 = 0
    
    if Status_2 == 'Sesuai':
        Status_2 = 2
    elif Status_2 == 'Tidak Sesuai':
        Status_2 = 3
    elif Status_2 == 'Sangat Tidak Sesuai':
        Status_2 = 1
    elif Status_2 == 'Sangat Sesuai':
        Status_2 = 0
    
    if Status_3 == 'Sesuai':
        Status_3 = 2
    elif Status_3 == 'Tidak Sesuai':
        Status_3 = 3
    elif Status_3 == 'Sangat Tidak Sesuai':
        Status_3 == 1
    elif Status_3 == 'Sangat Sesuai':
        Status_3 = 0
    
    if Status_4 == 'Sesuai':
        Status_4 = 2
    elif Status_4 == 'Tidak Sesuai':
        Status_4 = 3
    elif Status_4 == 'Sangat Sesuai':
        Status_4 = 1
    elif Status_4 == 'Sangat Tidak Sesuai':
        Status_4 = 0
    
    if Status_5 == 'Sesuai':
        Status_5 = 2
    elif Status_5 == 'Tidak Sesuai':
        Status_5 = 3
    elif Status_5 == 'Sangat Tidak Sesuai':
        Status_5 = 1
    elif Status_5 == 'Sangat Sesuai':
        Status_5 = 0
    
    if Status_6 == 'Sesuai':
        Status_6 = 2
    elif Status_6 == 'Tidak Sesuai':
        Status_6 = 3
    elif Status_6 == 'Sangat Tidak Sesuai':
        Status_6 = 1
    elif Status_6 == 'Sangat Sesuai':
        Status_6 = 0
    
    if Status_7 == 'Sesuai':
        Status_7 = 2
    elif Status_7 == 'Tidak Sesuai':
        Status_7 = 3
    elif Status_7 == 'Sangat Tidak Sesuai':
        Status_7 = 1
    elif Status_7 == 'Sangat Sesuai':
        Status_7 = 0
        
    if Status_8 == 'Sesuai':
        Status_8 = 2
    elif Status_8 == 'Tidak Sesuai':
        Status_8 = 3
    elif Status_8 == 'Sangat Tidak Sesuai':
        Status_8 = 1
    elif Status_8 == 'Sangat Sesuai':
        Status_8 = 0
    
    if Status_9 == 'Sesuai':
        Status_9 = 2
    elif Status_9 == 'Tidak Sesuai':
        Status_9 = 3
    elif Status_9 == 'Sangat Tidak Sesuai':
        Status_9 = 1
    elif Status_9 == 'Sangat Sesuai':
        Status_9 = 0
    
    if Status_10 == 'Sesuai':
        Status_10 = 2
    elif Status_10 == 'Tidak Sesuai':
        Status_10 = 3
    elif Status_10 == 'Sangat Tidak Sesuai':
        Status_10 = 1
    elif Status_10 == 'Sangat Sesuai':
        Status_10 = 0
        
    if Status_11 == 'Sesuai':
        Status_11 = 2
    elif Status_11 == 'Tidak Sesuai':
        Status_11 = 3
    elif Status_11 == 'Sangat Tidak Sesuai':
        Status_11 = 1
    elif Status_11 == 'Sangat Sesuai':
        Status_11 = 0
        
    if Status_12 == 'Sesuai':
        Status_12 = 2
    elif Status_12 == 'Tidak Sesuai':
        Status_12 = 3
    elif Status_12 == 'Sangat Tidak Sesuai':
        Status_12 = 1
    elif Status_12 == 'Sangat Sesuai':
        Status_12 = 0
        
    if Status_13 == 'Sesuai':
        Status_13 = 2
    elif Status_13 == 'Tidak Sesuai':
        Status_13 = 3
    elif Status_13 == 'Sangat Tidak Sesuai':
        Status_13 = 1
    elif Status_13 == 'Sangat Sesuai':
        Status_13 = 0
    
    tes = [[jk, kelas, status_orang_tua, status_yatim_piatu, Status_1, Status_2, Status_3, Status_4, Status_5, Status_6, Status_7, Status_8, Status_9, Status_10, Status_11, Status_12, Status_13]]
    
    hasil_knn = classification.predict(tes)
    akurasi_knn = classification.predict_proba(tes)
    hasil_svm = clf.predict(tes)
    akurasi_svm = clf.predict_proba(tes)
    hasil_RandomForest = Class_RandomFores.predict(tes)
    akurasi_RandomForest = Class_RandomFores.predict_proba(tes)
    
    for persen in range (100):
        # time.sleep(0.01)
        mybar.progress(persen+1)
    
    st.subheader("K-Nearest Neighbor")
    if hasil_knn [0]== 2:
        st.write("Orang tua {} mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, 
        Nama, round(akurasi_knn[0][hasil_knn[0]]*100),3))
    elif hasil_knn == 0:
        st.write("Orang tua {} sangat mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_knn[0][hasil_knn[0]]*100), 3))
    elif hasil_knn == 3 :
        st.write("Orang tua {} tidak mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_knn[0][hasil_knn[0]]*100), 3))
    elif hasil_knn == 1 :
        st.write("Orang tua {} sangat tidak mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_knn[0][hasil_knn[0]]*100), 3))
    
    st.subheader("Support Vector Machine")
    if hasil_svm [0] == 0:
        st.write("Orang tua {} sangat mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_svm[0][hasil_svm[0]]*100), 3))
    elif hasil_svm == 2:
        st.write("Orang tua {} mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_svm[0][hasil_svm[0]]*100), 3))
    elif hasil_svm == 3 :
        st.write("Orang tua {} tidak mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(round(akurasi_svm[0][hasil_svm[0]]*100), 3)))
    elif hasil_svm == 1 :
        st.write("Orang tua {} sangat tidak mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_svm[0][hasil_svm[0]]*100), 3))
        
    st.subheader("Random Forest")
    if hasil_RandomForest [0] == 0:
        st.write("Orang tua {} sangat mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_RandomForest[0][hasil_RandomForest[0]]*100), 3))
    elif hasil_svm == 2:
        st.write("Orang tua {} mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_RandomForest[0][hasil_RandomForest[0]]*100), 3))
    elif hasil_svm == 3 :
        st.write("Orang tua {} tidak mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_RandomForest[0][hasil_RandomForest[0]]*100), 3))
    elif hasil_svm == 1:
        st.write("Orang tua {} sangat tidak mengetahui kemampuan {}, dengan tingkat prediksi {}%".format(Nama, Nama, round(akurasi_RandomForest[0][hasil_RandomForest[0]]*100), 3))

ValueError: dtype=‘numeric’ is not compatible with arrays of bytes/strings.Convert your data to numeric values explicitly instead.

Traceback:

File "D:\program\python\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 535, in _run_script
    exec(code, module.__dict__)File "D:\app_pengelolaan_data\Data_Kelebihan.py", line 536, in <module>
    hasil_knn = classification.predict(tes)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^File "D:\program\python\Lib\site-packages\sklearn\neighbors\_classification.py", line 271, in predict
    neigh_ind = self.kneighbors(X, return_distance=False)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "D:\program\python\Lib\site-packages\sklearn\neighbors\_base.py", line 826, in kneighbors
    X = self._validate_data(X, accept_sparse="csr", reset=False, order="C")
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "D:\program\python\Lib\site-packages\sklearn\base.py", line 633, in _validate_data
    out = check_array(X, input_name="X", **check_params)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "D:\program\python\Lib\site-packages\sklearn\utils\validation.py", line 1038, in check_array
    raise ValueError(

version
Python 3.12.2
Streamlit, version 1.31.1

Hi @what

It seems that your knn model has an incompatible data type. I would recommend to look into this by considering the data type at each step of your model building process and see the data type that the model is expecting and then seeing whether the input data has the appropriate data type. This can be by using type(name_of_your_variable) and if it is not the expected data type then you can make the proper data type conversion.

This may require several iteration of the code line by line, which may be easier to debug in a Jupyter notebook.

Hope this helps!

I have checked the data types, all of them are of type int, including input and output variables. and I have tried it in Jupyter notebook and there are no problems. but when I tried it on streamlit there was an error even though on the notebook there was no error. Please help

Hi @what

As recommended per the forum’s guidelines, it is helpful if you can create a minimum reproducible example app that shows the error. As the app has many moving components, it is difficult for other members in the community to inspect the full app in its entirety in finding out the problem.

By creating a minimum reproducible example app, it will allow others to help debug the issue faster.

As your error is pointing out that there is a data type issue, there may be issues with:

Thus, could you create a minimum reproducible app that builts the model and uses the trained model on the test data stored in tes variable.

Thanks

You can see a simple app model using the github link below with the file name app.py

That code doesn’t raise any errors for me.

In my case the app was having problems with the description

"
False

False

ValueError: dtype=‘numeric’ is not compatible with arrays of bytes/strings. Convert your data to numeric values explicitly instead.
Traceback:
File “D:\program\python\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py”, line 535, in _run_script
exec(code, module.dict)
File “D:\tes\app.py”, line 282, in
result_knn = classification.predict(test)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “D:\program\python\Lib\site-packages\sklearn\neighbors_classification.py”, line 271, in predict
neighbors_ind = self. neighbors(X, return_distance=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “D:\program\python\Lib\site-packages\sklearn\neighbors_base.py”, line 826, in neighbor
X = self._validate_data(X, accept_sparse=“csr”, reset=False, order=“C”)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
File “D:\program\python\Lib\site-packages\sklearn\base.py”, line 633, in _validate_data
out = check_array(X, input_name=“X”, **check_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “D:\program\python\Lib\site-packages\sklearn\utils\validation.py”, line 1038, in check_array
raise ValueError(
"