使用 plt 散点图绘制图形(仅显示 4 个点)
Plotting graph using plt scatter ( only show 4 dots)
X=new.iloc[:,:-1]
y =new.iloc[:,29]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=10)
machine1 = svm.LinearSVC()
machine1.fit(X_train,y_train)
y_pred = machine1.predict(X_test)
plt.axis("off");
plt.scatter(y_test,y_pred)
我试图在两个 类 之间进行预测,当我尝试绘制图形时,我在绘制图形上只得到 4 个点,任何人都知道我的代码有什么问题?
和我的火车和测试形状:
火车 (1668, 29) (1668,)
测试 (715, 29) (715,)
我已经打印了 y_pred 并且它显示如下:
[1 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1
0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0
1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1
0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 0 0 1
1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1
0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0
1 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1
0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0
0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0
1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0
0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1
0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1
0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0
0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0
0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0
0 0 1 1 1 0 0 0 1 1 0 0]
结果正确,因为 0 和 1 总共有 4 种可能的组合。
0,0 0,1 1,0 和 1,1 。
没问题
X=new.iloc[:,:-1]
y =new.iloc[:,29]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=10)
machine1 = svm.LinearSVC()
machine1.fit(X_train,y_train)
y_pred = machine1.predict(X_test)
plt.axis("off");
plt.scatter(y_test,y_pred)
我试图在两个 类 之间进行预测,当我尝试绘制图形时,我在绘制图形上只得到 4 个点,任何人都知道我的代码有什么问题? 和我的火车和测试形状: 火车 (1668, 29) (1668,) 测试 (715, 29) (715,) 我已经打印了 y_pred 并且它显示如下: [1 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0]
结果正确,因为 0 和 1 总共有 4 种可能的组合。 0,0 0,1 1,0 和 1,1 。 没问题