我试图做一个机器学习算法使用k-最近邻来训练程序。我有一个列车数据和一个测试数据,这是两个独立的csv文档,但大多数机器学习算法都是列车测试拆分方法,这不是我需要的,因为列车测试拆分是在一个文档上进行培训和测试,但我在一个文档上进行培训,在一个文档上进行测试,所以我一直在学习如何使用训练数据和测试数据进行训练和测试。
下面是我从网上参考的一组代码。它不显示错误,但也没有结果。有人能告诉我下面的python代码是否正确吗?有人知道k近邻机器学习算法的确切正确代码吗?
https://archive.ics.uci.edu/ml/datasets/Parkinson语音数据集与多种类型的声音录制
#K-近邻
从sklearn。邻居导入Kneighbors分类器
作为pd进口熊猫
从sklearn。型号选择导入列车测试拆分
从sklearn.preprocessing导入Standard Scaler
从sklearn.metrics进口confusion_matrix
从sklearn。指标导入f1_分数
从sklearn。指标导入准确性评分
从sklearn.datasets进口load_iris
导入指标
从sklearn。型号选择导入列车测试拆分
从sklearn.preprocessing导入Standard Scaler
iris=加载_iris()
X=iris.data
Y=iris.target
iris.data='train_data.csv'
艾里斯。目标='测试数据。csv'
knn=Kneighbors分类器(n_=5)
knn.fit(X, y)
y_pred=knn。预测(X)
打印(度量、准确性和分数(y、y、pred))
plt。show()
在这段代码中有一些不正确的地方。
>
导入matplolib.pyplot
此外,为了预测测试集上的Y值,你必须使用测试集X值而不是训练集X值;
此外,您必须在X_Tr(训练集)和X_Te(测试集)中分割X,类似地,您必须在两个列表中分离Y值:YTr(训练集)和YTe(测试集)。我希望我有帮助。
选择括号将您的代码或使用3 this'在开始和结束的代码,
现在问题本身
1-使用pandas导入两个csv文件。csv_读取(“/direction/to/it”)
2-将它们合并在一起
为了合并它们,您可以使用熊猫功能,如以下示例:
df1 = pd.DataFrame({"col1": [0, 1], "col_left": ["a", "b"]})
df2 = pd.DataFrame({"col1": [1, 2, 2], "col_right": [2, 2, 2]})
pd.merge(df1, df2, on="col1", how="outer", indicator=True)
col1 col_left col_right _merge
0 0 a NaN left_only
1 1 b 2.0 both
2 2 NaN 2.0 right_only
3 2 NaN 2.0 right_only
现在使用df.iloc["what_you_wish"]
并输入train_test_split
然而,另一种方法是生成随机索引,而不是使用<代码> TraceTestSypult,但请记住,您也应该考虑类,否则会有不标准的数据分离。