来自 GitHub 的手语手套项目:帮助理解代码

Sign Language Glove project from GitHub: Help in understanding code

我是 Python 的新手,我正在尝试用我自己的硬件复制这个手语手套项目 heree,作为机器学习的第一次练习。我已经可以从我的加速度计中将数据写入 CSV 文件,但我无法理解该过程。名为 'modeling' 的文件让我感到困惑。谁能帮助我了解正在发生的过程?

import numpy as np
from sklearn import svm
from sklearn import tree
from sklearn.ensemble import RandomForestClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix

import pandas as pd
df= pd.read_csv("final.csv") ##This I understand. I've successfully created csv files with data


#########################################################################
## These below, I do not.

from sklearn.model_selection import train_test_split
train, test = train_test_split(df, test_size = 0.2)


train_features = train[['F1','F2','F3','F4','F5','X','Y','Z','C1','C2']]
train_label = train.cl

test_features = test[['F1','F2','F3','F4','F5','X','Y','Z','C1','C2']]
test_label = test.cl

## SVM
model = svm.SVC(kernel='linear', gamma=1, C=1)
model.fit(train_features, train_label)
model.score(train_features, train_label)
predicted_svm = model.predict(test_features)
print "svm"
print accuracy_score(test_label, predicted_svm)
cn =confusion_matrix(test_label, predicted_svm)

欢迎来到社区。这看起来是个不错的开始方式。

就像@hilverts_drinking_problem 建议的那样,我建议您查看 sklearn 文档。但这里有一个关于正在发生的事情的快速解释。

训练、测试拆分函数将数据集随机拆分为两个数据集,用于训练和测试。 test_size = 0.2 表示 20% 的数据将在测试集中,其余 80% 在训练中。

接下来的两行只是分离出用于训练的输入(特征)和输出(目标)。接下来两行中的测试相同。

最后,您创建一个 SVM 对象,使用 model.fit 训练模型,并使用 .score 获取其分数。然后,您使用该模型来预测测试集的内容。最后,打印测试集的准确度分数及其混淆矩阵。

如果你需要我clarify/detail什么,请告诉我!